Parser class
Grows the shared typed AST (declarations + per-function statement trees) from an already-lowered modern-GLSL stage token stream.
Handles the translated subset the AST-based emitters share: global-scope struct/block/uniform/sampler/ interface declarations, layout(location) qualifiers, gl_VertexID, and function bodies as Stmt trees. Constructs outside the subset make Ok() return false with a Reason(); the emitter then declines.
Public types
- struct FragOutputDecl
Constructors, destructors, conversion operators
- Parser(const SmallVectorImpl<GlslToken>& tokens, bool vertexStage)
Public functions
Public variables
- SmallVector<StructDecl, 0> Structs
- SmallVector<BlockDecl, 0> Blocks
- SmallVector<UniformDecl, 0> Uniforms
- SmallVector<SamplerDecl, 0> Samplers
- SmallVector<VaryingDecl, 0> Varyings
- SmallVector<AttributeDecl, 0> Attributes
- SmallVector<GlobalVarDecl, 0> GlobalVars
- SmallVector<Function, 0> Functions
- SmallVector<FragOutputDecl, 0> FragOutputs