Commit graph

1233 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
d237ff1736 don't error on non-EOL EOF at the end of a macro line 2012-11-16 22:41:29 +01:00
Wolfgang (Blub) Bumiller
0ad2b8b2c7 also use recursive-expansion on macros without parameters 2012-11-16 22:38:58 +01:00
Wolfgang (Blub) Bumiller
57ac55ad01 recursively call the preprocessor on expanded macros 2012-11-16 22:31:51 +01:00
Wolfgang (Blub) Bumiller
05a26333fc Expand macros into a string buffer 2012-11-16 22:22:31 +01:00
Wolfgang (Blub) Bumiller
99dd208880 moving ftepp_delete out of ftepp_preprocess so that it can actually be called recursively 2012-11-16 22:07:53 +01:00
Wolfgang (Blub) Bumiller
03f0e39f7f ftepp_out can now output to a string buffer 2012-11-16 22:06:07 +01:00
Wolfgang (Blub) Bumiller
b8a5c87360 Correctly handle nested #ifs 2012-11-16 22:02:38 +01:00
Wolfgang (Blub) Bumiller
5b91c2af5e Relax the preprocessor condition: # in the middle of a line also counts, but take care of builtin numbers since they use # as well 2012-11-16 21:37:34 +01:00
Wolfgang (Blub) Bumiller
7e660951c2 Fix a bug in macro call parameter parsing 2012-11-16 21:27:15 +01:00
Wolfgang (Blub) Bumiller
d688820518 Parsing parameters for a macro call 2012-11-16 21:20:31 +01:00
Wolfgang (Blub) Bumiller
a56c224f9c macro_body parse function shouldn't skip whitespace inside 2012-11-16 20:50:28 +01:00
Wolfgang (Blub) Bumiller
6c0b4a46fe moving ftepp_out further up, using it in ftepp_macro_call, generating output of parameter-less macros 2012-11-16 20:49:37 +01:00
Wolfgang (Blub) Bumiller
5f287fc476 ftepp_macro_call/ftepp_skipallwhite 2012-11-16 20:46:52 +01:00
Wolfgang (Blub) Bumiller
0bd0a430d6 Also allow empty-parameter-list macros 2012-11-16 20:41:20 +01:00
Wolfgang (Blub) Bumiller
c48b9dbf61 Parsing basic macro body, no special tokens yet 2012-11-16 20:38:44 +01:00
Wolfgang (Blub) Bumiller
52d7a5d7be Set the mergelines flag only for preprocessor commands 2012-11-16 20:32:03 +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
d4fe6ed82d fixing up dtors, parsing parameters of macros 2012-11-16 20:15:04 +01:00
Wolfgang (Blub) Bumiller
34646cfca7 Update #if description comment 2012-11-16 20:04:30 +01:00
Wolfgang (Blub) Bumiller
45a354d664 Unary NOT in #if 2012-11-16 20:02:27 +01:00
Wolfgang (Blub) Bumiller
bdd8b8275e handling the noops flag better now 2012-11-16 19:32:02 +01:00
Wolfgang (Blub) Bumiller
6ab09ef3bf Parsing some basic #ifs with defined() 2012-11-16 19:28:20 +01:00
Wolfgang (Blub) Bumiller
bd5b2a8b58 Fixing indentation 2012-11-16 19:07:23 +01:00
Wolfgang (Blub) Bumiller
0c75182aab Some #if parsing 2012-11-16 19:01:44 +01:00
Wolfgang (Blub) Bumiller
0473fd84d1 using ftepp_out which will honor conditions 2012-11-16 18:29:46 +01:00
Wolfgang (Blub) Bumiller
cc1c197fc6 macro structure, parsing ifdefs and non-macro defines 2012-11-16 18:27:32 +01:00
Wolfgang (Blub) Bumiller
4bee1bdb6e Basic structure of ftepp 2012-11-16 17:46:16 +01:00
Wolfgang (Blub) Bumiller
07ca2e6407 importing initial ftepp.c; -E option now executes the preprocessor 2012-11-16 16:57:59 +01:00
Wolfgang (Blub) Bumiller
9d57cf2774 Removing old make rules for ir/ast tests in deleted test/ dir 2012-11-16 16:42:30 +01:00
Wolfgang (Blub) Bumiller
d1640f177f Free the 3 actual vectors, not the first 3 times 2012-11-15 21:40:32 +01:00
Wolfgang (Blub) Bumiller
4517072af4 Fixing util_memory_r 2012-11-15 21:36:36 +01:00
Wolfgang (Blub) Bumiller
3bd75546ec moving _vec_remove above the 'exposed interface' comment 2012-11-15 21:24:31 +01:00
Wolfgang (Blub) Bumiller
df61f3c182 Fix a typo causing NOTRACK to fail 2012-11-15 21:18:31 +01:00
Dale Weiler
fb30dd9a3f This bug was what caused mem.c to crash, dear lord 2012-11-15 20:04:05 +00: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
906f319673 Replaced it all... 2012-11-15 18:32:09 +01:00
Wolfgang (Blub) Bumiller
b8fc2b7731 cleaned up empty lines 2012-11-15 11:02:16 +01:00
Dale Weiler
29336ef63d Some man page changes 2012-11-15 03:53:31 +00:00
Dale Weiler
0b8da9eeb4 Some more changes: added redirout/redirerr command line options 2012-11-15 03:38:20 +00:00
Dale Weiler
dcacaca2e8 added --nocolor and fixed bug 2012-11-15 00:50:05 +00:00
Dale Weiler
69408fd58d Remove test binary file 2012-11-15 00:29:05 +00:00
Dale Weiler
2e84cc0b41 Use new console system everywhere. 2012-11-15 00:28:46 +00:00
Dale Weiler
ac01e3b5d3 FIX TEH BLOCK 2012-11-14 20:41:15 +00:00
Wolfgang (Blub) Bumiller
84088cb5f0 Merging in new-syntax 2012-11-14 21:39:16 +01:00
Dale Weiler
18deba1a51 Remove the tput shit 2012-11-14 20:18:52 +00:00
Dale Weiler
f0678cfa5a Fix teh bugs, thanks div0 2012-11-14 19:38:05 +00:00
Dale Weiler
db7a1784d4 Clever hack to determine terminal color support for *nix. Uses zero libraries :) 2012-11-14 19:30:07 +00:00
Dale Weiler
f0750209b7 preliminary segregated console subsystem 2012-11-14 19:17:43 +00:00
Wolfgang (Blub) Bumiller
f3ebbf598f if not() support 2012-11-13 18:55:55 +01:00
Wolfgang (Blub) Bumiller
8f1f6160e3 'not' is now a keyword 2012-11-13 18:55:48 +01:00