Cvc5InputParser
This struct is the main interface for retrieving commands
and expressions
from an input.
-
typedef struct Cvc5InputParser Cvc5InputParser
This struct is the main interface for retrieving commands and expressions from an input using a parser.
After construction, it is expected that an input is first configure via, e.g.,
cvc5_parser_set_file_input()
,cvc5_parser_set_str_input()
orcvc5_parser_set_inc_str_input()
andcvc5_parser_append_inc_str_input()
. Then, functionscvc5_parser_next_command()
andcvc5_parser_next_term()
can be invoked to parse the input.The input parser interacts with a symbol manager, which determines which symbols are defined in the current context, based on the background logic and user-defined symbols. If no symbol manager is provided, then the input parser will construct (an initially empty) one.
If provided, the symbol manager must have a logic that is compatible with the provided solver. That is, if both the solver and symbol manager have their logics set (
cvc5_sm_is_logic_set()
andcvc5_is_logic_set()
), then their logics must be the same.Upon setting an input source, if either the solver (resp. symbol manager) has its logic set, then the symbol manager (resp. solver) is set to use that logic, if its logic is not already set.
Warning
doxygengroup: Cannot find group “c_cvc5inputparser” in doxygen xml output for project “cvc5_c” from directory: /home/runner/work/cvc5/cvc5/build-shared/docs/api/c/doxygen/xml