We need to switch away from Grammatica.
-
It doesn't support case insensitive parsing (the main reason to switch).
-
It is old and barely supported (last update was 2009).
-
It is a C++ project.
I feel that the Tiny Parser Generator is a better solution.
The hard issue is that we need to preserve the same technique HL2GLSL currently uses. We need to read and alter the parse tree generated by TinyPG and be able to dump the altered tree back to disk.
This may be a very big rewrite of most of HL2GLSL.
We need to switch away from Grammatica.
It doesn't support case insensitive parsing (the main reason to switch).
It is old and barely supported (last update was 2009).
It is a C++ project.
I feel that the Tiny Parser Generator is a better solution.
The hard issue is that we need to preserve the same technique HL2GLSL currently uses. We need to read and alter the parse tree generated by TinyPG and be able to dump the altered tree back to disk.
This may be a very big rewrite of most of HL2GLSL.