Commit graph

140 commits

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