Wolfgang Bumiller
|
c5ba27da6f
|
ast_store to take ast_expression on its left, rather than ast_value. Assigning to a vector member would not put an ast_value on the left, but an ast_member, thus: ast_expression now already
|
2012-07-28 18:13:12 +02:00 |
|
Wolfgang Bumiller
|
10d70328c8
|
executor: prog_delete: deleting builtins properly - unless statically allocated; added a qc_builtins array for the standalone executor containing 'print'
|
2012-07-27 19:27:56 +02:00 |
|
Wolfgang Bumiller
|
5f0a6bcc53
|
_MEM_ -> MEM_ again at use
|
2012-07-27 19:18:04 +02:00 |
|
Wolfgang Bumiller
|
f8b3081c44
|
Merging master and adapting _MEM_* on new mem-vector functions
|
2012-07-27 19:13:03 +02:00 |
|
Wolfgang Bumiller
|
81fd77da38
|
_MEM_... -> MEM_...
|
2012-07-27 19:02:18 +02:00 |
|
Wolfgang Bumiller
|
42168fde00
|
removing an old comment
|
2012-07-27 15:27:34 +02:00 |
|
Wolfgang Bumiller
|
2674982854
|
Moving parameters to from ast_value to ast_expression_common, it's part of the type after all
|
2012-07-27 15:22:39 +02:00 |
|
Wolfgang Bumiller
|
ab11808208
|
ast_block_set_type
|
2012-07-27 13:39:58 +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
|
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
|
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
|
d4c408b4bd
|
fix a warning about a format string
|
2012-07-22 12:22:25 +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
|
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
|
fe8457f9ba
|
ir_function_dump to print builtins as such
|
2012-07-19 18:06:37 +02:00 |
|
Wolfgang Bumiller
|
d4b2790deb
|
Correct variable name for type_storep_instr
|
2012-07-16 12:27:58 +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
|
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
|
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 |
|
Wolfgang Bumiller
|
88f2238699
|
Return that the call was actually generated successfully if it was...
|
2012-07-04 15:02:55 +02:00 |
|
Wolfgang Bumiller
|
001420a7ef
|
Storing ir_v for functions
|
2012-07-04 15:00:30 +02:00 |
|
Wolfgang Bumiller
|
d259e75dc4
|
ast_call needs to set its func member
|
2012-07-04 14:41:39 +02:00 |
|
Wolfgang Bumiller
|
812084ad72
|
ast_call's param vector functions
|
2012-07-04 14:39:58 +02:00 |
|
Wolfgang Bumiller
|
6bbcd5a343
|
ast-macros: MKCONSTSTRING, added sHello hello world string
|
2012-07-04 14:20:54 +02:00 |
|
Wolfgang Bumiller
|
2c1f08a209
|
Enabling the print builtin nodes, soon to be used to test CALL generation
|
2012-07-04 13:31:10 +02:00 |
|
Wolfgang Bumiller
|
29091971d2
|
add AINSTR_END to the end of functions so the debug-printing knows when to end...
|
2012-07-04 13:29:26 +02:00 |
|
Wolfgang Bumiller
|
7245b675b2
|
Don't die on functions with no variables
|
2012-07-04 13:16:15 +02:00 |
|
Wolfgang Bumiller
|
ed24ea0cef
|
creating and generating builtin functions, ast-macros for builtins, todo: params
|
2012-07-03 23:38:38 +02:00 |
|
Wolfgang Bumiller
|
e965ffb9df
|
basic CALL translation: to be refined
|
2012-07-03 22:47:01 +02:00 |
|
Wolfgang Bumiller
|
e8cc27df5b
|
type_store_instr[] to get an INSTR_STORE_x by type
|
2012-07-03 22:46:38 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0ed9bdf5b8
|
Adopt dp's function-local backup strategy and add parameter-copying to EnterFunction
|
2012-06-29 16:04:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
97f34d9add
|
fixed a typo in asm_instr[]: ES_FNC->EQ_FNC
|
2012-06-29 15:41:56 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9e094ddeb5
|
create_call should use store_return as output type for now
|
2012-06-29 15:40:21 +02:00 |
|
Wolfgang (Blub) Bumiller
|
67b75055b2
|
adding another storage type: store_return; when generating a CALL, the generator can check the output value's storetype, and if it is NOT store_return, it needs to STORE_x the return value into the output value.
|
2012-06-29 14:37:12 +02:00 |
|
Wolfgang (Blub) Bumiller
|
856c9d16a5
|
generating an ir_value for an ir_function at creation now
|
2012-06-29 13:25:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c1ea9cc409
|
function in the ast now MUST have an output type in their 'next' ast_expression pointer, the IR's outtype of functions is now filled
|
2012-06-29 13:07:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
67fa4ce07b
|
ir_builder_create_call to take return type from the ir_value
|
2012-06-29 12:55:35 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5348708da4
|
Fix a possibly uninitialized variable
|
2012-06-28 17:27:02 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9e7143d934
|
Fixing GMQCC_SUPPRESS_EMPTY_BODY typo
|
2012-06-28 17:23:01 +02:00 |
|
Wolfgang (Blub) Bumiller
|
01b3f5ef58
|
ast_call_codegen, ir_block_create_call plus call-related functions, ir_value->outtype TODO: fill outtype in ir_value
|
2012-06-28 17:21:26 +02:00 |
|
Wolfgang (Blub) Bumiller
|
7363e88cd7
|
Added a comment about an idea on how to translate calls better. Gotta check some papers for better solutions later
|
2012-06-28 16:20:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e934e77cc5
|
ast_call node; codegen dummy
|
2012-06-28 16:15:51 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2073834b9a
|
ir_instr can now store a list of parameters, will be used for CALLs
|
2012-06-28 15:50:51 +02:00 |
|