Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RuleItem:
- def __init__(self, token_kind, optional):
- self.token_kind = token_kind
- self.optional = optional
- def opt(token_kind):
- return RuleItem(token_kind, optional=True)
- def nopt(token_kind):
- return RuleItem(token_kind, optional=False)
- rules = {
- NonTerminalKind.FOR_LOOP: [
- [nopt(TerminalKind.FOR), nopt(TerminalKind.LPAREN), opt(TerminalKind.COMMA), nopt(TerminalKind.RPAREN)],
- [nopt(TerminalKind.FOR), nopt(TerminalKind.LPAREN), opt(TerminalKind.IDENTIFIER), nopt(TerminalKind.RPAREN)],
- ],
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement