Revision control

Copy as Markdown

#include "glsllexer.h"
#include "glslparser.h"
%no-enums
%token-prefix=T_
%toupper
%namespace=Parser
%lexer-class=Lexer
%variant-prefix=Lexer::Variant_
using namespace GLSL;
%%
attribute %variant VertexShader
bool
break
bvec2
bvec3
bvec4
case %variant GLSL_150
centroid %variant GLSL_120
const
continue
default %variant GLSL_150
discard %variant FragmentShader
dmat2 %variant GLSL_400
dmat2x2 %variant GLSL_400
dmat2x3 %variant GLSL_400
dmat2x4 %variant GLSL_400
dmat3 %variant GLSL_400
dmat3x2 %variant GLSL_400
dmat3x3 %variant GLSL_400
dmat3x4 %variant GLSL_400
dmat4 %variant GLSL_400
dmat4x2 %variant GLSL_400
dmat4x3 %variant GLSL_400
dmat4x4 %variant GLSL_400
do
double %variant GLSL_400
dvec2 %variant GLSL_400
dvec3 %variant GLSL_400
dvec4 %variant GLSL_400
else
flat %variant GLSL_150
float
for
highp %variant GLSL_ES_100 | GLSL_400
if
in
inout
int
invariant
isampler1D %variant GLSL_150
isampler1DArray %variant GLSL_150
isampler2D %variant GLSL_150
isampler2DArray %variant GLSL_150
isampler2DMS %variant GLSL_150
isampler2DMSArray %variant GLSL_150
isampler2DRect %variant GLSL_150
isampler3D %variant GLSL_150
isamplerBuffer %variant GLSL_150
isamplerCube %variant GLSL_150
isamplerCubeArray %variant GLSL_400
ivec2
ivec3
ivec4
layout %variant GLSL_150
lowp %variant GLSL_ES_100 | GLSL_400
mat2
mat2x2 %variant GLSL_120
mat2x3 %variant GLSL_120
mat2x4 %variant GLSL_120
mat3
mat3x2 %variant GLSL_120
mat3x3 %variant GLSL_120
mat3x4 %variant GLSL_120
mat4
mat4x2 %variant GLSL_120
mat4x3 %variant GLSL_120
mat4x4 %variant GLSL_120
mediump %variant GLSL_ES_100 | GLSL_400
noperspective %variant GLSL_150
out
patch %variant GLSL_400
precision %variant GLSL_ES_100
return
sample %variant Reserved
sampler1D %variant GLSL_120
sampler1DArray %variant GLSL_150
sampler1DArrayShadow %variant GLSL_150
sampler1DShadow %variant GLSL_120
sampler2D
sampler2DArray %variant GLSL_150
sampler2DArrayShadow %variant GLSL_150
sampler2DMS %variant GLSL_150
sampler2DMSArray %variant GLSL_150
sampler2DRect %variang GLSL_150
sampler2DRectShadow %variang GLSL_150
sampler2DShadow %variant GLSL_120
sampler3D %variant GLSL_120
samplerBuffer %variant GLSL_150
samplerCube
samplerCubeArray %variant GLSL_400
samplerCubeArrayShadow %variant GLSL_400
samplerCubeShadow %variant GLSL_400
smooth %variant GLSL_150
struct
subroutine %variant GLSL_400
switch %variant GLSL_150
uint %variant GLSL_150
uniform
usampler1D %variant GLSL_150
usampler1DArray %variant GLSL_150
usampler2D %variant GLSL_150
usampler2DArray %variant GLSL_150
usampler2DMS %variant GLSL_150
usampler2DMSarray %variant GLSL_150
usampler2DRect %variant GLSL_150
usampler3D %variant GLSL_150
usamplerBuffer %variant GLSL_150
usamplerCube %variant GLSL_150
usamplerCubeArray %variant GLSL_400
uvec2 %variant GLSL_150
uvec3 %variant GLSL_150
uvec4 %variant GLSL_150
varying
vec2
vec3
vec4
void
while
true
false