Hi all,
I am wondering if it is possible to interpret a c-preprocessor (the second
preprocessor, not the one expanding trigrams and removing "\\\n") or an m4
grammar through bison, and in case if it has already been done.
I think this kind of tool does not produce a type-2 Chomsky grammar,
rather a type-1 or even type-0.
Any idea how to build something like an AST from it?
The purpose would be to use in a text editor, to know how to format for
example a block between #if/#endif (according to the condition, for example
could be greyed out if false),
or whether all blocks are closed (see for example this (simplified) macro
from systemd):
# define _SD_BEGIN_DECLARATIONS \
extern "C" { \
struct _sd_useless_struct_to_allow_trailing_semicolon_
#endif
or to colorize a macro, although this latter would require post-processing
its expansion with a normal C grammar, and pick one of the tokens (the last
for example) as representative of the adequate color.
Thank you,
Giacinto