Commit graph

817 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
965331f315 oops... removing wrongly placed semicolons 2012-08-14 12:15:05 +02:00
Wolfgang (Blub) Bumiller
d824645019 error-print functions which take lex_ctx 2012-08-14 12:06:28 +02:00
Wolfgang (Blub) Bumiller
5f0111c114 And a colon for the colored version too ... 2012-08-14 12:00:09 +02:00
Wolfgang (Blub) Bumiller
0a27cc13c8 Add a colon after the linenumber 2012-08-14 11:54:48 +02:00
Wolfgang (Blub) Bumiller
104e9bce92 don't add the general 'parse error' message if an error has already been printed 2012-08-14 11:54:27 +02:00
Wolfgang (Blub) Bumiller
4dad7c7d50 used the wrong va_list there... why didn't gcc warn about this being uninitialized... 2012-08-14 11:54:06 +02:00
Wolfgang (Blub) Bumiller
579ac3dd5d Working towards a saner error-output system, adding -Werror 2012-08-14 11:34:07 +02:00
Wolfgang (Blub) Bumiller
c08966a2a4 remove now unused files 2012-08-14 10:57:09 +02:00
Wolfgang (Blub) Bumiller
82d9651529 Merge branch 'master' into blub/parser 2012-08-14 10:42:34 +02:00
Wolfgang (Blub) Bumiller
cfdf915b25 ast_binstore, used for +=, -=, ++, -- etc 2012-08-14 10:40:48 +02:00
Wolfgang (Blub) Bumiller
3fd7a64b45 storing generated values and returning them early if they exist - will error when that doesn't make sense eg when trying to call codegen ast_ifthen more than once 2012-08-13 19:54:53 +02:00
Wolfgang (Blub) Bumiller
862b506dcd initialize ast_expression_common.outl/outr 2012-08-13 19:40:06 +02:00
Wolfgang (Blub) Bumiller
406a32bea6 prototypes for ast_binstore, and storing outl/outr in ast_expression_common, TODO: let ast_codegen functions reuse previous results so that binstore can call codegen twice 2012-08-13 19:39:35 +02:00
Wolfgang (Blub) Bumiller
69d9afbc69 while, for 2012-08-13 17:10:13 +02:00
Wolfgang (Blub) Bumiller
1c4a11f6fb factored out 'if' parsing code into a function, added 'while' parsing, and errors for more unsupported operators 2012-08-13 16:45:35 +02:00
Wolfgang (Blub) Bumiller
5ca3fed36a Even more operators 2012-08-13 15:33:32 +02:00
Wolfgang (Blub) Bumiller
e3b3c2efe3 Merge branch 'master' into blub/parser 2012-08-13 15:25:40 +02:00
Wolfgang (Blub) Bumiller
633561a730 type_eq_instr[], type_ne_instr[] 2012-08-13 15:25:14 +02:00
Wolfgang (Blub) Bumiller
d8890fda9e More operations 2012-08-13 15:24:55 +02:00
Wolfgang (Blub) Bumiller
5390b2d7c2 nicer error messages, bitand and bitor for floats allowed 2012-08-13 15:13:43 +02:00
Wolfgang (Blub) Bumiller
9f151e82df Check types on + and - operations 2012-08-13 15:09:27 +02:00
Wolfgang (Blub) Bumiller
5680c661a6 adding missing initializer for ir_value's member array 2012-08-12 21:56:53 +02:00
Wolfgang (Blub) Bumiller
c7cca404dc after a closing paren another operator has to be expected again 2012-08-12 20:21:21 +02:00
Wolfgang (Blub) Bumiller
fb8a9b3ccf some debug outputs which can be activated via a define, fixing a bug where the shunting yard tries to apply operators when there are none left 2012-08-12 20:13:14 +02:00
Wolfgang (Blub) Bumiller
f2bbffbd4b return an error code at exit after compile errors 2012-08-12 20:12:32 +02:00
Wolfgang (Blub) Bumiller
6806fd1e86 it's a member of entity, not of a field... 2012-08-12 19:29:18 +02:00
Wolfgang (Blub) Bumiller
6409bf455f -std=gmqcc way to handle fields by 'namespace' 2012-08-12 19:24:08 +02:00
Wolfgang (Blub) Bumiller
ae73332832 without -std=gmqcc fields are accessible anywhere where globals are 2012-08-12 19:02:52 +02:00
Wolfgang (Blub) Bumiller
fd1a850629 Recognize a dot as operator when not in 'no-ops' mode in the lexer 2012-08-12 19:00:44 +02:00
Wolfgang (Blub) Bumiller
437988c5b4 don't rewind local variables too far 2012-08-12 18:58:46 +02:00
Wolfgang (Blub) Bumiller
0c06f9f650 Merge branch 'master' into blub/parser 2012-08-12 18:45:22 +02:00
Wolfgang (Blub) Bumiller
60a5d8ab4f print error and return NULL when trying to create an invalid member access 2012-08-12 18:44:58 +02:00
Wolfgang (Blub) Bumiller
067294a470 Merge branch 'master' into blub/parser 2012-08-12 11:39:52 +02:00
Wolfgang (Blub) Bumiller
fc7d32a715 fixed: ast_member needs to allow type_vector instead of type_float as base 2012-08-12 11:39:43 +02:00
Wolfgang (Blub) Bumiller
b2f13ebc5e Merge branch 'master' into blub/bc3 2012-08-12 11:36:41 +02:00
Wolfgang (Blub) Bumiller
028543db8c ast_binary now keeps track of types 2012-08-12 11:36:28 +02:00
Wolfgang (Blub) Bumiller
5240aa8379 ast_istype should add the TYPE_ prefix 2012-08-12 11:36:15 +02:00
Wolfgang (Blub) Bumiller
7e3edea621 fixing the messup of MUL_FV and _VF being swapped - getting rid of additions that really have no place here (YET) (matrix/quaternion types) 2012-08-12 11:34:55 +02:00
Wolfgang (Blub) Bumiller
647582aeb4 merging master 2012-08-12 11:28:52 +02:00
Wolfgang (Blub) Bumiller
b968927074 default case for ir_value_dump's type switch 2012-08-12 11:28:18 +02:00
Wolfgang (Blub) Bumiller
c3cbda8b2b ir_instr_dump to print CALL+paramcountfor calls rather than CALL0 always 2012-08-12 10:19:33 +02:00
Wolfgang (Blub) Bumiller
93d372f222 TYPE_FUNCTION in ir_value_dump to show '(function)' rather than '(void)' 2012-08-12 10:15:27 +02:00
Wolfgang (Blub) Bumiller
2cba6f08fe indentation of ir debug dump functions 2012-08-12 10:14:22 +02:00
Wolfgang (Blub) Bumiller
d68d19dbfd Merging master to handle vector members, fields, and members of vector fields 2012-08-12 10:08:41 +02:00
Wolfgang (Blub) Bumiller
b20136e5f4 Working vector-field test 2012-08-11 22:14:55 +02:00
Wolfgang (Blub) Bumiller
8b168077c7 IR generation of vector-fields put the 'main' vector offset at the wrong position - fixed that 2012-08-11 22:14:45 +02:00
Wolfgang (Blub) Bumiller
56c23dc11e ast_member_new now fixed up for fields, ast_shallow_type added for creation of a type-only ast_expression 2012-08-11 22:14:16 +02:00
Wolfgang (Blub) Bumiller
060bddb922 same +1 offset in LOAD_V as STOREP fixed 2012-08-11 22:11:08 +02:00
Wolfgang (Blub) Bumiller
c94c36d68b testing writing to multiple fields, including a vector field 2012-08-11 21:18:46 +02:00
Wolfgang (Blub) Bumiller
b36fabe4d7 print builtin now prints all the passed strings, not just the first 2012-08-11 21:18:15 +02:00