• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..30-Mar-2022-

READMEH A D30-Mar-20221 KiB3022

glcpp-lex.cH A D30-Mar-202290.2 KiB3,2172,183

glcpp-lex.lH A D30-Mar-202216.4 KiB622364

glcpp-parse.cH A D30-Mar-2022159.8 KiB4,9133,559

glcpp-parse.hH A D30-Mar-20223.2 KiB11769

glcpp-parse.yH A D30-Mar-202271.9 KiB2,5471,840

glcpp.cH A D30-Mar-20224.3 KiB183127

glcpp.hH A D30-Mar-20226.5 KiB278193

pp.cH A D30-Mar-20227.1 KiB257149

pp_standalone_scaffolding.cH A D30-Mar-20221.8 KiB5823

pp_standalone_scaffolding.hH A D30-Mar-20221.8 KiB4813

README

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