Commit graph

136 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
7a48377442 for ast_value_codegen this should be enough, since the actual generation happens in other functions 2012-05-02 18:25:59 +02:00
Wolfgang Bumiller
1e0a688bc5 ast_ternary - contrary to ast_ifthen neither ontrue nor onfalse can be NULL, and it does output a value 2012-05-01 17:02:45 +02:00
Wolfgang Bumiller
5fe87e6a20 if-then-else AST node - this one is not for ternary expressions 2012-05-01 16:55:02 +02:00
Wolfgang Bumiller
4fbcc57d49 Commenting on future lvalue use in ast_store 2012-05-01 15:15:19 +02:00
Wolfgang Bumiller
3a94e962ae codegen gets an lvalue flag now 2012-05-01 15:14:44 +02:00
Wolfgang Bumiller
4c165cbd07 ast_instantiate should check return value of mem_a and return NULL on error 2012-05-01 15:09:17 +02:00
Wolfgang Bumiller
281bd8657a ast_entfield node 2012-05-01 15:08:54 +02:00
Wolfgang Bumiller
69d93409e5 params should be deleted, not unref()d 2012-04-29 19:45:14 +02:00
Wolfgang Bumiller
5751e41993 After moving ast_instantiate up, the checks which return NULL now must mem_d(self) 2012-04-29 00:41:35 +02:00
Dale Weiler
3e7a8c0e78 All code is now C89/C90 compat 2012-04-28 18:56:09 -04:00
Dale Weiler
05966ee009 Remove trailing whitespace from everything 2012-04-28 16:43:39 -04:00
Wolfgang Bumiller
2a9b3c7877 ast_function gets a handle to its ir_function, ast_global_codegen to generate an ir global, or an ir_function 2012-04-28 20:55:41 +02:00
Wolfgang Bumiller
eef92df092 First delete the blocks, THEN the locals, since blocks USE locals, darn 2012-04-28 20:55:41 +02:00
Wolfgang Bumiller
6145ecf7e0 ast_binary takes 2 expressions, not 2 values, ast_store takes a value and and expression for now until we support pointers, also: dropped the 'keep' param from ast_value_new, values are always to be stored somewhere to be deleted independently from their uses 2012-04-28 20:55:41 +02:00
Wolfgang Bumiller
0f38a560b6 ast_value and ast_function are linked together when using ast_function_new, note however, that neither will delete the other in their _delete functions. 2012-04-28 20:55:41 +02:00
Wolfgang Bumiller
e4a839df95 Get rid of ast_setfunc 2012-04-28 12:51:44 +02:00
Wolfgang Bumiller
75b78720fd lex_ctx_t -> lex_ctx, vector_t -> vector 2012-04-28 11:15:29 +02:00
Wolfgang Bumiller
da827e6098 Removed the qc_type enum and replaced all qc_* by TYPE_* 2012-04-28 10:42:03 +02:00
Wolfgang (Blub) Bumiller
ce43a35307 ast_value_set_name to return bool 2012-04-27 13:32:52 +02:00
Wolfgang (Blub) Bumiller
fdc98383d1 Adding a 'keep' bool to nodes: Generally, destroying an AST node should destroy all its child-nodes, global variables get 'keep' to be true to avoid them being deleted together with expressions they're used in. 2012-04-26 11:45:22 +02:00
Wolfgang (Blub) Bumiller
1a917a2659 Introduce an ast_store rather than splitting ast_binary 2012-04-26 11:36:46 +02:00
Wolfgang (Blub) Bumiller
41a39125be ast_binary_new to initialize codegen function ptr, codegen proto for store and binary ast nodes 2012-04-26 10:38:00 +02:00
Wolfgang (Blub) Bumiller
c692794eb5 block and value codegen protos 2012-04-26 10:28:50 +02:00
Wolfgang (Blub) Bumiller
8d121af47c Copyright notices 2012-04-25 17:27:49 +02:00
Wolfgang (Blub) Bumiller
6ba195bcfe todo note 2012-04-25 17:27:49 +02:00
Wolfgang (Blub) Bumiller
418430e05d Get stuff ready to compile - #if 0 on instructions not yet added to the instruction list (eg integer ones) 2012-04-25 17:27:48 +02:00
Wolfgang (Blub) Bumiller
392fc2227f Removed unnecessary line 2012-04-25 17:27:47 +02:00
Wolfgang (Blub) Bumiller
3b407fdc07 Space indentation for ast->ir part 2012-04-25 17:27:47 +02:00
Wolfgang (Blub) Bumiller
a82083bc78 i{false,true} -> {false,true} 2012-04-25 17:27:47 +02:00
Wolfgang (Blub) Bumiller
6236a0c464 Adding from astcodegen.c 2012-04-25 17:27:47 +02:00
Wolfgang (Blub) Bumiller
e9b581adfb style-fix 2012-04-25 17:27:47 +02:00
Wolfgang (Blub) Bumiller
c520a32444 use the actual VECTOR macros 2012-04-25 17:27:46 +02:00
Wolfgang (Blub) Bumiller
2cc27af146 filecontext_t -> lex_ctx_t 2012-04-25 17:27:46 +02:00
Wolfgang (Blub) Bumiller
56f548cc6f strdup -> util_strdup, _name -> name 2012-04-25 17:27:46 +02:00
Wolfgang (Blub) Bumiller
57d3da0ebb Adopting space-indentation 2012-04-25 17:27:46 +02:00
Wolfgang (Blub) Bumiller
40f70d075e Importing ast.c 2012-04-25 17:27:46 +02:00