Exemple #1
0
 def make_lexer_(self, file_or_path):
     if hasattr(file_or_path, "read"):
         filename = getattr(file_or_path, "name", None)
         data = file_or_path.read()
     else:
         filename = file_or_path
         with open(file_or_path, "r") as f:
             data = f.read()
     self.lexer_ = Lexer(data, filename)
Exemple #2
0
 def __init__(self, path):
     self.doc_ = ast.VoltFile()
     self.glyphs_ = OrderedSymbolTable()
     self.groups_ = SymbolTable()
     self.anchors_ = {}  # dictionary of SymbolTable() keyed by glyph
     self.scripts_ = SymbolTable()
     self.langs_ = SymbolTable()
     self.lookups_ = SymbolTable()
     self.next_token_type_, self.next_token_ = (None, None)
     self.next_token_location_ = None
     with open(path, "r") as f:
         self.lexer_ = Lexer(f.read(), path)
     self.advance_lexer_()
Exemple #3
0
def lex(s):
    return [(typ, tok) for (typ, tok, _) in Lexer(s, "test.vtp")]