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 |
|
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 |
|