Niels Nesse 793fa269cf Merge remote-tracking branch 'glsl-parser/master' 9 years ago
..
.gitignore 6ab0932a27 Commit glsl-subtree 9 years ago
AstNodes.md 793fa269cf Merge remote-tracking branch 'glsl-parser/master' 9 years ago
LICENSE 6ab0932a27 Commit glsl-subtree 9 years ago
Makefile f8a3146f5a Merge remote-tracking branch 'glsl-parser/master' 9 years ago
Readme.md 2373dd2452 Merge remote-tracking branch 'Y/master' 9 years ago
glsl.lex 793fa269cf Merge remote-tracking branch 'glsl-parser/master' 9 years ago
glsl.y 793fa269cf Merge remote-tracking branch 'glsl-parser/master' 9 years ago
glsl_ast.c 793fa269cf Merge remote-tracking branch 'glsl-parser/master' 9 years ago
glsl_ast.h 2373dd2452 Merge remote-tracking branch 'Y/master' 9 years ago
glsl_parser.h 793fa269cf Merge remote-tracking branch 'glsl-parser/master' 9 years ago
glsl_parser_test.c 793fa269cf Merge remote-tracking branch 'glsl-parser/master' 9 years ago
glsl_regen.c 2373dd2452 Merge remote-tracking branch 'Y/master' 9 years ago

Readme.md

glsl-parser

This is a GLSL parser implemented with flex and bison. The grammar is based on the OpenGL 4.5 reference specs. The parser generates an AST represented in C data structures. The AST structure is documented in AstNodes.md.

The header file glsl_parser.h documents the interface to the parser and the header file glsl_ast.h defines some useful functions for working with the AST it generates.

The included Makefile builds a test program that reads a shader from standard input and prints out a human readable version of the shader's AST and attempts to regenerate the input shader from the AST.