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