Kenneth Graunke
8a132aa08b
glcpp: Add line locations to various mismatched #if error messages.
2010-06-21 12:31:03 -07:00
Kenneth Graunke
dcdf62f1c6
glcpp: Add line locations to "reserved name" error messages.
2010-06-21 12:31:03 -07:00
Kenneth Graunke
ca9e5fce25
glcpp: Print locations in error messages where possible.
2010-06-21 12:31:03 -07:00
Kenneth Graunke
f1e6c069fa
glcpp: Introduce new glcpp_error function.
2010-06-21 12:31:02 -07:00
Kenneth Graunke
b78c9ddfbf
glcpp: Set locations on tokens.
2010-06-21 11:31:56 -07:00
Kenneth Graunke
db938103c7
glcpp: Set line locations in the lexer.
2010-06-21 11:31:56 -07:00
Kenneth Graunke
465e03ee07
glcpp: Add plumbing to support line locations.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
f70f60739a
glcpp: Add %error-verbose.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
77260fc0a0
glcpp: Actually support #ifdef and #ifndef.
...
Strangely, the lexer never created these tokens, even though the parser
already had code to handle them.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
e0e429fca3
glcpp: Build a reentrant parser.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
b673ff91ab
glcpp: Print errors on stdout instead of stderr (non-standalone version).
...
Otherwise, piglit marks tests as "warn" when the shader was (correctly)
failing.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
3370c5f90b
glcpp/tests: Add extra newline at the end of expected output.
...
This newline at EOF is harmless and generated by the previous commit.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
f82d673648
glcpp: Handle missing newline at EOF.
...
Fixes CorrectFuncOverload.vert.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
739ba06680
glcpp: Complain about unrecognized directives.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
3b73ea36c4
glcpp: Pass #version, #extension, and #pragma directives through unchanged.
...
Let the main compiler's lexer/parser handle them.
2010-06-21 11:31:55 -07:00
Kenneth Graunke
04ba86a536
Make the main compiler call the preprocessor.
...
By using a single function, the main compiler doesn't need to include
glcpp.h, which currently has a lot of details about the preprocessor
internals. In particular, this prevents the two yacc grammars from
seeing each other, which would be rather messy to sort out.
2010-06-21 11:31:54 -07:00
Kenneth Graunke
1b1f43e608
glcpp: Add support for lexing from a string.
...
The standalone binary still reads from stdin, however.
2010-06-21 11:25:50 -07:00
Kenneth Graunke
4c8a1af811
glcpp: Output to a buffer and error log rather than directly printing.
...
In the standalone case, simply print the buffers when done.
2010-06-21 11:25:50 -07:00
Kenneth Graunke
0656f6b875
glcpp: Fix a case of == where = probably ought to be.
...
Caught by a GCC warning.
2010-06-21 11:25:50 -07:00
Kenneth Graunke
cbaab7093c
Add glcpp to the build.
2010-06-21 11:25:48 -07:00
Kenneth Graunke
254a485c33
Specify %option prefix="glcpp_" in the source code, not the Makefile.
2010-06-21 11:25:30 -07:00
Kenneth Graunke
6f510a49d2
Merge Carl's preprocessor into the glcpp subdirectory.
2010-06-21 11:22:11 -07:00