gpp
gpp copied to clipboard
GPP, a generic preprocessor
I have the following test file: #mode preservelf off #mode user "$" "$" "{" "}{" "}$" "{" "}" "@" "~" #mode meta "$" "$\w\n" "{" "}{" "}$\w\n" "{" "}" $define{macro}{xyzzy}$...
The suggestion here is to add support for a custom set of delimiters, such as "#include [file]", or "#include (file)". The advantage is that the choice of delimiter can be...
I just discovered gpp and I love it. I am mostly surprised that HTML and XHTML modes do not use comments in their syntax. I think the main point of...
If any meta-macro that does #eval-style evaluation is nested within any other such meta-macro, GPP prints a warning about attempting to redefine the #defined macro. Seems to be caused by...
In the GNU C pre-processor, an argument called '-isysroot' (or '--sysroot', depending on circumstances) is allowed to specify the first part of the path or paths used in '-I' arguments....
It would be nice to have an option like the -imacros option from cpp. (I can't see a way to achieve this behaviour with gpp) To cite the cpp manual:...
We currently have https://github.com/logological/gpp/blob/8e6fe69819d1c2cb2fd5cadfd3193ff99993264d/src/gpp.c#L3137-L3141 with the justification https://github.com/logological/gpp/blob/8e6fe69819d1c2cb2fd5cadfd3193ff99993264d/src/gpp.c#L3147-L3149. Other platforms (mainly Unix-like) can have backslashes in the filename too -- they may even be *more* liberal at that and allow...
A significant shortfall between gpp and cpp appears to be variadic macros. People have asked for it in [Fortran](https://stackoverflow.com/questions/41335383/cpp-gpp-in-fortran-variadic-macro-plus-fortran-concatenation) and in [JavaScript](https://stackoverflow.com/questions/2072716/javascript-friendly-preprocessor-dilemma). This would require expanding the meta definition to...
The source code should be reformatted and some stylistic issues corrected: - needs pretty-printing (more whitespace between arguments) - needs function prototypes - needs comments dividing code into sections -...
In the documentation _long macro end sequence_ should be changed to _argument end sequence_.