Commit graph

125 commits

Author SHA1 Message Date
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