Commit graph

641 commits

Author SHA1 Message Date
Bill Currie
5b590c9301 that seems to have got the type parsing right. (void []) () foo will work
and .float () foo works too
2002-05-22 17:13:52 +00:00
Bill Currie
ddcaef5b0b that didn't work so well :/
back it out for now till I figure out how to get it parsing .float () foo
correctly
2002-05-22 16:38:29 +00:00
Bill Currie
51fbbb7c5c qc-parse.y:
allow complex types for function return values
type.c:
	fix a missing break and an unneeded printout
2002-05-22 16:29:24 +00:00
Bill Currie
3967f5cf95 type.h:
*type_method to type_Method
emit.c:
	support casting between pointers
expr.c:
	support casting between pointers
method.c:
	correct the type for _cmd
	type_method to type_Method.aux_type
qc-lex.l:
	Method type is a poniter to a method
qc-parse.y:
	support , args to messages (not fully implemented yet)
type.c:
	*type_method to type_Method and make type_Method a pointer to a method
2002-05-22 05:03:36 +00:00
Bill Currie
a1fe5efd27 initialize class_Class.super_class iff @keywords are seen (ie, compiling
obj code).
2002-05-22 01:39:07 +00:00
Bill Currie
4697ce281e define Protocol type correctly 2002-05-21 23:38:40 +00:00
Bill Currie
4315707008 class.c:
avoid possible segfault
expr.c:
	correct the return value type checking to handle super classes
2002-05-21 23:29:21 +00:00
Bill Currie
3a99ab8cea trim off the trailing _ from method def names 2002-05-21 23:02:56 +00:00
Bill Currie
2a73235d35 fix some method bugs 2002-05-21 22:51:46 +00:00
Bill Currie
9f06f89d57 write out the module data needed for the obj runtime 2002-05-21 21:28:40 +00:00
Bill Currie
e11e2f3718 SELF -> @self (looks better (IMO:)) and make sure the .self def gets
generatoed and used when @self is seen
2002-05-18 00:30:14 +00:00
Bill Currie
5be384da63 create a `SELF' keyword so the global self entity can be handled sanely.
Not fully implemented yet.
2002-05-17 20:25:46 +00:00
Bill Currie
2c0de5cb3e print out some extra info for function defs 2002-05-17 20:03:59 +00:00
Bill Currie
dc5cd8460e `super' is now a keyword 2002-05-17 19:47:15 +00:00
Bill Currie
451bfbddfe fix a snafu with current_class and get ivar access working properly (cross
fingers:)
2002-05-17 19:35:26 +00:00
Bill Currie
d8c66aef76 don't seg if strct is null 2002-05-17 19:34:40 +00:00
Bill Currie
2e8c18f8b6 handle unimplemented classes a little better (will do for now till I sort
out some sort of resolution for them)
2002-05-17 18:46:11 +00:00
Bill Currie
b1d1159ae2 allow methods to be builtins 2002-05-17 18:35:54 +00:00
Bill Currie
97170e97b5 setup the default visibility properly 2002-05-17 17:58:57 +00:00
Bill Currie
ef9f9cda2f pr_obj.h:
define the class info stuff
expr.h pr_def.c:
	fix a FIXME
class.c expr.c type.c:
	make id ev_pointer.ev_object rather than ev_pointer.ev_class
2002-05-17 17:37:44 +00:00
Bill Currie
6965642030 get ivars working better (need to get rid of self.) and [super ...] now
works.
2002-05-17 06:20:27 +00:00
Bill Currie
91c4039495 add some functionality to qfprogs (globals and strings dumping) 2002-05-16 23:44:53 +00:00
Bill Currie
372c391737 initialize the string hash table with "" 2002-05-16 23:32:25 +00:00
Bill Currie
04d76ce1cf build the method_list struct with the correct type 2002-05-16 23:32:03 +00:00
Bill Currie
7cdbef2b11 make class_def return a correct def 2002-05-16 22:33:11 +00:00
Bill Currie
4908b3cf10 `initialize' the defs for the obj constructs 2002-05-16 21:57:03 +00:00
Bill Currie
eba5e68726 check whether the method is an instance or class method when comparing 2002-05-16 20:48:41 +00:00
Bill Currie
779174cb33 get object pointer assignmets working and some static typing as well 2002-05-16 20:20:23 +00:00
Bill Currie
73f4cb4c03 it seems object info emition works (needs more testing) 2002-05-15 23:24:19 +00:00
Bill Currie
308fa78fc6 lots of obj work 2002-05-15 19:10:23 +00:00
Bill Currie
6a5bbf6f0a memory allocation checking cleanup 2002-05-14 06:37:28 +00:00
Bill Currie
44dcf74627 strip the \n from all(?) of the Sys_Error calls (Sys_Error itself will be
adding \n).
2002-05-14 06:12:29 +00:00
Bill Currie
2c0a20a887 fix the mis-generation of code for state-functions 2002-05-13 20:11:33 +00:00
Bill Currie
91779b04f7 new tool: qfprogs. currently only disassembles progs, but the idea is for it
to become a progs oriented nm, objdump etc
2002-05-13 19:37:36 +00:00
Bill Currie
9b516ff84f mild namespace cleanup 2002-05-11 03:37:36 +00:00
Bill Currie
73e6cf062c implement type encoding 2002-05-10 23:19:57 +00:00
Bill Currie
b418701637 missing ; 2002-05-10 02:11:23 +00:00
Bill Currie
2cd716176a more progress 2002-05-10 00:00:23 +00:00
Bill Currie
f2b8dc7e7e more progress 2002-05-09 20:12:28 +00:00
Bill Currie
55e54bd9f9 move the type and def externs to type.h 2002-05-09 17:11:14 +00:00
Bill Currie
f4fee3d7b2 add id as a type 2002-05-09 06:37:40 +00:00
Bill Currie
961d84e569 clean up of qfcc.h and shuffle around the predefined types 2002-05-09 06:34:48 +00:00
Bill Currie
1b875c8b06 work on getting obj expressions going 2002-05-08 23:12:49 +00:00
Bill Currie
7f47447492 getting closer to emiting ObjQC code 2002-05-08 21:24:24 +00:00
Bill Currie
de86019d4b reverse the param order before building the function type and type check
varargs functions with specified params.
2002-05-08 17:33:28 +00:00
Bill Currie
b03bfa7a6e start working on the code generation for the Obj stuff 2002-05-08 05:55:57 +00:00
Bill Currie
b226d24b52 rework the param parsing to make selectors easier to handle 2002-05-08 05:15:19 +00:00
Bill Currie
d5b637ae06 first stab at implementing ObjC like features. The parser doesn't generate
any code for the new features yet (I need to learn more about how objc
/works/) but nothing seems to have been broken.
2002-05-07 16:55:54 +00:00
Bill Currie
cc0a428e2b traking pak command line changes... 2002-05-07 03:47:01 +00:00
Ragnvald Maartmann-Moe IV
c164aa4ba5 Stomp out a warning. 2002-05-06 16:36:07 +00:00
Jeff Teunissen
4ce4869143 A better command-line interface for pak. NOTE: there has been a change in
how pak gets the filename for the archive. Instead of requiring an -f
argument, it now takes the first non-option argument as the filename. If
this is a problem, it can be changed back.

Also, a manual page.
2002-05-03 10:38:04 +00:00
Jeff Teunissen
74990f48ef Testing it again. Closes: #35 2002-05-03 04:42:26 +00:00
Jeff Teunissen
536418a552 Testing my fix... 2002-05-03 04:41:53 +00:00
Jeff Teunissen
527c1bc5d1 testing. Closes: #35 2002-05-03 04:31:32 +00:00
Jeff Teunissen
2e2d2e2aa7 grr. Closes: #35 2002-05-03 04:25:33 +00:00
Jeff Teunissen
cd7f26ee0a grr. Closes: #35 2002-05-03 04:14:28 +00:00
Jeff Teunissen
62148023f3 AGAIN. Closes: #35 2002-05-03 04:10:16 +00:00
Jeff Teunissen
9e2995997b again. Closes: Bug#35 2002-05-03 04:07:06 +00:00
Jeff Teunissen
a6231fd977 one more time. Closes: Bug#35 2002-05-03 04:06:19 +00:00
Jeff Teunissen
6481b043e2 boo. Closes: 35 2002-05-03 04:00:53 +00:00
Jeff Teunissen
58dcd96966 ?? (Closes: Bug#35) 2002-05-03 03:59:40 +00:00
Bill Currie
c854369544 blah blah blah 2002-05-03 03:56:06 +00:00
Jeff Teunissen
4bacf36bf3 grr. Closes: #35 2002-05-03 03:49:44 +00:00
Jeff Teunissen
4423e6fbb7 One more time... Closes: #35 2002-05-03 03:48:28 +00:00
Jeff Teunissen
a47997bee7 Okay, this'd better work. Closes: #35 2002-05-03 03:46:38 +00:00
Jeff Teunissen
30f359f5c3 testing AGAIN. Closes: Bug#35 2002-05-03 03:39:49 +00:00
Jeff Teunissen
6d8cb67c18 testing again. Closes: Bug#35 2002-05-03 03:33:54 +00:00
Jeff Teunissen
caacd27808 Testing again. Closes: #35 2002-05-03 03:28:21 +00:00
Jeff Teunissen
5a1a2287f6 Doesn't do anything more, just looks a little prettier. Closes: #35 2002-05-03 03:13:12 +00:00
Bill Currie
54fb180fad expr.h:
__attribute__((const)) has rather nasty results when it's not true
expr.c:
	fix up some mis-timed ex_error checks
2002-05-02 05:03:57 +00:00
Bill Currie
05788e55e5 don't generate useless expression warnings when that expression was caused
by an error
2002-05-01 22:08:59 +00:00
Bill Currie
a9f3814c86 forgot to remove scope.h 2002-05-01 21:48:23 +00:00
Bill Currie
067359b39d d'oh, missed a ; 2002-05-01 21:42:29 +00:00
Bill Currie
962dc8e46e rewrite the type and def parsing to allow more flexible types 2002-05-01 21:35:39 +00:00
Bill Currie
4725a44098 print out field types correctly 2002-05-01 21:33:59 +00:00
Jeff Teunissen
b871c678f4 test commit. 2002-05-01 20:26:47 +00:00
Bill Currie
98fea9ff55 remove some debug code and fix some missing ;s 2002-04-27 02:51:00 +00:00
Bill Currie
fc6fb804d7 support all but \b, \< and \> of qccx' character escapes. 2002-04-26 22:23:28 +00:00
Bill Currie
1f468e2508 fix a silly parse snafu 2002-04-26 21:49:35 +00:00
Bill Currie
aa006ecf64 qfcc now supports implicit string constant concatentation. 2002-04-26 21:42:50 +00:00
Bill Currie
4f7245d634 allow type (parm, parm, ...) to compile (the parms aren't type checked yet) 2002-04-26 21:28:06 +00:00
Bill Currie
313c82efef use dstring_new instead of dstring_newstr to avoid allocating memory that's
only going to be reallocated immediatly anyway.
2002-04-15 22:24:47 +00:00
Bill Currie
03ab75704f -p N or --strip-path N will strip up to N leading path elements for a
source file's path.
2002-04-10 19:52:48 +00:00
Bill Currie
c71ce480ad fix a seg when trying to print a null type 2002-04-09 21:37:46 +00:00
Bill Currie
b29c0d70b7 more signed char indeces 2002-04-07 05:44:34 +00:00
Bill Currie
0f198f118e %d and pid_t don't mix on solaris, so use %ld and cast to long 2002-04-07 05:40:27 +00:00
Bill Currie
d7487a1344 compile fix for win32 2002-03-18 22:40:52 +00:00
Bill Currie
2338d0c157 make zpak work with the new pak 2002-03-18 22:16:37 +00:00
Bill Currie
b4b14b096f fix an oopsie with the verbose output of extract and create 2002-03-18 22:16:14 +00:00
Bill Currie
568e7ecdb2 make pak get built with the rest of the system 2002-03-18 22:01:51 +00:00
Bill Currie
1757030521 extraction works 2002-03-18 21:37:39 +00:00
Bill Currie
311811bd25 start working on file extraction 2002-03-18 20:52:21 +00:00
Bill Currie
b0b36d8cd1 can now create pak files 2002-03-18 18:03:26 +00:00
Bill Currie
655fe17e18 fix handling of pointers in function params and local vars for qc functions 2002-03-18 07:30:21 +00:00
Bill Currie
3ad92d30d5 still only tests, but at least now it won't seg :) 2002-03-15 18:52:12 +00:00
Bill Currie
91ca4104a2 remove a bonus TRACE 2002-03-14 19:40:59 +00:00
Bill Currie
b97ac96204 fix the win32 side of pre-preocessing 2002-03-14 00:05:04 +00:00
Bill Currie
6cefb63e2e get back to work on creating a good command line pak file util. currently
only dumps the file names/sizes and segs if it's used incorrectly, but it's
a start.
2002-03-12 23:45:36 +00:00
Bill Currie
b5ed8a7ddb tracing code can now be selected by setting GLSTUB_TRACE to a non-zero
value (eg, export GLSTUB_TRACE=1)
2002-03-12 00:07:43 +00:00
Bill Currie
1d420edcd0 start work on instrumenting GLstub.so 2002-03-11 23:55:50 +00:00