Where can I find a formal grammar for the Perl programming language?
I understand that the Perl syntax is ambiguous and that its disambiguation is non-trivial ( sometimes involving execution of code during the compile phase ). Regardless, does Perl have a formal grammar (albeit ambiguous and/or context-sensitive)? From perlfaq7 Can I get a BNF/yacc/RE for the Perl language? There is no BNF, but you can paw your way through the yacc grammar in perly.y in the source distribution if you're particularly brave. The grammar relies on very smart tokenizing code, so be prepared to venture into toke.c as well. In the words of Chaim Frenkel: "Perl's grammar can not be