Wolfgang (Blub) Bumiller
|
fe05d5afd9
|
added 'var' to the keywords when not in -std=qcc, supporting 'var .float x;' in global-scope to declare a field-pointer variable without creating a field of that name
|
2012-11-11 10:13:00 +01:00 |
|
Dale Weiler
|
9ad35a2817
|
Remove execloop.h, we still use xmacros, but it's done with #include __FILE__ trickery. Please do not kill me, it doesn't look that bad, conditional compilation is even used in eglibc like this :P
|
2012-11-10 20:53:37 +00:00 |
|
Wolfgang (Blub) Bumiller
|
b5970707c0
|
Properly handle string and char constants when preprocessing: don't unescape and keep surrounding quotes
|
2012-11-02 18:48:32 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b219d4b468
|
Changed the TOKEN_WHITE to contain the actual data - ie the comments
|
2012-11-02 18:39:32 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a3791b3f51
|
Finishing the preprocessing flag for the lexer, added preprocess.c to test it
|
2012-11-02 18:34:14 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ab86b0470c
|
preprocessing flag for the lexer
|
2012-11-02 18:33:51 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2ef0203d17
|
Fix a minor bug in the lexer
|
2012-11-02 18:30:20 +01:00 |
|
Wolfgang (Blub) Bumiller
|
edd9ded23c
|
reserve the keywords 'switch,struct,union,break,continue' - but only with std != QCC - eg. id1 uses a function named 'break'
|
2012-11-01 14:20:58 +01:00 |
|
Wolfgang (Blub) Bumiller
|
415816e4dc
|
string-literals now do not treat digraphs as digraphs
|
2012-11-01 14:05:14 +01:00 |
|
Wolfgang (Blub) Bumiller
|
6126db10df
|
digraphs
|
2012-10-29 13:56:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e6cebc3ea3
|
trigraphs
|
2012-10-29 13:52:39 +01:00 |
|
Wolfgang (Blub) Bumiller
|
1d851a1400
|
fixing token-reset in modelname
|
2012-08-24 18:23:35 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ab91dea4e0
|
the lexer now doesn't _allocate_ the token structure, also: the vector holding the token doesn't shrink so we have much fewer reallocations
|
2012-08-24 17:37:55 +02:00 |
|
Wolfgang (Blub) Bumiller
|
7cfb9425a0
|
Fixing handling of duplicate frame macros: 'continue' would continue the inner for, how could I miss that
|
2012-08-23 22:40:51 +02:00 |
|
Wolfgang (Blub) Bumiller
|
4f758284a1
|
fixing up prevoius commit: cannot reference the parser here
|
2012-08-23 19:28:15 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5d23fc5f5f
|
Make the lexer use the correct error-printing mechanism
|
2012-08-23 19:20:50 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9f2e8b9bfe
|
-Wframe-macros, warn about duplicate frame macro definitions, on by default
|
2012-08-23 19:16:26 +02:00 |
|
Wolfgang (Blub) Bumiller
|
deb7ccb830
|
for the lexer 3 dots now become TOKEN_DOTS
|
2012-08-23 11:12:32 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e0ffcfb74b
|
Lexer now returns TOKEN_EOF only once and afterwards TOKEN_FATAL
|
2012-08-20 18:12:04 +02:00 |
|
Wolfgang (Blub) Bumiller
|
4cf017bb6b
|
keep the filenames of all lexed files in a global lex_filenames vector because we don't strdup the filenames into lex_ctx, but copy the pointer
|
2012-08-18 16:47:33 +02:00 |
|
Wolfgang (Blub) Bumiller
|
a67110410b
|
clear lex->modelname
|
2012-08-18 16:04:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3efad75336
|
clean lex->frames in lex_close
|
2012-08-18 15:57:21 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d3492d4a13
|
Fix indentation of lexer.c - was still using some tabs there
|
2012-08-18 14:27:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
bc94d3f5b8
|
lexer now turns '(' into an operator if noops=false
|
2012-08-18 14:26:25 +02:00 |
|
Wolfgang (Blub) Bumiller
|
076503770d
|
Support for $modelname and $framerestore
|
2012-08-16 21:02:56 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3b9a6b3ace
|
Don't expand frame macros when they don't have a $ prefix
|
2012-08-16 20:49:58 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e00c8da849
|
Added support for some modelgen/spritegen commands
|
2012-08-16 20:47:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
91ee7658a6
|
'$' is now its own token, used for modeldata
|
2012-08-16 20:03:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
7bc564f175
|
lexer: recognize != as operator when noops=false
|
2012-08-16 16:06:12 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ec439d7880
|
Allow fieldpointer parameters in functions, allow function fields again
|
2012-08-16 15:27:06 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5a383ac2b0
|
Reorganizing expression parsing to allow prefix-operators like unary minus
|
2012-08-16 15:11:03 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0d9435d326
|
util_fopen...
|
2012-08-16 14:01:47 +02:00 |
|
Wolfgang (Blub) Bumiller
|
812cb5be64
|
sscanf -> sscanf_s on windows
|
2012-08-16 13:44:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3017c92edf
|
'local' becomes a keyword
|
2012-08-14 16:10:17 +02:00 |
|
Wolfgang (Blub) Bumiller
|
fd1a850629
|
Recognize a dot as operator when not in 'no-ops' mode in the lexer
|
2012-08-12 19:00:44 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c16a17ed5f
|
recognize a dot as a single char token
|
2012-08-11 14:45:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ce082551d8
|
handling if/else, shunting yard now leaves unmatched closing paren-tokens on the parser for this purpose
|
2012-08-11 11:17:46 +02:00 |
|
Wolfgang (Blub) Bumiller
|
42ab396e38
|
tempcommitting WARN_UNKNOWN_CONTROL_SEQUENCE and handling of backslashes in strings
|
2012-08-08 12:24:01 +02:00 |
|
Wolfgang Bumiller
|
64c230d222
|
Parsing a comma as an operator now - unless noop is true
|
2012-07-27 13:47:01 +02:00 |
|
Wolfgang Bumiller
|
331c00dd50
|
return is a keyword
|
2012-07-26 23:18:15 +02:00 |
|
Wolfgang Bumiller
|
6a346745aa
|
Handling definition of builtins
|
2012-07-19 17:39:19 +02:00 |
|
Wolfgang Bumiller
|
d581fdc048
|
Reading a global def
|
2012-07-16 14:52:52 +02:00 |
|
Wolfgang Bumiller
|
4f611475de
|
Starting some parsing
|
2012-07-16 14:14:37 +02:00 |
|
Wolfgang Bumiller
|
9b6598f049
|
Copying my old lexer
|
2012-07-16 13:59:10 +02:00 |
|