Header only c++ expression parsing library with AST building and GLSL shader generation