Commit graph

732 commits

Author SHA1 Message Date
Wolfgang Bumiller
3618d071ff fixing comma operator 2012-07-27 13:42:02 +02:00
Wolfgang Bumiller
f103544c95 Merge branch 'master' into blub/bc3 2012-07-27 13:40:34 +02:00
Wolfgang Bumiller
ab11808208 ast_block_set_type 2012-07-27 13:39:58 +02:00
Wolfgang Bumiller
e8b63575b2 keeping blocks around 2012-07-27 13:28:57 +02:00
Wolfgang Bumiller
6b85f3d370 factoring out the closing-paren handling code since it'll be used recursively 2012-07-27 13:07:16 +02:00
Wolfgang Bumiller
623046dda8 the comma is now in the operator list 2012-07-27 12:53:15 +02:00
Wolfgang Bumiller
f03bffc3ee opening paren and comma to the operator stack for function calls 2012-07-27 12:35:14 +02:00
Wolfgang Bumiller
b81b5d8c4d Removing some debug output 2012-07-27 12:28:14 +02:00
Wolfgang Bumiller
b70fd7e238 handle parameters in parser_find_local 2012-07-27 12:25:46 +02:00
Wolfgang Bumiller
a99972d7dd Parse named parameters of functions 2012-07-26 23:33:19 +02:00
Wolfgang Bumiller
5d766f60b2 parse ahead into the return expression as expected 2012-07-26 23:26:34 +02:00
Wolfgang Bumiller
e1c4600260 Listen to the warning instead... 2012-07-26 23:25:33 +02:00
Wolfgang Bumiller
b08de6ee5f Shutup a warning... 2012-07-26 23:24:36 +02:00
Wolfgang Bumiller
b22a76a152 Merge branch 'master' into blub/bc3 2012-07-26 23:24:12 +02:00
Wolfgang Bumiller
1f8ece7f20 ast_return_new doesn't take an operator, we use INSTR_RETURN always, never INSTR_DONE for explicit returns 2012-07-26 23:23:47 +02:00
Wolfgang Bumiller
22e6b8558b Merge branch 'master' into blub/bc3 2012-07-26 23:22:53 +02:00
Wolfgang Bumiller
a0d78e985c handling return 2012-07-26 23:22:51 +02:00
Wolfgang Bumiller
331c00dd50 return is a keyword 2012-07-26 23:18:15 +02:00
Wolfgang Bumiller
b4225ea98a INSTR_NOT_* output to opC not opB... 2012-07-26 22:11:46 +02:00
Wolfgang Bumiller
31ba1ec6c1 ast_return 2012-07-26 21:18:39 +02:00
Wolfgang Bumiller
e22d340e23 ast/ir support for unary instructions 2012-07-26 20:45:18 +02:00
Wolfgang Bumiller
308e24a4d9 Merge branch 'master' into blub/bc3 2012-07-22 12:35:29 +02:00
Wolfgang Bumiller
4255b143b0 Removed params from ast_function again. It really is superfluous to copy them, just generate them from its ast_value's param list 2012-07-22 12:35:10 +02:00
Wolfgang Bumiller
2bfd272714 Merge branch 'master' into blub/bc3 2012-07-22 12:22:33 +02:00
Wolfgang Bumiller
d4c408b4bd fix a warning about a format string 2012-07-22 12:22:25 +02:00
Wolfgang Bumiller
aef49d9667 Merge branch 'master' into blub/bc3 2012-07-22 12:21:43 +02:00
Wolfgang Bumiller
9c2c62e82b use type_sizeof in another place where it wasn't 2012-07-22 12:20:06 +02:00
Wolfgang Bumiller
a4617d0e61 ast_function generates parameter locals, ir_function_create_local now allows adding parameters as long as no local variables have been added yet 2012-07-22 12:15:48 +02:00
Wolfgang Bumiller
43897f6e8f store_param storetype, parameter value list added to ast_function 2012-07-22 12:07:30 +02:00
Wolfgang Bumiller
dcb815a65f Handling parenthesis in expressions 2012-07-22 11:17:01 +02:00
Wolfgang Bumiller
45933d2ce9 ast_binary_new should determine the return type... 2012-07-20 21:42:36 +02:00
Wolfgang Bumiller
7756cb9205 the IR won't create globals of the same name - make names starting with # an exception 2012-07-20 21:36:37 +02:00
Wolfgang Bumiller
21a2679efb add locals to their ast_block, can create stores now 2012-07-20 21:32:51 +02:00
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