Commit graph

129 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
990450bfe0 ## concatenation, -Wpreprocessor warning about redefining macros, #undef 2012-11-16 22:54:59 +01:00
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