I've just added this project grammar to https://mingodad.github.io/parsertl-playground/playground/ an Yacc/Lex compatible online editor/tester (select OpenShadingLanguage parser (partially working) from Examples then click Parse to see a parse tree for the content in Input source).
Notice that I've replaced right recursion by left recursion in some rules and fixed the reduce/reduce conflicts changing some rules.
And here is an EBNF to generate a nice navigable railroad diagram:
I've just added this project grammar to https://mingodad.github.io/parsertl-playground/playground/ an
Yacc/Lex
compatible online editor/tester (selectOpenShadingLanguage parser (partially working)
fromExamples
then clickParse
to see a parse tree for the content inInput source
).Notice that I've replaced right recursion by left recursion in some rules and fixed the
reduce/reduce
conflicts changing some rules.And here is an
EBNF
to generate a nice navigable railroad diagram: