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 |
|
Dale Weiler
|
403901d6ee
|
More assembly work
|
2012-04-28 02:34:39 -04:00 |
|
Dale Weiler
|
20f203495d
|
More assembler code
|
2012-04-27 16:45:34 -04:00 |
|
Dale Weiler
|
7aee8ac2ef
|
Working on the assembler
|
2012-04-27 16:31:38 -04:00 |
|
Wolfgang Bumiller
|
8d87767afa
|
2 missing return values
|
2012-04-27 18:00:57 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9867ce26b3
|
a vector_remove shouldn't clear the vector when failing to reallocate as a smaller chunk, just return false. The value is still removed from the vector, so no unstable state is generated by this, which makes a _remove safe to ignore where it makes sense.
|
2012-04-27 13:54:00 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ce43a35307
|
ast_value_set_name to return bool
|
2012-04-27 13:32:52 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e4d92130da
|
Using GMQCC_WARN some more where it makes sense
|
2012-04-27 13:31:40 +02:00 |
|
Wolfgang (Blub) Bumiller
|
86564686f3
|
Turned nearly every void-returning function into a bool-returning function, and checking return values wherever necessary to be able to properly exit on failures
|
2012-04-27 13:28:39 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8f290e7989
|
Use GMQCC_WARN on generated vector functions
|
2012-04-27 12:38:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
348243ddf6
|
GMQCC_WARN macro
|
2012-04-27 12:35:59 +02:00 |
|
Wolfgang (Blub) Bumiller
|
4b6659bfe1
|
Get rid of realloc
|
2012-04-27 11:41:12 +02:00 |
|
Dale Weiler
|
8e13e8ab11
|
whitespace
|
2012-04-27 05:33:22 -04:00 |
|
Dale Weiler
|
422c085fba
|
Sanity check
|
2012-04-27 05:33:02 -04:00 |
|
Wolfgang (Blub) Bumiller
|
69173876f1
|
Merge branch 'master' into blub/ast-and-ir-merging
|
2012-04-27 11:05:57 +02:00 |
|
Dale Weiler
|
db879bd626
|
Now compiles with mingw; added makefile for windows.
|
2012-04-26 23:24:32 -04:00 |
|
Dale Weiler
|
dd66080aaf
|
removed clutter
|
2012-04-26 23:20:35 -04:00 |
|
Dale Weiler
|
63b6abb463
|
GMQCC_VERSION
|
2012-04-26 11:37:47 -04:00 |
|