CBMC
parsert Class Referenceabstract

#include <parser.h>

+ Inheritance diagram for parsert:
+ Collaboration diagram for parsert:

Public Member Functions

virtual void clear ()
 
 parsert ()
 
virtual ~parsert ()
 
bool read (char &ch)
 
virtual bool parse ()=0
 
bool eof ()
 
void parse_error (const std::string &message, const std::string &before)
 
void inc_line_no ()
 
void set_line_no (unsigned _line_no)
 
void set_file (const irep_idt &file)
 
irep_idt get_file () const
 
unsigned get_line_no () const
 
unsigned get_column () const
 
void set_column (unsigned _column)
 
void set_source_location (exprt &e)
 
void set_function (const irep_idt &function)
 
void advance_column (unsigned token_width)
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to message_stream using output_generator if the configured verbosity is at least as high as that of message_stream. More...
 

Public Attributes

std::istream * in
 
std::string this_line
 
std::string last_line
 
std::vector< exprtstack
 

Protected Attributes

source_locationt source_location
 
unsigned line_no
 
unsigned previous_line_no
 
unsigned column
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Public Member Functions inherited from messaget
static unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static commandt command (unsigned c)
 Create an ECMA-48 SGR (Select Graphic Rendition) command. More...
 
- Static Public Attributes inherited from messaget
static eomt eom
 
static const commandt reset
 return to default formatting, as defined by the terminal More...
 
static const commandt red
 render text with red foreground color More...
 
static const commandt green
 render text with green foreground color More...
 
static const commandt yellow
 render text with yellow foreground color More...
 
static const commandt blue
 render text with blue foreground color More...
 
static const commandt magenta
 render text with magenta foreground color More...
 
static const commandt cyan
 render text with cyan foreground color More...
 
static const commandt bright_red
 render text with bright red foreground color More...
 
static const commandt bright_green
 render text with bright green foreground color More...
 
static const commandt bright_yellow
 render text with bright yellow foreground color More...
 
static const commandt bright_blue
 render text with bright blue foreground color More...
 
static const commandt bright_magenta
 render text with bright magenta foreground color More...
 
static const commandt bright_cyan
 render text with bright cyan foreground color More...
 
static const commandt bold
 render text with bold font More...
 
static const commandt faint
 render text with faint font More...
 
static const commandt italic
 render italic text More...
 
static const commandt underline
 render underlined text More...
 

Detailed Description

Definition at line 23 of file parser.h.

Constructor & Destructor Documentation

◆ parsert()

parsert::parsert ( )
inline

Definition at line 42 of file parser.h.

◆ ~parsert()

virtual parsert::~parsert ( )
inlinevirtual

Definition at line 43 of file parser.h.

Member Function Documentation

◆ advance_column()

void parsert::advance_column ( unsigned  token_width)
inline

Definition at line 129 of file parser.h.

◆ clear()

virtual void parsert::clear ( )
inlinevirtual

◆ eof()

bool parsert::eof ( )
inline

Definition at line 65 of file parser.h.

◆ get_column()

unsigned parsert::get_column ( ) const
inline

Definition at line 102 of file parser.h.

◆ get_file()

irep_idt parsert::get_file ( ) const
inline

Definition at line 92 of file parser.h.

◆ get_line_no()

unsigned parsert::get_line_no ( ) const
inline

Definition at line 97 of file parser.h.

◆ inc_line_no()

void parsert::inc_line_no ( )
inline

Definition at line 74 of file parser.h.

◆ parse()

virtual bool parsert::parse ( )
pure virtual

◆ parse_error()

void parsert::parse_error ( const std::string &  message,
const std::string &  before 
)

Definition at line 30 of file parser.cpp.

◆ read()

bool parsert::read ( char &  ch)
inline

Definition at line 47 of file parser.h.

◆ set_column()

void parsert::set_column ( unsigned  _column)
inline

Definition at line 107 of file parser.h.

◆ set_file()

void parsert::set_file ( const irep_idt file)
inline

Definition at line 85 of file parser.h.

◆ set_function()

void parsert::set_function ( const irep_idt function)
inline

Definition at line 124 of file parser.h.

◆ set_line_no()

void parsert::set_line_no ( unsigned  _line_no)
inline

Definition at line 80 of file parser.h.

◆ set_source_location()

void parsert::set_source_location ( exprt e)
inline

Definition at line 112 of file parser.h.

Member Data Documentation

◆ column

unsigned parsert::column
protected

Definition at line 137 of file parser.h.

◆ in

std::istream* parsert::in

Definition at line 26 of file parser.h.

◆ last_line

std::string parsert::last_line

Definition at line 28 of file parser.h.

◆ line_no

unsigned parsert::line_no
protected

Definition at line 136 of file parser.h.

◆ previous_line_no

unsigned parsert::previous_line_no
protected

Definition at line 136 of file parser.h.

◆ source_location

source_locationt parsert::source_location
protected

Definition at line 135 of file parser.h.

◆ stack

std::vector<exprt> parsert::stack

Definition at line 30 of file parser.h.

◆ this_line

std::string parsert::this_line

Definition at line 28 of file parser.h.


The documentation for this class was generated from the following files: