Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Protected Attributes | List of all members
LefParser::Driver Class Reference

#include <LefDriver.h>

Public Member Functions

 Driver (LefDataBase &db)
 
bool parse_stream (std::istream &in, const string &sname="stream input")
 
bool parse_string (const string &input, const string &sname="string stream")
 
bool parse_file (const string &filename)
 

Public Attributes

bool trace_scanning
 enable debug output in the flex scanner
 
bool trace_parsing
 enable debug output in the bison parser
 
string streamname
 stream name (file or input stream) used for error messages.
 

Protected Attributes

LefDataBasem_db
 

Detailed Description

The Driver class brings together all components. It creates an instance of the Parser and Scanner classes and connects them. Then the input stream is fed into the scanner object and the parser gets it's token sequence. Furthermore the driver object is available in the grammar rules as a parameter. Therefore the driver class contains a reference to the structure into which the parsed data is saved.

Definition at line 63 of file LefDriver.h.

Constructor & Destructor Documentation

LefParser::Driver::Driver ( LefDataBase db)

construct a new parser driver context

Parameters
dbreference to database

Member Function Documentation

bool LefParser::Driver::parse_file ( const string &  filename)

Invoke the scanner and parser on a file. Use parse_stream with a std::ifstream if detection of file reading errors is required.

Parameters
filenameinput file name
Returns
true if successfully parsed
bool LefParser::Driver::parse_stream ( std::istream &  in,
const string &  sname = "stream input" 
)

Invoke the scanner and parser for a stream.

Parameters
ininput stream
snamestream name for error messages
Returns
true if successfully parsed
bool LefParser::Driver::parse_string ( const string &  input,
const string &  sname = "string stream" 
)

Invoke the scanner and parser on an input string.

Parameters
inputinput string
snamestream name for error messages
Returns
true if successfully parsed

Member Data Documentation

LefDataBase& LefParser::Driver::m_db
protected

Reference to the database filled during parsing of the expressions.

Definition at line 110 of file LefDriver.h.


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