Wolfgang (Blub) Bumiller
|
7cc1609117
|
Disable the member-of namespace check when -std != gmqcc
|
2012-08-18 19:43:34 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d88e3e8f24
|
move the member-of check for '.' to after applying the previous dot operators so we don't need parens around 'a.b' of 'a.b.c = x'
|
2012-08-18 19:42:38 +02:00 |
|
Wolfgang (Blub) Bumiller
|
586bb07c4d
|
Use the current context, not the one from a NULL value... for ast_return
|
2012-08-18 18:00:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
701c387dbf
|
parse 'return' without values better
|
2012-08-18 17:58:51 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2cf4895cc7
|
Fixup some possibly uninitialized value when parsing 'return'
|
2012-08-18 17:48:29 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0e3bc87c75
|
Don't re-add defs which had a prototype
|
2012-08-18 17:42:38 +02:00 |
|
Wolfgang (Blub) Bumiller
|
24a21d0816
|
ast_value_copy should copy the expression substructure as well - exposing ast_value_copy to the outside since the parser needs to copy complete types when multiple variables are declared with commas
|
2012-08-18 17:16:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
6daf47fc5b
|
set parser->lex to NULL after closing
|
2012-08-18 16:42:17 +02:00 |
|
Wolfgang (Blub) Bumiller
|
16b5f28b40
|
don't deallocate the parser on a compile error -_-
|
2012-08-18 16:40:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b6ab0207b1
|
ast_block_collect: add to ast_block->collect and set the node's .keep=true, those will now always be deleted by the ast_block dtor
|
2012-08-18 16:27:40 +02:00 |
|
Wolfgang (Blub) Bumiller
|
68e4a937f2
|
collect vector-member locals in ast_block->collect, like a garbage collection...
|
2012-08-18 16:24:26 +02:00 |
|
Wolfgang (Blub) Bumiller
|
897bd5727e
|
Revert "let ast_node have a use-counter, helpful for the parser to delete unused fields which otherwise get lost in the void"
This reverts commit 25ffd11aa6 .
|
2012-08-18 16:20:45 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d4587e5667
|
Revert "delete ast_members from parser->locals when they were unused"
This reverts commit cdeffb6de9 .
|
2012-08-18 16:20:23 +02:00 |
|
Wolfgang (Blub) Bumiller
|
cdeffb6de9
|
delete ast_members from parser->locals when they were unused
|
2012-08-18 16:20:17 +02:00 |
|
Wolfgang (Blub) Bumiller
|
25ffd11aa6
|
let ast_node have a use-counter, helpful for the parser to delete unused fields which otherwise get lost in the void
|
2012-08-18 16:16:43 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d5e01ba904
|
clear all the remaining vectors in the parser
|
2012-08-18 15:59:29 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2045321296
|
free parser->fields and parser->locals at parser_cleanup
|
2012-08-18 15:55:50 +02:00 |
|
Wolfgang (Blub) Bumiller
|
483ce89d78
|
Delete fields in parser_cleanup
|
2012-08-18 15:51:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e2faedcca8
|
the opening paren is now an operator - to fix up the precedence rules, now 'anentity.afunction()' compiles
|
2012-08-18 15:25:45 +02:00 |
|
Wolfgang (Blub) Bumiller
|
267bb7d41e
|
get rid of additional trailing \n on parseerror
|
2012-08-18 14:55:37 +02:00 |
|
Wolfgang (Blub) Bumiller
|
46b4eb1f46
|
WARN_ERROR -> opts_werror in parser.c
|
2012-08-18 14:51:12 +02:00 |
|
Wolfgang (Blub) Bumiller
|
7ecd9714b0
|
add the type of whatever is 'not a function' to that error message
|
2012-08-18 12:45:51 +02:00 |
|
Wolfgang (Blub) Bumiller
|
6b1a0541c9
|
parser_strdup to wrap util_strdup and actually dup empty strings
|
2012-08-18 12:26:21 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e00c8da849
|
Added support for some modelgen/spritegen commands
|
2012-08-16 20:47:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
54dcbc22bf
|
NOT for entity, function and string - we're not constant-folding it for functions and entities right now
|
2012-08-16 16:24:47 +02:00 |
|
Wolfgang (Blub) Bumiller
|
31a8cd80c8
|
unary NOT operator for float and vector
|
2012-08-16 16:21:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
1a3a0014c5
|
even in non-qcc mode we need to search the variables for fields because of field-pointers
|
2012-08-16 16:21:09 +02:00 |
|
Wolfgang (Blub) Bumiller
|
7c731b70cf
|
verbose error about unhandled operators
|
2012-08-16 16:07:00 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d81ef81246
|
Fix an error message
|
2012-08-16 15:59:09 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ec439d7880
|
Allow fieldpointer parameters in functions, allow function fields again
|
2012-08-16 15:27:06 +02:00 |
|
Wolfgang (Blub) Bumiller
|
47243d0df1
|
allow redeclaration of fields, but warn about them
|
2012-08-16 15:14:39 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5a383ac2b0
|
Reorganizing expression parsing to allow prefix-operators like unary minus
|
2012-08-16 15:11:03 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c4730b405b
|
unary - operator implemented, adding imm_vector_zero and imm_float_zero since those should be accessible quickly
|
2012-08-16 14:23:18 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ba1886ad31
|
add some missing casts to some mem_a
|
2012-08-16 12:34:28 +02:00 |
|
Wolfgang (Blub) Bumiller
|
470fc68b06
|
don't try to access function-local functions outside of functions...
|
2012-08-16 11:36:16 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2a7e7046d9
|
assigning values to constant globals
|
2012-08-16 11:33:29 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b7f9b20a2b
|
strpcy->memcpy
|
2012-08-15 17:01:16 +02:00 |
|
Wolfgang (Blub) Bumiller
|
42e2102839
|
remove MEM_VECTOR_INIT - the memset does it all, don't give a false sense of initialization since it wasn't complete anyway
|
2012-08-15 12:13:15 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e5124ecf2f
|
Fix memset on the parser...
|
2012-08-15 12:11:15 +02:00 |
|
Wolfgang (Blub) Bumiller
|
475cb97404
|
bit-and const-fold should use bitand not bitor
|
2012-08-14 23:52:57 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c0ddb0908c
|
constant folding for bit and logic ops, added some macros to shorten the code (by a lot)
|
2012-08-14 23:50:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
a5b3faae30
|
const folding for division
|
2012-08-14 23:43:08 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b8d92dfa01
|
constant folding for +, - and *
|
2012-08-14 22:51:05 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9ed9a0c669
|
get rid of more duplicate code
|
2012-08-14 22:34:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
de4fe00d2f
|
Allow multiple fields to be declared using comma
|
2012-08-14 22:31:08 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e9844d9abf
|
vector fields now get _x, _y and _z too
|
2012-08-14 20:00:11 +02:00 |
|
Wolfgang (Blub) Bumiller
|
4c5c615f95
|
combine 2 ifs to shorten code a little
|
2012-08-14 17:48:22 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8dd7943768
|
-= operator
|
2012-08-14 17:44:14 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3ef6da8e5b
|
error message replacement
|
2012-08-14 17:36:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
a574da7df8
|
+= operator implemented
|
2012-08-14 17:30:55 +02:00 |
|