yacc#

astropy.utils.parsing.yacc(tabmodule, package)[source]#

Create a parser from local variables.

It automatically compiles the parser in optimized mode, writing to tabmodule in the same directory as the calling file.

This function is thread-safe, and the returned parser is also thread-safe, provided that it does not share a lexer with any other parser.

It is only intended to work with parsers defined within the calling function, rather than at class or module scope.

Parameters:
tabmodulestr

Name for the file to write with the generated tables, if it does not already exist (without .py suffix).

packagestr

Name of a test package which should be run with pytest to regenerate the output file. This is inserted into a comment in the generated file.