Search code examples
pythonparsingantlrantlr4

ANTLR4 + Python parsing from string instead of path


I am using ANTLR4 with Python and I am currently using the following code for parsing:

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

However, I would like to change this code to parse directly from a given string instead of a given path. Thus changing the first line to something similar to

lexer = MyGrammarLexer(a_given_string)

How do I do this?


Solution

  • Looking at the sources of the Python2 and Python3 runtimes, I'd say use an InputStream instead:

    lexer = MyGrammarLexer(InputStream(a_given_string))