Ejemplo n.º 1
0
 def la_not_in_set(self, lookahead_exclusions):
     if all(len(excl) == 1 for excl in lookahead_exclusions):
         return grammar.LookaheadRule(
             OrderedFrozenSet(excl[0] for excl in lookahead_exclusions),
             False)
     raise ValueError("unsupported: lookahead > 1 token, {!r}".format(
         lookahead_exclusions))
Ejemplo n.º 2
0
 def la_not_in_set(self, notin, ob, lookahead_exclusions, cb):
     assert (notin, ob, cb) == ("<!", '{', '}')
     if all(len(excl) == 1 for excl in lookahead_exclusions):
         return grammar.LookaheadRule(
             OrderedFrozenSet(excl[0] for excl in lookahead_exclusions),
             False)
     raise ValueError("unsupported: lookahead > 1 token, {!r}".format(
         lookahead_exclusions))
Ejemplo n.º 3
0
 def la_not_in_nonterminal(self, nt):
     return grammar.LookaheadRule(OrderedFrozenSet([nt]), False)
Ejemplo n.º 4
0
 def la_ne(self, t):
     return grammar.LookaheadRule(OrderedFrozenSet([t]), False)
Ejemplo n.º 5
0
 def la_eq(self, t):
     return grammar.LookaheadRule(OrderedFrozenSet([t]), True)
Ejemplo n.º 6
0
 def la_ne(self, ne, t):
     assert ne == "!="
     return grammar.LookaheadRule(OrderedFrozenSet([t]), False)
Ejemplo n.º 7
0
 def la_eq(self, eq, t):
     assert eq == "=="
     return grammar.LookaheadRule(OrderedFrozenSet([t]), True)