Saturday, February 10, 2007

PHPCC's Grammar

Here's the grammar for parsing grammars:

<grammar(
alternative::={["[a-zA-Z_][a-zA-Z_0-9]*","=>"],<sequence>;"\|"}.
maybe::="\[",<alternative>,"\]".
list::="\{",<alternative>,";",<alternative>,"\}".
sequence::={["[a-zA-Z_][a-zA-Z_0-9]*","->"],(<list>|<maybe>|<symbol>|<subparser>|alt=>"\(",<alternative>,"\)");","}.
subparser::="<",name->"[a-zA-Z_][a-zA-Z_0-9]*",">".
symbol::=""[^"]+"".
non-terminal::="[a-zA-Z_][a-zA-Z_0-9]*","::=",<alternative>,"\.".
grammar::="\<","[a-zA-Z_][a-zA-Z_0-9]*","\(",(<non-terminal>)*,"\)","\>".
)>

Labels:

0 Comments:

Post a Comment

<< Home