Commit graph

378 commits

Author SHA1 Message Date
Wolfgang Bumiller
071fd32040 Handling some operands, added type_name array 2012-07-20 21:19:30 +02:00
Wolfgang Bumiller
439aef8c33 static operator_count 2012-07-20 15:34:51 +02:00
Wolfgang Bumiller
f78ed233c0 parser_sy_pop, has to pop operators and operands and push the result 2012-07-20 15:20:07 +02:00
Wolfgang Bumiller
9f54ea6643 working on operator translation 2012-07-20 15:03:11 +02:00
Wolfgang Bumiller
7185366ee5 handling of operations 2012-07-20 15:02:18 +02:00
Wolfgang Bumiller
5d6767f337 Starting expression parsing 2012-07-20 14:45:23 +02:00
Wolfgang Bumiller
e8563442a1 keeping float immediates/constants in parser's imm_float vector 2012-07-20 14:34:45 +02:00
Wolfgang Bumiller
0674cd2f0b operator ids need to be written later -_- 2012-07-20 14:19:19 +02:00
Wolfgang Bumiller
9314157be5 Adding ids to operators for SYA later 2012-07-20 14:04:52 +02:00
Wolfgang Bumiller
69ba2dd9f8 statement/expression proto 2012-07-20 13:00:11 +02:00
Wolfgang Bumiller
2763578f8b Handling of multiple variables with comma 2012-07-20 12:53:42 +02:00
Wolfgang Bumiller
3decabaa8f Local variable parsing 2012-07-20 12:46:59 +02:00
Wolfgang Bumiller
5ffa0dda8e Keep track of blocklocal in parser_parse_block 2012-07-19 20:30:36 +02:00
Wolfgang Bumiller
c43bb71aa7 Factoring out variable parsing so it can be used for locals too 2012-07-19 20:15:30 +02:00
Wolfgang Bumiller
4360d3b5be Proto for parsing a function body 2012-07-19 19:57:24 +02:00
Wolfgang Bumiller
f4864fd5ac null-init parser_t, add a function member to it 2012-07-19 19:55:25 +02:00
Wolfgang Bumiller
03baa85c43 Properly parse functions without parameters 2012-07-19 19:53:58 +02:00
Wolfgang Bumiller
532aaba87d Parse away the semicolon after an assignment 2012-07-19 19:52:44 +02:00
Wolfgang Bumiller
02b4c7b7c1 merging master, and adapting 2012-07-19 18:15:27 +02:00
Wolfgang Bumiller
fec07921a4 removing params vector from ast_function, params are stored in its ast_value only 2012-07-19 18:14:08 +02:00
Wolfgang Bumiller
e7f8647d08 additional/superfluous check removed 2012-07-19 18:10:12 +02:00
Wolfgang Bumiller
09fa41318d Merge branch 'master' into blub/bc3 2012-07-19 18:06:56 +02:00
Wolfgang Bumiller
fe8457f9ba ir_function_dump to print builtins as such 2012-07-19 18:06:37 +02:00
Wolfgang Bumiller
6713c3fd5f Properly check if it's a function... checking the parameter count is not a correct check 2012-07-19 18:04:57 +02:00
Wolfgang Bumiller
8471d36aab builtins are negative 2012-07-19 17:54:35 +02:00
Wolfgang Bumiller
38edf7c1bd handling function definitions better, generating functions 2012-07-19 17:53:45 +02:00
Wolfgang Bumiller
6a346745aa Handling definition of builtins 2012-07-19 17:39:19 +02:00
Wolfgang Bumiller
c44355e224 handle EOF 2012-07-19 12:17:00 +02:00
Wolfgang Bumiller
1d55197097 parsing typenames completely now with function parameters 2012-07-19 11:41:16 +02:00
Wolfgang Bumiller
5b7dfb7e4b Building the output - global variables for now 2012-07-19 11:25:53 +02:00
Wolfgang Bumiller
d6cd3b6dc9 Don't die on regular EOF 2012-07-19 11:22:09 +02:00
Wolfgang Bumiller
d581fdc048 Reading a global def 2012-07-16 14:52:52 +02:00
Wolfgang Bumiller
4f611475de Starting some parsing 2012-07-16 14:14:37 +02:00
Wolfgang Bumiller
9b6598f049 Copying my old lexer 2012-07-16 13:59:10 +02:00
Wolfgang Bumiller
3943e27ebb Temporarily reordering instructions for compatibility 2012-07-16 12:43:20 +02:00
Wolfgang Bumiller
531d291216 Clearing main 2012-07-16 12:31:43 +02:00
Wolfgang Bumiller
8865b12001 Reverting the removal of _FV instructions, it's just easier this way 2012-07-16 12:29:55 +02:00
Wolfgang Bumiller
858854a83e fixing matrix/quaternion constval setters 2012-07-16 12:29:44 +02:00
Wolfgang Bumiller
abdda3ee1b Merge branch 'master' into blub/bc3 2012-07-16 12:28:06 +02:00
Wolfgang Bumiller
d4b2790deb Correct variable name for type_storep_instr 2012-07-16 12:27:58 +02:00
Wolfgang Bumiller
0d1b790bb1 Updating makefile to remove all the not yet used stuff 2012-07-16 12:27:21 +02:00
Wolfgang Bumiller
49f3980360 Merging master 2012-07-16 11:40:30 +02:00
Wolfgang Bumiller
478d5ef5ad type_storep_instr: in theory we could use type_store_instr + INSTR_STOREP_F - INSTR_STORE_F, however, this won't work later when TYPE_INTEGER comes in since the _I instructions are at a seperate place 2012-07-16 10:24:35 +02:00
Wolfgang Bumiller
db62b7b3bc Replacing 2 switches to use type_store_instr instead 2012-07-16 10:19:04 +02:00
Wolfgang Bumiller
bef1bdee9e type_sizeof is an array, not a function 2012-07-10 19:29:38 +02:00
Wolfgang Bumiller
8270f37d3c use type_sizeof in some places where previously manual size checking has been done 2012-07-10 19:29:01 +02:00
Wolfgang Bumiller
e9ac1c9e21 First thing: we want quaternions and 4x4 matrices 2012-07-10 19:26:07 +02:00
Wolfgang Bumiller
3987509493 Do not actually return after generating a call, there are other isntructions following 2012-07-04 15:16:02 +02:00
Wolfgang Bumiller
bcd8138e43 Testing CALLs in test-ast 2012-07-04 15:05:16 +02:00
Wolfgang Bumiller
904196e9bb Store the codeaddr of function's ir_values upon generation... 2012-07-04 15:05:09 +02:00