Dale Weiler
|
73c085a461
|
Fix operator precedence, closes #101
|
2013-03-09 04:25:02 +00:00 |
|
Dale Weiler
|
db229b6f94
|
Make ** RIGHT associative
|
2013-03-07 22:14:04 +00:00 |
|
Dale Weiler
|
d3c7b6fb39
|
Implement exponentiation operator ** as well as __builtin_pow (used for exponentiation operator). Use of exponentiation operator with constants results in const folded (precomputed at compile time exponentiation), otherwise runtime exponentiation with some clever loops (slow!).
|
2013-03-07 21:31:19 +00:00 |
|
Dale Weiler
|
a568d43487
|
Implemented __VA_COUNT__
|
2013-02-08 12:30:17 +00:00 |
|
Dale Weiler
|
fed0f8b6b4
|
Work in progress <=> operator.
|
2013-02-05 16:34:03 +00:00 |
|
Dale Weiler
|
b4fbba5708
|
Implement subscripting for __VA_ARGS__, and added test-case. This only works on INTCONST for now.
|
2013-01-27 12:55:56 +00:00 |
|
Wolfgang Bumiller
|
428453a132
|
for compile-time constants << and >> are now available
|
2013-01-10 15:12:19 +01:00 |
|
Dale Weiler
|
9bda8f61f4
|
Add specialized diagnostics for when predefined macros are used and ftepp predefined macros are not enabled.
|
2013-01-03 12:04:32 +00:00 |
|
Wolfgang Bumiller
|
558a091c08
|
remove ast.h-include from lexer.h to parser.c...
|
2013-01-02 15:08:02 +01:00 |
|
Wolfgang Bumiller
|
359ba5f728
|
lex.peek char->int
|
2013-01-02 15:03:20 +01:00 |
|
Wolfgang Bumiller
|
38a664ed72
|
__VA_ARGS__ support
|
2013-01-02 14:15:16 +01:00 |
|
Dale Weiler
|
29db4a44ed
|
Happy new years!
|
2013-01-01 05:08:55 +00:00 |
|
Wolfgang Bumiller
|
12d87fba1b
|
Adding '&~=' to the -std=gmqcc operator list
|
2012-12-31 12:56:04 +01:00 |
|
Dale Weiler
|
d51a6ab3db
|
Whitespace
|
2012-12-23 09:10:31 +00:00 |
|
Dale Weiler
|
5bc815c63f
|
Revert "Whitespace fixes"
This reverts commit 4580dcf1ea .
|
2012-12-23 09:10:07 +00:00 |
|
Dale Weiler
|
4580dcf1ea
|
Whitespace fixes
|
2012-12-23 08:42:53 +00:00 |
|
Wolfgang Bumiller
|
26a80e0868
|
Lexer: [[ and ]] are now TOKEN_ATTRIBUTE_{OPEN,CLOSE}
|
2012-12-22 18:00:51 +01:00 |
|
Wolfgang (Blub) Bumiller
|
95865035eb
|
Fix ternary operator entry for -std=gmqcc
|
2012-12-02 11:56:20 +01:00 |
|
Wolfgang (Blub) Bumiller
|
53fd019780
|
-fcorrect-ternary; by default -std=fteqcc now uses fteqcc's wrong ternary precedence parsing
|
2012-12-01 13:42:16 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b966cd4f4d
|
More ternary fixes
|
2012-12-01 00:50:04 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ca033e5acd
|
Some side-effect propagation for better warnings, so that comma-operators with assignments in them don't cause the -Weffectless-statement warning, and fixing ternary precedence for fte operator list
|
2012-11-25 19:19:36 +01:00 |
|
Dale Weiler
|
5c0a62be96
|
Add respective license headers + some cleanups
|
2012-11-24 21:22:35 +00:00 |
|
Wolfgang (Blub) Bumiller
|
0d33939b1b
|
operator &~=
|
2012-11-23 14:39:05 +01:00 |
|
Wolfgang (Blub) Bumiller
|
5867167a70
|
Fixing operator precedence of suffices
|
2012-11-23 12:32:07 +01:00 |
|
Wolfgang (Blub) Bumiller
|
4079835c7e
|
Parsing of suffix operators, NOTE: applied like prefix operators just to get it committed in a compilable state
|
2012-11-23 11:57:08 +01:00 |
|
Wolfgang (Blub) Bumiller
|
3f805fdde9
|
-std=fteqcc gets its own operator list
|
2012-11-23 11:45:07 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a87bc6a575
|
Removing unused _tokennames from lexer.h
|
2012-11-22 20:42:55 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e0ddf32d2e
|
parsing the ternary
|
2012-11-21 20:36:42 +01:00 |
|
Wolfgang (Blub) Bumiller
|
8517221b1b
|
Inserting ternary in the qcc-operator-list at the place fteqcc would have it
|
2012-11-21 20:16:28 +01:00 |
|
Wolfgang (Blub) Bumiller
|
79619fbf50
|
Experimental support for push/pop(line) pragmas
|
2012-11-18 15:14:42 +01:00 |
|
Wolfgang (Blub) Bumiller
|
053d8fb0e2
|
mergelines flag for the lexer to handle a backslash-newline
|
2012-11-16 20:29:20 +01:00 |
|
Wolfgang (Blub) Bumiller
|
c583ae24f2
|
Replacing lexer's vectors and getting rid of the macros
|
2012-11-15 18:48:38 +01:00 |
|
Wolfgang (Blub) Bumiller
|
84088cb5f0
|
Merging in new-syntax
|
2012-11-14 21:39:16 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2edc7ce822
|
index operator actually has 2 operands, not 0
|
2012-11-11 18:45:20 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a84f9483e6
|
lex_open_string
|
2012-11-11 10:27:09 +01:00 |
|
Wolfgang (Blub) Bumiller
|
4977f605d4
|
array-subscript operator entries
|
2012-11-11 10:13:01 +01:00 |
|
Wolfgang (Blub) Bumiller
|
ab86b0470c
|
preprocessing flag for the lexer
|
2012-11-02 18:33:51 +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
|
aca5e05173
|
removing some old unused stuff from lexer.h
|
2012-08-24 23:21:16 +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
|
19391bb190
|
the -std=qcc set of operators, still have to verify if it's the original
|
2012-08-23 19:01:15 +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
|
e2faedcca8
|
the opening paren is now an operator - to fix up the precedence rules, now 'anentity.afunction()' compiles
|
2012-08-18 15:25:45 +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
|
e00c8da849
|
Added support for some modelgen/spritegen commands
|
2012-08-16 20:47:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
c1bafe3d09
|
OP_PREFIX flag for ~ and !
|
2012-08-16 14:24:12 +02:00 |
|
Wolfgang Bumiller
|
623046dda8
|
the comma is now in the operator list
|
2012-07-27 12:53:15 +02:00 |
|