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 |
|
Wolfgang (Blub) Bumiller
|
20831ddc6c
|
fixing address check INSTR_STOREP_V in execloop - it kept us from writing to a vector when it was the last declared entityfield
|
2012-08-11 21:17:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c31c59312b
|
ir_block_create_store/p will now honor -fadjust-vector-fields by using STORE_V/STOREP_V instead of _FLD on vector-fields
|
2012-08-11 19:38:02 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d4983b0b55
|
-fadjust-vector-fields
|
2012-08-11 19:35:08 +02:00 |
|
Wolfgang (Blub) Bumiller
|
bb1f38de5d
|
also generate _y and _z data for fieldpointers
|
2012-08-11 19:34:58 +02:00 |
|
Wolfgang (Blub) Bumiller
|
228b3cca41
|
to support .vector's _y and _z we need to add the global-data pointing to _y and _z...
|
2012-08-11 19:08:23 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3f234591da
|
testcase for print(ftos(pawn.mema)) slightly changed, now not using a temporary location
|
2012-08-11 18:09:45 +02:00 |
|
Wolfgang (Blub) Bumiller
|
fda4687ece
|
STOREP also has the destination in OPB rather than OPC
|
2012-08-11 18:06:10 +02:00 |
|
Wolfgang (Blub) Bumiller
|
91e3765a00
|
Generating fields using ir_builder_create_field
|
2012-08-11 18:05:56 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5f2a775d41
|
generate address of store_return values created with ir_value_out properly
|
2012-08-11 17:53:41 +02:00 |
|
Wolfgang (Blub) Bumiller
|
cf04b5ed01
|
Need to keep prog->entities up to date when spawning entities
|
2012-08-11 17:35:55 +02:00 |
|