Glslang
Khronos-reference front end for GLSL/ESSL, partial front end for HLSL
...Basic operation is to give it a file containing a shader, and it will print out warnings/errors and optionally an AST. Instead of building manually, you can also download the binaries for your platform directly from the master-tot release on GitHub. Those binaries are automatically uploaded by the build bots after successful testing and they always reflect the current top of the tree of the master branch. Right now, there are two test harnesses existing in glslang: one is Google Test, one is the runtests script. The former runs unit tests and single-shader single-threaded integration tests, while the latter runs multiple-shader linking tests and multi-threaded tests. ...