cprover
json_parsert Class Reference

#include <json_parser.h>

Inheritance diagram for json_parsert:
[legend]
Collaboration diagram for json_parsert:
[legend]

Public Types

typedef std::stack< jsont, std::vector< jsont > > stackt
 
- 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
}
 

Public Member Functions

jsonttop ()
 
virtual bool parse () override
 
void push (const jsont &x)
 
void pop (jsont &dest)
 
virtual void clear () override
 
- Public Member Functions inherited from parsert
 parsert ()
 
virtual ~parsert ()
 
bool read (char &ch)
 
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 mstream using output_generator if the configured verbosity is at least as high as that of mstream. More...
 

Public Attributes

stackt stack
 
- Public Attributes inherited from parsert
std::istream * in
 
std::string this_line
 
std::string last_line
 
std::vector< exprtstack
 

Additional Inherited Members

- 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 mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 
- Protected Attributes inherited from parsert
source_locationt source_location
 
unsigned line_no
 
unsigned previous_line_no
 
unsigned column
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Detailed Description

Definition at line 22 of file json_parser.h.

Member Typedef Documentation

◆ stackt

typedef std::stack<jsont, std::vector<jsont> > json_parsert::stackt

Definition at line 25 of file json_parser.h.

Member Function Documentation

◆ clear()

virtual void json_parsert::clear ( void  )
inlineoverridevirtual

Reimplemented from parsert.

Definition at line 47 of file json_parser.h.

References stack, and yyjsonrestart().

Referenced by parse_json().

◆ parse()

virtual bool json_parsert::parse ( )
inlineoverridevirtual

Implements parsert.

Definition at line 30 of file json_parser.h.

References yyjsonparse().

Referenced by parse_json().

◆ pop()

void json_parsert::pop ( jsont dest)
inline

Definition at line 40 of file json_parser.h.

References stack, and jsont::swap().

Referenced by yyjsonparse().

◆ push()

void json_parsert::push ( const jsont x)
inline

Definition at line 35 of file json_parser.h.

References stack.

Referenced by yyjsonparse().

◆ top()

jsont& json_parsert::top ( )
inline

Definition at line 28 of file json_parser.h.

References stack.

Referenced by yyjsonparse().

Member Data Documentation

◆ stack

stackt json_parsert::stack

Definition at line 26 of file json_parser.h.

Referenced by clear(), parse_json(), pop(), push(), and top().


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