Commit graph

738 commits

Author SHA1 Message Date
Bill Currie
93169e1b91 rename two PR_* functions 2002-06-07 17:46:58 +00:00
Bill Currie
dc0e31916f fix a minor oopsie with the relocations 2002-06-07 17:39:57 +00:00
Bill Currie
00a54ad918 redo relocations 2002-06-07 17:29:30 +00:00
Bill Currie
8aa98c0d20 fix several silly mistakes 2002-06-06 21:51:47 +00:00
Bill Currie
f31705380f call malloc a little less often 2002-06-05 21:13:29 +00:00
Bill Currie
38d3a15413 d'oh, forgot to compile test :P 2002-06-05 19:31:43 +00:00
Bill Currie
cb395c5469 misc def improvments 2002-06-05 19:03:51 +00:00
Bill Currie
9474765e75 remove some direct usages of pr.globals 2002-06-05 17:45:44 +00:00
Bill Currie
e17604f9c2 remove all arbitrary limits except for globals. they'll need a little more
work. Once they're done, it should take quite a big mod to crash qfcc due
to too many strings/statements/etc :)
2002-06-05 17:12:55 +00:00
Bill Currie
32215b1296 prepare functions and pr_globals for relocatability 2002-06-05 05:39:20 +00:00
Bill Currie
935f1e8c5e prepare the string hash table for relocatable strings space and fix a bug
causing more string space to be allocated than necessary
2002-06-05 05:24:42 +00:00
Bill Currie
c58a4c59b7 forgot to move the prototypes 2002-06-04 21:54:47 +00:00
Bill Currie
69605d0b19 even more cleanup 2002-06-04 21:23:39 +00:00
Bill Currie
080a46469f fix CPP_NAME for independently built qfcc 2002-06-04 20:43:11 +00:00
Bill Currie
2d21e0e2fb idstuff is a better name for precache 2002-06-04 18:45:45 +00:00
Bill Currie
06bddd3ee6 more cleanup 2002-06-04 18:44:03 +00:00
Bill Currie
77d244220b more qfcc cleanup. split out some functions and kill some dead code 2002-06-04 05:25:37 +00:00
Bill Currie
be28957dff kill USE_CPP (and --enable-cpp) it's not needed any more 2002-06-04 04:48:21 +00:00
Bill Currie
328b591aa0 some qfcc.c cleanup 2002-06-04 04:36:57 +00:00
Bill Currie
e1d66fdfb8 make sure qc-parse.h gets built before files that depend on it 2002-06-03 03:45:24 +00:00
Bill Currie
f00e892d4e mingw gcc 3.1 is freaking weird 2002-06-02 05:27:32 +00:00
Bill Currie
c13e94db78 must be more careful with the return value of va 2002-06-02 01:10:31 +00:00
Bill Currie
84b46d720e slowly killing cmdlib 2002-06-01 06:59:02 +00:00
Bill Currie
8e479c5549 don't need that any more :) 2002-06-01 05:57:55 +00:00
Bill Currie
12cfe6190b do some file renaming 2002-06-01 05:37:18 +00:00
Bill Currie
7b993f97d2 more cleanups 2002-06-01 05:30:16 +00:00
Bill Currie
c4d0c574ee clean up qfcc.h a bit 2002-06-01 05:06:19 +00:00
Bill Currie
8f2d1fa2d9 more cmdlib cleanup 2002-06-01 04:41:25 +00:00
Bill Currie
9e5f8c3bd9 win32 compile fixes 2002-05-31 19:24:56 +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
4d267abd2a make things a little quieter 2002-05-31 07:24:54 +00:00
Bill Currie
3af96782da make qwaq build as part of the main tree (but /not/ install) 2002-05-31 06:55:35 +00:00
Jeff Teunissen
96fe150ff4 Add a clean target to quaketoascii's makefile. 2002-05-31 06:44:48 +00:00
Jeff Teunissen
dd47617c57 Update some gitignore files. 2002-05-31 06:40:52 +00:00
Bill Currie
c4811ccb52 seriously clean up qwaq. most of that stuff isn't needed any more 2002-05-31 06:16:10 +00:00
Bill Currie
ce6854ad05 not everybody /has/ d.o :) 2002-05-31 06:09:08 +00:00
Bill Currie
191232a383 get qwaq working with the objective stuff and do a simple messaging test 2002-05-31 06:02:26 +00:00
Bill Currie
24e7a88719 fix some method list emission bugs 2002-05-31 06:00:11 +00:00
Bill Currie
ccf2a0b34a allocate defs using the correct size from the type 2002-05-31 05:04:16 +00:00
Bill Currie
3c7fb6a312 fix some missing ;s 2002-05-30 21:18:58 +00:00
Jeff Teunissen
26cda3214a Forge: partial support for projects. Very (VERY!) incomplete. 2002-05-29 11:21:25 +00:00
Jeff Teunissen
6c9c62139a Forge updates: Windows are now remembered and stuff is in general a bit
cleaner. Committing this so that the stuff I'm about to write won't totally
fubar everything. :)
2002-05-29 07:13:42 +00:00
Bill Currie
6fbf011073 rpm building fixes 2002-05-27 20:28:10 +00:00
Jeff Teunissen
3edc57ef93 Forge updates. Compiles with latest GNUstep CVS, may not work with current
release (but should).

The interface is no longer defined in code -- it loads it from a .gorm file.

The code is a lot cleaner, and I'm working on project management again.
Generally, I'm having a lot of fun. :)
2002-05-26 11:24:00 +00:00
Jeff Teunissen
a116529db1 pak tool: Re-add the -f option and clean up the man page. 2002-05-25 02:47:53 +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
60457ee7b8 clean up some expr creaion 2002-05-22 17:18:48 +00:00
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
Bill Currie
5a2538faaf dstring.[ch]:
create dsprintf and dvsprintf to do formated prints to dynamic strings.
rest
	Use the new functions :)
2002-03-08 23:11:42 +00:00
Bill Currie
d3870a1ec4 fix a missing dstring_adjust call (I guess I need to make a dsprintf:) 2002-03-08 20:56:22 +00:00
Bill Currie
de60a142ef break out the preprocessing code into a function so I can later preprocess
the progs.src file. also use snax's new dynamic strings for the tempname.
2002-03-07 18:36:48 +00:00