parse_error::parse_error(const Location &loc, const string &token, const string &expected):
invalid_shader_source(loc, "Parse error at '%s': expected %s", token, expected)
{ }
parse_error::parse_error(const Location &loc, const string &token, const string &expected):
invalid_shader_source(loc, "Parse error at '%s': expected %s", token, expected)
{ }