Michal Krol
|
2d2d638444
|
glsl: Actually respect the hash-line directive.
|
2009-09-07 10:12:09 +02:00 |
Michal Krol
|
b6df77fb9a
|
glsl: Handle line tokens in apps/process.
|
2009-09-07 10:12:08 +02:00 |
Michal Krol
|
4aa3222df3
|
glsl: Correctly handle line numbering.
|
2009-09-07 10:12:07 +02:00 |
Michal Krol
|
0d9c5eafeb
|
glsl: Preserve newline inside comment blocks.
|
2009-09-07 10:12:06 +02:00 |
Michal Krol
|
e8afc65589
|
glsl: Implement predefinded macros.
The values are hardcoded: __LINE__ = 1, __FILE__ = 0 and __VERSION__ = 110.
|
2009-09-07 10:12:05 +02:00 |
Michal Krol
|
bb8f38ea6f
|
glsl: Implement `line' preprocessor directive.
|
2009-09-07 10:12:03 +02:00 |
Michal Krol
|
ddd8ae7fbc
|
glsl: Output endof token after processing a directive.
Some directives may output tokens as a result of their operation.
|
2009-09-07 10:12:03 +02:00 |
Michal Krol
|
7f187583c1
|
glsl: Handle extension tokens in apps/proces.
|
2009-09-07 10:12:02 +02:00 |
Michal Krol
|
87d2de04fb
|
glsl: Implement `extension' preprocessor directive.
No extensions supported.
|
2009-09-07 10:12:00 +02:00 |
Michal Krol
|
94321b4441
|
glsl: Handle pragma tokens in apps/process.
|
2009-09-07 10:11:59 +02:00 |
Michal Krol
|
0e046420e4
|
glsl: Implement `pragma' preprocessor directive.
Handle `optimize(on|off)' and `debug(on|off)' pragmas.
|
2009-09-07 10:11:58 +02:00 |
Michal Krol
|
c42428c787
|
glsl: Print out error message in apps/process.
|
2009-09-07 10:11:56 +02:00 |
Michal Krol
|
f9bd6f7152
|
glsl: Implement `error' preprocessor directive.
|
2009-09-07 10:11:55 +02:00 |
Michal Krol
|
3dc2b5f71c
|
glsl: Implement `undef' preprocessor directive.
|
2009-09-07 10:11:54 +02:00 |
Michal Krol
|
a294715612
|
glsl: Allow for preprocessor macro redefinition.
|
2009-09-07 10:11:52 +02:00 |
Michal Krol
|
153b179862
|
glsl: Handle `defined' preprocessor operator.
|
2009-09-07 10:11:51 +02:00 |
Michal Krol
|
3b027bca9d
|
glsl: Support if preprocessor directive and friends.
|
2009-09-07 10:11:50 +02:00 |
Michal Krol
|
3bb446ba6e
|
glsl: Add expression interpreter.
|
2009-09-07 10:11:49 +02:00 |
Michal Krol
|
2dad8ed9d6
|
glsl: Centralise sl_pp_macro constructor.
|
2009-09-07 10:11:48 +02:00 |
Michal Krol
|
6a11d4150c
|
glsl: Implement macro expansion.
|
2009-09-07 10:11:47 +02:00 |
Michal Krol
|
5e8e3cddae
|
glsl: Rename sl_pp_context_add_str to sl_pp_context_add_unique_str.
Return the same offset for same strings. Allows to compare strings
by comparing their's offsets.
|
2009-09-07 10:11:46 +02:00 |
Michal Krol
|
fd991d845a
|
glsl: Parse define directive in preprocessor.
|
2009-09-07 10:11:45 +02:00 |
Michal Krol
|
3ce5e66818
|
glsl: Simplify directive parser skeleton.
|
2009-09-07 10:11:44 +02:00 |
Michal Krol
|
f24322fbf6
|
glsl: Introduce sl_pp_context and maintain a reuseable pool of strings.
|
2009-09-07 10:11:43 +02:00 |
Michal Krol
|
f24ec185c5
|
glsl: Add `process' test app that returns tokenised and preprocessed text.
|
2009-09-07 10:11:42 +02:00 |
Michal Krol
|
9d336c5264
|
glsl: Add preprocessor skeleton for directive parsing.
|
2009-09-07 10:11:40 +02:00 |
Michal Krol
|
5d26deef98
|
glsl: Remove bogus sl_pp_directive.h include.
|
2009-09-07 10:11:39 +02:00 |
Michal Krol
|
b4e92367f3
|
glsl: Allow for multiple version statements.
|
2009-09-07 10:11:38 +02:00 |
Michal Krol
|
55f75c13f0
|
glsl/apps: Print out the number of tokens eaten in version test.
|
2009-09-07 10:11:38 +02:00 |
Michal Krol
|
474f754282
|
glsl: Raise an error on an unfinished comment block.
|
2009-09-07 10:11:37 +02:00 |
Michal Krol
|
af617c6037
|
glsl/apps: Add version test app.
|
2009-09-07 10:11:36 +02:00 |
Michal Krol
|
229e72956c
|
glsl: Parse optional version directive.
|
2009-09-07 10:11:33 +02:00 |
Michal Krol
|
0d5ef796f8
|
glsl: Add a tokenise app.
|
2009-09-07 10:11:32 +02:00 |
Michal Krol
|
2c9a627b48
|
glsl: Add a preprocessor tokeniser.
|
2009-09-07 10:11:31 +02:00 |
Michal Krol
|
121769eeb3
|
glsl: Add a purify command-line tool.
|
2009-09-07 10:11:30 +02:00 |
Michal Krol
|
0bbf59c305
|
glsl: Add preprocessor purifier.
|
2009-09-07 10:11:29 +02:00 |