コード例 #1
0
ファイル: semantics.py プロジェクト: vmuriart/grako
 def elements(self, ast):
     elements = [e for e in ast if e is not None]
     if not elements:
         return model.Void()
     elif len(elements) == 1:
         return elements[0]
     else:
         return model.Sequence(AST(sequence=elements))
コード例 #2
0
ファイル: semantics.py プロジェクト: vmuriart/grako
 def negative(self, ast):
     neg = model.NegativeLookahead(ast)
     any = model.Pattern('.')
     return model.Sequence(AST(sequence=[neg, any]))
コード例 #3
0
 def negative(self, ast):
     neg = model.LookaheadNot(ast)
     any = model.Pattern('.')
     return model.Sequence([neg, any])
コード例 #4
0
ファイル: semantics.py プロジェクト: waveform80/grako
 def sequence(self, ast, *args):
     seq = ast.sequence
     assert isinstance(seq, list), str(seq)
     if len(seq) == 1:
         return seq[0]
     return grammars.Sequence(ast)