Commit Graph

646 Commits

Author SHA1 Message Date
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