Commit graph

82 commits

Author SHA1 Message Date
Dale Weiler
783b7b6594 Update license headers 2015-01-09 14:53:35 -05:00
Wolfgang Bumiller
2a00b386ba renaming the length operator to _length and fixing the lexing of that operator, generic names for operators is really a bad idea 2014-10-18 13:47:23 +02:00
Dale Weiler
b08195e2da Implemented length operator. This closes #130 2014-09-27 04:15:32 -04:00
Dale Weiler
a934e0fe4b Happy new year! 2014-01-01 06:24:16 -05:00
Dale Weiler
4583cb8280 cleanup 2013-11-29 13:13:39 -05:00
Wolfgang Bumiller
ec03b55d1a now it parses and has the desired precedence 2013-11-16 14:34:24 +01:00
Wolfgang Bumiller
9131644412 ** precedence was wrong 2013-11-16 14:26:46 +01:00
Dale Weiler
0f479f3e88 Another one 2013-10-16 21:47:12 -04:00
Dale Weiler
033cf7c7d3 More cleanups 2013-10-11 03:59:25 -04:00
Dale Weiler
64661f54ea Implemented >< (vector cross product operator). Currently support for constants only. 2013-08-31 13:41:25 -04:00
Dale Weiler
f8af7adcd7 Remove &~= operator from gmqccs operator table, only fteqcc supports it. 2013-08-29 07:19:19 -04:00
Dale Weiler
2a79339735 Remove that idiom, and use GMQCC_ARRAY_COUNT. 2013-08-17 23:39:06 +00:00
Dale Weiler
1538e69f93 Fixes 2013-07-31 15:56:56 +00:00
Dale Weiler
fa5ad1212e Operator constant folding rewrite almost complete, just need to track down why two tests are failing. 2013-07-31 15:49:45 +00:00
Dale Weiler
920dbaf1e0 Work in progress constant-folding rewrite. 2013-07-31 09:04:19 +00:00
Dale Weiler
d6ca5673dc Use the _t consistency naming scheme. Also various cleanups. 2013-07-30 16:00:51 +00:00
Dale Weiler
0291726c09 Fedora spec files (0.2.9 and 0.3.0) + INSTALL documentation, thanks Igor Gnatenko. 2013-07-27 16:33:33 +00:00
Dale Weiler
8db9724c5d Revert "Smaller memory footprint, 4/8 bytes vs 12/24 for individual token lex_ctx's. Use to be a 'shallow' copy of the details in lex_file, now it's a pointer to the contents in lex_file."
This reverts commit cddf70f46b.
2013-07-26 16:17:41 +00:00
Dale Weiler
cddf70f46b Smaller memory footprint, 4/8 bytes vs 12/24 for individual token lex_ctx's. Use to be a 'shallow' copy of the details in lex_file, now it's a pointer to the contents in lex_file. 2013-07-26 16:09:26 +00:00
Dale Weiler
11179a2a71 Major header reworking, this respects the namespaces properly. Makes object dependency more obvious, allows for better make caches, and prevents misuse of library features, i.e use con_* instead of printf. 2013-06-04 02:47:07 +00:00
Dale Weiler
0b6269f607 column printing for warnings and errors now 2013-05-30 19:36:01 +00:00
Dale Weiler
f892b32335 Major export cleanup. Anything that was exported but wasn't used outside where it was implemented has been turned into static, and their exports have been removed. This actually makes the compiler compile slightly faster. 2013-05-29 03:29:04 +00:00
Dale Weiler
df8b486c98 Prevent negitive numbers from being used as the left operand of shift operator. 2013-05-29 02:37:45 +00:00
Wolfgang Bumiller
c3f4b7153b change the value of TOKEN_EOF 2013-04-25 17:39:12 +02:00
Wolfgang Bumiller
3a4aba0b31 Grrrr 2013-04-24 17:47:42 +02:00
Dale Weiler
489ad486bc Get it compiling in visual studio again. 2013-04-24 01:43:53 +00:00
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