Find a file
Carl Worth 5aa7ea0809 Remove a bunch of old code and give the static treatment to what's left.
We're no longer using the expansion stack, so its functions can go
along with most of the body of glcpp_parser_lex that was using it.
2010-05-25 18:39:43 -07:00
main Add hash table implementation from glsl2 project. 2010-05-10 13:36:26 -07:00
tests Collapse multiple spaces in input down to a single space. 2010-05-25 17:08:07 -07:00
.gitignore Add a very simple test for the pre-processor. 2010-05-10 16:21:10 -07:00
glcpp-lex.l Collapse multiple spaces in input down to a single space. 2010-05-25 17:08:07 -07:00
glcpp-parse.y Remove a bunch of old code and give the static treatment to what's left. 2010-05-25 18:39:43 -07:00
glcpp.c Fix defines involving both literals and other defined macros. 2010-05-12 12:25:34 -07:00
glcpp.h Remove a bunch of old code and give the static treatment to what's left. 2010-05-25 18:39:43 -07:00
hash_table.c Add hash table implementation from glsl2 project. 2010-05-10 13:36:26 -07:00
hash_table.h Add hash table implementation from glsl2 project. 2010-05-10 13:36:26 -07:00
Makefile Add a wrapper function around the lexer. 2010-05-19 10:01:29 -07:00
README Add README file describing glcpp. 2010-05-11 12:20:15 -07:00
xtalloc.c Add xtalloc_reference. 2010-05-25 14:40:47 -07:00

glcpp -- GLSL "C" preprocessor

This is a simple preprocessor designed to provide the preprocessing
needs of the GLSL language. The requirements for this preprocessor are
specified in the GLSL 1.30 specification availble from:

http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.pdf

This specification is not precise on some semantics, (for example,
#define and #if), defining these merely "as is standard for C++
preprocessors". To fill in these details, I've been using the C99
standard (for which I had a convenient copy) as available from:

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf