Wolfgang Bumiller
|
340daeabc4
|
ir_block_create_storep for storing through pointers, the IR does not implicitly create conversions for now when using pointers, but it could
|
2012-05-01 11:58:52 +02:00 |
|
Dale Weiler
|
95152c1f5c
|
VECTOR_PROT
|
2012-04-29 19:08:20 -04:00 |
|
Dale Weiler
|
f19cbe1400
|
Parse vector constants and add them to the constants table now for the assembler.
|
2012-04-29 19:03:06 -04:00 |
|
Dale Weiler
|
8156374a71
|
Invoke tests
|
2012-04-29 17:28:01 -04:00 |
|
Dale Weiler
|
453ca45176
|
added test_ast, test_ir, and test, as well as default, and all to the Makefile target list. Also made all tests C90 conformant code.
|
2012-04-29 16:54:41 -04:00 |
|
Dale Weiler
|
8c91adeb9f
|
Merge branch 'master' into ast-and-ir
|
2012-04-29 16:39:43 -04:00 |
|
Dale Weiler
|
1db21393cf
|
Remove Makefile_win (useless)
|
2012-04-29 16:38:38 -04:00 |
|
Wolfgang Bumiller
|
69d93409e5
|
params should be deleted, not unref()d
|
2012-04-29 19:45:14 +02:00 |
|
Dale Weiler
|
5d64001c36
|
64bit signed/unsigned integer support from the compiler if LONG_MAX != 0x7FFFFFFF
|
2012-04-29 12:09:30 -04:00 |
|
Dale Weiler
|
c3df4edebd
|
Remove trailing whitespace
|
2012-04-28 19:03:16 -04: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
|
674ae4b7da
|
Fix macro spacing
|
2012-04-28 18:56:44 -04:00 |
|
Dale Weiler
|
3e7a8c0e78
|
All code is now C89/C90 compat
|
2012-04-28 18:56:09 -04:00 |
|
Dale Weiler
|
206952b920
|
Merge branch 'master' into ast-and-ir
|
2012-04-28 16:45:02 -04:00 |
|
Dale Weiler
|
05966ee009
|
Remove trailing whitespace from everything
|
2012-04-28 16:43:39 -04:00 |
|
Dale Weiler
|
a5e1f40b85
|
gitattributes for whitespace
|
2012-04-28 16:40:03 -04:00 |
|
Dale Weiler
|
f697a5f999
|
lex.c -> lex_init s/lex->line = 0/lex->line = 1/
|
2012-04-28 16:31:30 -04:00 |
|
Dale Weiler
|
37ff28a3b5
|
This should fix line counting issues with the lexer
|
2012-04-28 16:30:44 -04:00 |
|
Dale Weiler
|
7a81848d88
|
Lexer fixes
|
2012-04-28 16:25:43 -04:00 |
|
Wolfgang Bumiller
|
6dff77aa95
|
ast and ir testers - to use: compile into gmqcc and execut the functions in main()
|
2012-04-28 21:42:21 +02:00 |
|
Dale Weiler
|
bdb238b705
|
param_argument cleanup
|
2012-04-28 15:36:39 -04:00 |
|
Dale Weiler
|
1b13c86cc9
|
param_argument cleanup
|
2012-04-28 15:20:13 -04:00 |
|
Wolfgang Bumiller
|
488859a218
|
Do not force -[aci] parameters' arguments to be in the same argv; (Allow 'gmqcc -c foo' to act like 'gmqcc -cfoo'
|
2012-04-28 20:55:42 +02: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 |
|
Dale Weiler
|
df9a685f61
|
surpress empty bodies
|
2012-04-28 15:13:41 -04:00 |
|
Dale Weiler
|
7d66144c1b
|
vector parsing for assembly
|
2012-04-28 07:27:03 -04:00 |
|
Wolfgang Bumiller
|
e4a839df95
|
Get rid of ast_setfunc
|
2012-04-28 12:51:44 +02:00 |
|
Dale Weiler
|
b4caecf088
|
Cut at comma
|
2012-04-28 06:35:42 -04:00 |
|
Dale Weiler
|
261e47d9b4
|
Merge remote-tracking branch 'origin/ast-and-ir' into ast-and-ir
|
2012-04-28 06:32:32 -04:00 |
|
Dale Weiler
|
1d6594a491
|
Fixed all invalid mmeory accesses
|
2012-04-28 06:31:16 -04:00 |
|
Dale Weiler
|
b09d75518c
|
almost ISO C now, fixed all the MEM_VECTOR trailing semicolon issues.
|
2012-04-28 05:54:24 -04:00 |
|
Wolfgang Bumiller
|
50f00fb0a7
|
Adding debug dump functions
|
2012-04-28 11:50:09 +02:00 |
|
Wolfgang Bumiller
|
8035563a45
|
Fixed: block-labels were NULLed after being set -_-
|
2012-04-28 11:50:09 +02:00 |
|
Wolfgang Bumiller
|
f3a9c8c362
|
2 missind free->mem_d in MEM_VECTOR macros
|
2012-04-28 11:50:09 +02:00 |
|
Wolfgang Bumiller
|
75b78720fd
|
lex_ctx_t -> lex_ctx, vector_t -> vector
|
2012-04-28 11:15:29 +02:00 |
|
Dale Weiler
|
72053e16d2
|
Interface change
|
2012-04-28 05:35:32 -04:00 |
|
Dale Weiler
|
33b1995fa5
|
struct lex_file -> lex_file
|
2012-04-28 05:25:19 -04:00 |
|
Dale Weiler
|
89ed723efa
|
astir.h -> gmqcc.h
|
2012-04-28 05:08:03 -04:00 |
|
Dale Weiler
|
434bf4b5b2
|
Merge branch 'blub/ast-and-ir-merging' of github.com:graphitemaster/gmqcc into ast-and-ir
|
2012-04-28 05:03:31 -04:00 |
|
Dale Weiler
|
857ca631a4
|
windows makefile update
|
2012-04-28 05:01:19 -04:00 |
|
Wolfgang Bumiller
|
da827e6098
|
Removed the qc_type enum and replaced all qc_* by TYPE_*
|
2012-04-28 10:42:03 +02:00 |
|
Wolfgang Bumiller
|
e74ecabedd
|
Add shouldn't clear on failure either, it would be rather ugly to handle
|
2012-04-28 10:32:10 +02:00 |
|
Wolfgang Bumiller
|
1bf4aa379a
|
Header guards and macros get {} in oneline ifs and loops
|
2012-04-28 10:17:32 +02:00 |
|
Dale Weiler
|
858d9734a2
|
Merge branch 'assembler' into ast-and-ir
|
2012-04-28 04:12:24 -04:00 |
|
Dale Weiler
|
de01d34925
|
type parsing for constants, globals and locals. Sanatize constants to select internal functions to prevent possible runtime issues that could be a result of atoi working for what we consider invalid strings containing constants.
|
2012-04-28 03:53:23 -04:00 |
|
Dale Weiler
|
fd31c203dc
|
Better codegen
|
2012-04-28 03:37:14 -04:00 |
|
Dale Weiler
|
07c6aea7dc
|
assembler can parse internal functions. Wrote all internal functions (that are not extensions) to test.qs
|
2012-04-28 03:26:40 -04:00 |
|