Home | History | Annotate | Download | only in glcpp
      1 glcpp -- GLSL "C" preprocessor
      2 
      3 This is a simple preprocessor designed to provide the preprocessing
      4 needs of the GLSL language. The requirements for this preprocessor are
      5 specified in the GLSL 1.30 specification availble from:
      6 
      7 http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.10.pdf
      8 
      9 This specification is not precise on some semantics, (for example,
     10 #define and #if), defining these merely "as is standard for C++
     11 preprocessors". To fill in these details, I've been using a draft of
     12 the C99 standard as available from:
     13 
     14 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
     15 
     16 Any downstream compiler accepting output from glcpp should be prepared
     17 to encounter and deal with the following preprocessor macros:
     18 
     19 	#line
     20 	#pragma
     21 	#extension
     22 
     23 All other macros will be handles according to the GLSL specification
     24 and will not appear in the output.
     25 
     26 Known limitations
     27 -----------------
     28 The __LINE__ and __FILE__ macros are not yet supported.
     29 
     30 A file that ends with a function-like macro name as the last
     31 non-whitespace token will result in a parse error, (where it should be
     32 passed through as is).