2017-01-17 12 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

Глядя на источниках Pyhton2 и Python3 автономной работы, я бы сказал, что использовать вместо InputStream:

lexer = MyGrammarLexer(InputStream(a_given_string)) 
+0

Works! Отлично спасибо :) –