Bill Currie
6e4c6478a1
getting closer to optional ; at the end of functions. also gets rid of the
...
need for the context-sensitivity hack used for distinquishing frunction
inits from struct/array inits
2004-02-10 03:25:24 +00:00
Bill Currie
e63b205fd2
don't seg when in traditional mode and @ is seen
2004-01-21 21:43:31 +00:00
Bill Currie
6ecb707257
revamp the struct system so "struct foo;" does the right thing (ala C)
2003-07-30 04:11:45 +00:00
Jeff Teunissen
c9858f4f65
Preliminary "unsigned" support for qfcc and the gamecode engine. Should still
...
be compatible.
2003-07-26 21:07:51 +00:00
Bill Currie
dedb2fa6bf
get [super ...] working correctly
2003-05-15 05:58:31 +00:00
Bill Currie
9a40bf2956
get the fix right
2003-04-17 00:25:55 +00:00
Bill Currie
5cb8429f04
bah, cleanup for flex versions :P
2003-04-17 00:14:13 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Bill Currie
7ca2aae6f0
fixes for latest flex
2003-04-16 19:41:52 +00:00
Bill Currie
4de6a20856
fix a bug with \\ handling just before the end of a string constant
2003-03-04 17:03:49 +00:00
Bill Currie
761a7546dd
re-arrange things so __attribute__ and __builtin_expect are properly
...
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Bill Currie
a4dfef63c3
make all files with rcsid include config.h
2003-01-14 20:18:29 +00:00
Bill Currie
71196fedf6
make gcc more anal about prototypes, string constants and function
...
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Bill Currie
749b56aae7
forgot to fix these when I did the copyrights
2002-11-06 16:32:28 +00:00
Bill Currie
4ad8ed1fc2
*sigh* twice now forgot to remove that test code :P
2002-10-26 03:41:34 +00:00
Bill Currie
2679ade8cd
forgot 0X0 was just as valid as 0x0
2002-10-26 03:41:10 +00:00
Bill Currie
99cdcc9bd7
support hex numbers
2002-10-26 03:23:19 +00:00
Bill Currie
7542a2457f
replace @argc and @argv with @args.count and @args.list. @args is of type
...
@va_list making it possible (though not yet: need to implement structure
copy) to pass ... params around.
2002-10-16 02:28:08 +00:00
Bill Currie
412db7e27d
"for example" is more appropriate than "that is"
2002-09-16 15:42:11 +00:00
Bill Currie
05d437a3c1
make @extern and @static available to v6 progs
2002-09-10 04:07:34 +00:00
Bill Currie
a94bdb199f
@sizeof (foo) should work now
2002-08-18 04:08:02 +00:00
Bill Currie
46bad45c7a
move s_file, pr_source_line and pr_error_count into pr, make the linker
...
errors more meaningful, and fix a blasted string.h issue (damn old gcc;P)
2002-07-03 21:32:03 +00:00
Bill Currie
66aa36b73f
start implementing storage classes (extern, static, etc)
2002-06-28 17:59:32 +00:00
Bill Currie
001571e25a
various memory saving tricks. seems to have not broken anything
2002-06-27 22:48:28 +00:00
Bill Currie
f8dee80355
add unions
2002-06-20 20:28:01 +00:00
Bill Currie
f31705380f
call malloc a little less often
2002-06-05 21:13:29 +00:00
Bill Currie
06bddd3ee6
more cleanup
2002-06-04 18:44:03 +00:00
Bill Currie
7b993f97d2
more cleanups
2002-06-01 05:30:16 +00:00
Bill Currie
8f2d1fa2d9
more cmdlib cleanup
2002-06-01 04:41:25 +00:00
Bill Currie
b3adadc347
@this will provide an id field named ".this" (ie, .id .this (if .this would
...
parse in the first place:))
also kill build_type now that a field_type function is available in type.c
2002-05-31 16:58:42 +00:00
Bill Currie
34ec521198
vararg functions can now be imlemented in qc using @argc (number of params
...
passed through ...) and @argv (array of vectors, one for each ... param)
2002-05-22 20:43:29 +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
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
dc5cd8460e
`super' is now a keyword
2002-05-17 19:47:15 +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
f4fee3d7b2
add id as a type
2002-05-09 06:37:40 +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
962dc8e46e
rewrite the type and def parsing to allow more flexible types
2002-05-01 21:35:39 +00:00
Bill Currie
fc6fb804d7
support all but \b, \< and \> of qccx' character escapes.
2002-04-26 22:23:28 +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
b29c0d70b7
more signed char indeces
2002-04-07 05:44:34 +00:00
Bill Currie
d1fcfd1939
Implement --traditional so qfcc can be a nicer qcc. This disables several
...
keywords (quaternion integer function for break continue switch case default
NIL struct enum typedef) and converts some errors to warnings (assignment to
constants, insufficient function arguments, return; from non-void function,
anal function `pointer' type checks)
2002-02-18 06:23:59 +00:00
Bill Currie
6a393d175e
implement typedef
2002-01-23 20:50:25 +00:00
Bill Currie
64c5983742
enum support
2002-01-21 19:03:29 +00:00