2017-01-17 31 views
3

我使用ANTLR4使用Python和我目前使用的解析如下代码:ANTLR4 + Python的解析从字符串,而不是路径

lexer = MyGrammarLexer(FileStream(path)) 
stream = CommonTokenStream(lexer) 
parser = MyGrammarParser(stream) 
return parser.start().object 

不过,我想改变这种代码直接从解析给定的字符串而不是给定的路径。因此将第一行改为类似于

lexer = MyGrammarLexer(a_given_string) 

我该如何做?

回答

1

纵观Pyhton2Python3运行时的资源,我会说使用InputStream代替:

lexer = MyGrammarLexer(InputStream(a_given_string)) 
+0

作品!完美 - 谢谢:) –