UNPKG

@scinorandex/sparse

Version:

Yet another parser generator

11 lines (10 loc) 750 B
<S>: <PROGRAM>; <PROGRAM: program>: (<PRODUCTIONS: productions>)? [EOF]; <PRODUCTIONS: productions>: <PRODUCTION: production> (<PRODUCTIONS: rest>)?; <PRODUCTION: production>: [L_ANGLE] [IDENTIFIER: production_name] ([COLON] [IDENTIFIER: uuid])? [R_ANGLE] [COLON] <TOKENS: tokens> [SEMICOLON]; <TOKENS: tokens>: <TOKEN: token> (<TOKENS: rest>)?; <TOKEN: token>: <VARIABLE | TERMINAL: token>; <TOKEN: grouped_token>: [L_PAREN] <TOKENS: tokens> [R_PAREN] [QUESTION_MARK: question_mark]; <VARIABLE: variable>: [L_ANGLE] <INSIDE: inside> ([COLON] [IDENTIFIER: token_name])? [R_ANGLE]; <TERMINAL: terminal>: [L_BRACKET] <INSIDE: inside> ([COLON] [IDENTIFIER: token_name])? [R_BRACKET]; <INSIDE: inside>: [IDENTIFIER: identifier] ([PIPE] <INSIDE: rest>)?;