Wolfgang (Blub) Bumiller
|
7e3edea621
|
fixing the messup of MUL_FV and _VF being swapped - getting rid of additions that really have no place here (YET) (matrix/quaternion types)
|
2012-08-12 11:34:55 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d68d19dbfd
|
Merging master to handle vector members, fields, and members of vector fields
|
2012-08-12 10:08:41 +02:00 |
|
Wolfgang (Blub) Bumiller
|
919d73b0a0
|
experimental support for spawn() in the executor
|
2012-08-11 17:31:08 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0bee759406
|
Merge branch 'master' into blub/bc3
|
2012-08-08 12:25:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
babc6d209e
|
Add WARN_ prefix to warnings enum
|
2012-08-08 12:25:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ae251d3914
|
Merge branch 'master' into blub/bc3
|
2012-08-08 12:05:08 +02:00 |
|
Wolfgang (Blub) Bumiller
|
7fed5bf41f
|
make it also compilable with -std=c99 by not redefining extra_semicolon_, by appending N to it
|
2012-07-30 13:48:53 +02:00 |
|
Wolfgang Bumiller
|
d05bee94d1
|
code_alloc_field to allocate entityfield data, ir now has ir_builder_create_field - so that globals and fields can be created separately - properly
|
2012-07-28 21:55:01 +02:00 |
|
Wolfgang Bumiller
|
e3dc56fc92
|
Merging master and adopting its main.c
|
2012-07-28 21:14:03 +02:00 |
|
Wolfgang Bumiller
|
3321748e4a
|
util_strtocmd, util_strtononcmd
|
2012-07-28 19:28:27 +02:00 |
|
Wolfgang Bumiller
|
c81eb57480
|
reuse old opts_, renamed all opt_ to opts_ to be consistent, making code.c use OPTS_FLAG() for OMIT_NULL_BYTES and DARKPLACES_STRING_TABLE_BUG
|
2012-07-28 19:20:19 +02:00 |
|
Wolfgang Bumiller
|
25e49a669d
|
flags.def and warns.def containing defined flags and warnings
|
2012-07-28 19:09:44 +02:00 |
|
Wolfgang Bumiller
|
ac26c2f2f2
|
Add -foverlap-locals - something we really should make possible
|
2012-07-28 14:48:02 +02:00 |
|
Wolfgang Bumiller
|
3072ce7eba
|
Added handler for -W
|
2012-07-28 13:59:35 +02:00 |
|
Wolfgang Bumiller
|
ddfd44e2a4
|
gcc style long option support and -std=foo added
|
2012-07-28 12:59:33 +02:00 |
|
Wolfgang Bumiller
|
3c462539a6
|
Commandline handling first draft
|
2012-07-28 12:36:20 +02:00 |
|
Wolfgang Bumiller
|
b76ffe8304
|
Merging master with newly merged executor
|
2012-07-27 19:17:03 +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
|
975356cbce
|
Merge branch 'master' into blub/bc3
|
2012-07-27 19:02:39 +02:00 |
|
Wolfgang Bumiller
|
81fd77da38
|
_MEM_... -> MEM_...
|
2012-07-27 19:02:18 +02:00 |
|
Wolfgang Bumiller
|
aef49d9667
|
Merge branch 'master' into blub/bc3
|
2012-07-22 12:21:43 +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
|
071fd32040
|
Handling some operands, added type_name array
|
2012-07-20 21:19:30 +02:00 |
|
Wolfgang Bumiller
|
1d55197097
|
parsing typenames completely now with function parameters
|
2012-07-19 11:41:16 +02:00 |
|
Wolfgang Bumiller
|
9b6598f049
|
Copying my old lexer
|
2012-07-16 13:59:10 +02:00 |
|
Wolfgang Bumiller
|
3943e27ebb
|
Temporarily reordering instructions for compatibility
|
2012-07-16 12:43:20 +02:00 |
|
Wolfgang Bumiller
|
8865b12001
|
Reverting the removal of _FV instructions, it's just easier this way
|
2012-07-16 12:29:55 +02:00 |
|
Wolfgang Bumiller
|
49f3980360
|
Merging master
|
2012-07-16 11:40:30 +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
|
e9ac1c9e21
|
First thing: we want quaternions and 4x4 matrices
|
2012-07-10 19:26:07 +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
|
97f34d9add
|
fixed a typo in asm_instr[]: ES_FNC->EQ_FNC
|
2012-06-29 15:41:56 +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
|
9e7143d934
|
Fixing GMQCC_SUPPRESS_EMPTY_BODY typo
|
2012-06-28 17:23:01 +02:00 |
|
Wolfgang (Blub) Bumiller
|
080e6e5dfb
|
exec.h -> gmqcc.h
|
2012-06-27 22:31:56 +02:00 |
|
Wolfgang (Blub) Bumiller
|
f1a2ac624f
|
Moving prog_section and prog_header to gmqcc.h to not have it twice: previously was in code.c and exec.h
|
2012-06-27 22:04:58 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2fd3ddcb1a
|
moved mem_resize and mem_append vector function macros into gmqcc.h
|
2012-06-27 14:50:52 +02:00 |
|
Wolfgang (Blub) Bumiller
|
60542f7df0
|
generation of COND and JUMP now works
|
2012-06-25 19:27:50 +02:00 |
|
Dale Weiler
|
04cf1d549f
|
Merge branch 'irgen'
|
2012-06-07 11:24:55 -04:00 |
|
Dale Weiler
|
72f3af6c50
|
Better fail
|
2012-06-07 11:24:28 -04:00 |
|
Dale Weiler
|
15d4534202
|
Fixed more warnings
|
2012-06-07 11:18:04 -04:00 |
|
Dale Weiler
|
f4bc6ba08a
|
Removed even more warnings
|
2012-06-07 11:09:29 -04:00 |
|
Dale Weiler
|
d59819620b
|
s/\t/ /g
|
2012-06-07 10:20:54 -04:00 |
|
Dale Weiler
|
4e9fc02a95
|
splint: use typedef instead of macro
|
2012-06-07 10:19:00 -04:00 |
|
Dale Weiler
|
127ad76c65
|
Whitespace
|
2012-05-11 12:02:22 -04:00 |
|
Wolfgang Bumiller
|
1fd7e30de6
|
code_cachedstring
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang Bumiller
|
edcb976053
|
Convenience function to store a predefined string in the qc string area
|
2012-05-09 15:03:19 +02:00 |
|
Wolfgang Bumiller
|
8bfbe4d619
|
Preparing to generate code from the IR - code_write should return a bool, and take a filename rather than use program.dat hardcoded
|
2012-05-09 15:03:19 +02:00 |
|
Dale Weiler
|
4a1f67bb97
|
Updated readme
|
2012-05-06 16:58:30 -04:00 |
|
Dale Weiler
|
99971b7806
|
util_strncmpexact
|
2012-05-04 22:01:02 -04:00 |
|
Dale Weiler
|
510d795c06
|
More assembler code (less allocations too)
|
2012-05-03 16:54:34 -04:00 |
|
Dale Weiler
|
629f6f1e63
|
Assembly statement parsing
|
2012-05-01 18:05:11 -04: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
|
5d64001c36
|
64bit signed/unsigned integer support from the compiler if LONG_MAX != 0x7FFFFFFF
|
2012-04-29 12:09:30 -04: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 |
|
Dale Weiler
|
7a81848d88
|
Lexer fixes
|
2012-04-28 16:25:43 -04:00 |
|
Dale Weiler
|
df9a685f61
|
surpress empty bodies
|
2012-04-28 15:13:41 -04:00 |
|
Wolfgang Bumiller
|
f3a9c8c362
|
2 missind free->mem_d in MEM_VECTOR macros
|
2012-04-28 11:50:09 +02: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
|
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 |
|
Wolfgang Bumiller
|
da827e6098
|
Removed the qc_type enum and replaced all qc_* by TYPE_*
|
2012-04-28 10:42:03 +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
|
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 (Blub) Bumiller
|
348243ddf6
|
GMQCC_WARN macro
|
2012-04-27 12:35:59 +02: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
|
63b6abb463
|
GMQCC_VERSION
|
2012-04-26 11:37:47 -04:00 |
|
Wolfgang (Blub) Bumiller
|
234567cb9f
|
Merge branch 'master' into blub/ast-and-ir-merging
-> Todo: take over bool from qbool
|
2012-04-26 10:13:07 +02:00 |
|
Dale Weiler
|
4c55dba10d
|
Implemented platform[safe, neutral], compiler[safe, neutral] and C version[safe, neutral] <stdbool.h>. M$ Visual Studio doesn't provide support for C99
|
2012-04-25 17:03:56 -04:00 |
|
Dale Weiler
|
1fd2666fba
|
code_strings_add replaced with proper multiplie element insertion vector support just added
|
2012-04-25 16:49:04 -04:00 |
|
Dale Weiler
|
fe5c322e38
|
Implemented support for multiple element (with assisted length) insertion on VECTOR_ expansions
|
2012-04-25 16:43:25 -04:00 |
|
Dale Weiler
|
e6ac367179
|
Make VECTOR_ more flexible for inside structures, and such.
|
2012-04-25 15:49:20 -04:00 |
|
Dale Weiler
|
168fd244bd
|
TYPE_ macros
|
2012-04-25 11:45:01 -04:00 |
|
Dale Weiler
|
b102e77dca
|
s/#define / / & s/[0-9]// & inplace enum { - end }
|
2012-04-25 11:42:20 -04:00 |
|
Wolfgang (Blub) Bumiller
|
22fcf399e0
|
Adding the 3 virtual instructions required for the IR later.
|
2012-04-25 17:27:47 +02:00 |
|
Dale Weiler
|
8049252f65
|
new progs format proposal for engine developers (45% of globals are 0, why write them, let the engine populate them. We can essentially save 9884 bytes in xonotic's progs.dat with this new format.)
|
2012-04-24 08:19:48 -04:00 |
|
Dale Weiler
|
691d146d9b
|
-fdarkplaces-stringtablebug
|
2012-04-22 16:58:12 -04:00 |
|
Dale Weiler
|
4d001da04e
|
Language type selection at command line.
|
2012-04-21 22:55:30 -04:00 |
|
Dale Weiler
|
7849f8c597
|
slightly faster hash function (using crc32), with precomputed polynomial table (256x32-bit entries, eight shifted xor operations). QuakeC header files include a crc16 in them (this isn't it, that is on the TODO list)
|
2012-04-21 16:02:33 -04:00 |
|
Dale Weiler
|
03295d7adc
|
command line argument parsing.
|
2012-04-20 01:20:22 -04:00 |
|
Dale Weiler
|
857cb72a94
|
Starting assembly
|
2012-04-20 00:44:44 -04:00 |
|
Dale Weiler
|
082caf61bd
|
ensure all data is LE format, cleanups, etc.
|
2012-04-19 16:41:03 -04:00 |
|
Dale Weiler
|
32b804864e
|
Fix clang warnings
|
2012-04-17 17:31:07 -04:00 |
|
Dale Weiler
|
2bef34a4f7
|
Fix memory leaks, more memory tracker stuff as well.
|
2012-04-17 17:16:11 -04:00 |
|
Dale Weiler
|
477e80f1fb
|
tabulators->four spaces
|
2012-04-17 16:24:22 -04:00 |
|
Dale Weiler
|
7501444add
|
replaced getline with util_getline
|
2012-04-17 16:14:00 -04:00 |
|
Dale Weiler
|
6e3819a76c
|
Work in progress assembler, cleanups and more.
|
2012-04-17 04:29:58 -04:00 |
|
Dale Weiler
|
36378e341e
|
More cleanups
|
2012-04-15 18:01:21 -04:00 |
|
Dale Weiler
|
98b0e11890
|
Cleanups
|
2012-04-15 17:47:14 -04:00 |
|
Dale Weiler
|
29a3c02c35
|
Removed primitive AST tree generator ... I'm planning a rewrite as we speak.
|
2012-04-15 07:59:22 -04:00 |
|
Dale Weiler
|
4e35032a24
|
Include now works
|
2012-04-14 03:53:20 -04:00 |
|
Dale Weiler
|
e4bc0a2d6a
|
More parsing stuff (still totally broken)
|
2012-04-11 19:41:04 -04:00 |
|
Dale Weiler
|
e4e6185d5f
|
Count file lines
|
2012-04-11 15:53:40 -04:00 |
|
Dale Weiler
|
9a7fa82bd0
|
It does hello world
|
2012-04-11 08:40:17 -04:00 |
|
Dale Weiler
|
387a6ecfa7
|
Test program
|
2012-04-11 04:18:40 -04:00 |
|
Dale Weiler
|
fcc83306f1
|
Indentation
|
2012-04-11 03:57:16 -04:00 |
|
Dale Weiler
|
0b322a8944
|
Some perliminary code gen code (just writes a header)
|
2012-04-11 03:54:01 -04:00 |
|
Dale Weiler
|
639fc8a32b
|
Cleanups
|
2012-04-10 05:02:58 -04:00 |
|
Dale Weiler
|
d5dcb3aff7
|
digraph and trigraph tests
|
2012-04-10 04:29:06 -04:00 |
|
Dale Weiler
|
bd5ba9e0fe
|
Cleanups
|
2012-04-10 04:20:15 -04:00 |
|
Dale Weiler
|
02e9098d3d
|
Fixed parsing issues, added some parser tests.
|
2012-04-10 01:03:52 -04:00 |
|
Dale Weiler
|
248cd7af94
|
Fix parser bug
|
2012-04-09 23:46:59 -04:00 |
|
Dale Weiler
|
506f4bca1b
|
Implemented memory tracker
|
2012-04-09 23:12:42 -04:00 |
|
Dale Weiler
|
c3f08b289b
|
Cleanups
|
2012-04-09 20:39:54 -04:00 |
|
Dale Weiler
|
a440c1410b
|
Cleaups and README
|
2012-04-09 20:18:49 -04:00 |
|
Dale Weiler
|
45cbef1b8f
|
Typedefs can now be registered, and even typedef a typedef.
|
2012-04-09 20:10:52 -04:00 |
|
Dale Weiler
|
b10d1005fb
|
Implemented typedefs
|
2012-04-09 19:47:20 -04:00 |
|
Dale Weiler
|
2b94dc1d89
|
More parsing & parse tree
|
2012-04-09 19:00:13 -04:00 |
|
Dale Weiler
|
1deeb8c9cf
|
Work in progress preprocessor
|
2012-04-09 09:36:16 -04:00 |
|
Dale Weiler
|
c436c3a6c6
|
Some new types, and lexer changes
|
2012-04-09 07:45:20 -04:00 |
|
Dale Weiler
|
fe6e142f85
|
Some fixes and command line switches parsing
|
2012-04-09 07:09:57 -04:00 |
|
Dale Weiler
|
48a95ec3c9
|
initial commit
|
2012-04-09 06:42:06 -04:00 |
|