12 #ifndef CPROVER_UTIL_PARSER_H 13 #define CPROVER_UTIL_PARSER_H 63 virtual bool parse()=0;
71 const std::string &message,
72 const std::string &before);
142 #define newstack(x) _newstack(PARSER, (x)) 144 #define stack(x) (PARSER.stack[x]) 145 #define stack_expr(x) (PARSER.stack[x]) 146 #define stack_type(x) \ 147 (static_cast<typet &>(static_cast<irept &>(PARSER.stack[x]))) 149 #define YY_INPUT(buf, result, max_size) \ 151 for(result=0; result<max_size;) \ 154 if(!PARSER.read(ch)) \ 166 PARSER.inc_line_no(); \ 176 #define YY_USER_ACTION PARSER.advance_column(yyleng); 178 #endif // CPROVER_UTIL_PARSER_H
unsigned get_column() const
void set_function(const irep_idt &function)
void set_function(const irep_idt &function)
void set_column(unsigned _column)
void parse_error(const std::string &message, const std::string &before)
std::string get_current_working_directory()
unsigned previous_line_no
void set_working_directory(const irep_idt &cwd)
void set_file(const irep_idt &file)
void set_file(const irep_idt &file)
void set_line(const irep_idt &line)
irep_idt get_file() const
unsigned get_line_no() const
std::vector< exprt > stack
void advance_column(unsigned token_width)
const irep_idt & get_file() const
Base class for all expressions.
source_locationt & add_source_location()
void set_line_no(unsigned _line_no)
exprt & _newstack(parsert &parser, unsigned &x)
void set_source_location(exprt &e)
source_locationt source_location