Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  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).