8 #ifndef BOOKSHELFPARSER_DRIVER_H
9 #define BOOKSHELFPARSER_DRIVER_H
25 using std::ostringstream;
58 const string& sname =
"stream input");
66 const string& sname =
"string stream");
81 void error(
const class location& l,
const string& m);
85 void error(
const string& m);
113 void netPinEntryCbk(
string&,
char,
double,
double,
double,
double,
string&);
115 void netPinEntryCbk(
string&,
char,
double,
double,
double=0.0,
double=0.0);
151 void auxCbk(
string&, vector<string>&);
175 #endif // EXAMPLE_DRIVER_H
void netEntryCbk()
from .nets file, net entry
void error(const class location &l, const string &m)
bool trace_scanning
enable debug output in the flex scanner
bool parse_file(const string &filename)
bool trace_parsing
enable debug output in the bison parser
bool readPl(BookshelfDataBase &db, const string &plFile)
Read .pl file only, the callback only provide positions and orientation.
vector< string > m_vBookshelfFiles
store bookshelf files except .aux
void sclCoreRowCoordinate(int)
from .scl file, core row coordinate
void numPinCbk(int)
from .nets file, number of pins
Base class for bookshelf database. Only pure virtual functions are defined. User needs to inheritate ...
namespace for BookshelfParser
void auxCbk(string &, vector< string > &)
from .aux file, other bookshelf files
void sclCoreRowSiteorient(int)
from .scl file, site orientation
string streamname
stream name (file or input stream) used for error messages.
net to describe interconnection of netlist
void sclCoreRowSitewidth(int)
from .scl file, site width
void plNodeEntryCbk(string &, double, double, string &, string &)
from .pl file, node entry in placement
void sclCoreRowSitesymmetry(int)
from .scl file, site symmetry
vector< string > const & bookshelfFiles() const
void sclCoreRowEnd()
from .scl file, end of core row
Row m_row
temporary storage of row
void netPinEntryCbk(string &, char, double, double, double, double, string &)
from .nets file, entry of net and pin
void sclCoreRowStart(string const &)
from .scl file, core row start
void terminalEntryCbk(string &, int, int)
from .nodes file, terminal entry
Driver(BookshelfDataBase &db)
bool parse_string(const string &input, const string &sname="string stream")
bool read(BookshelfDataBase &db, const string &auxFile)
API for BookshelfParser. Read .aux file and parse all other files.
void netNameAndDegreeCbk(string &, int)
from .nets file, net name and degree
void sclCoreRowSubRowOrigin(int)
from .scl file, subrow origin
void sclNumRows(int)
from .scl file, number of rows
Net m_net
temporary storage of net
bool parse_stream(std::istream &in, const string &sname="stream input")
void sclCoreRowNumSites(int)
from .scl file, number of sites
void sclCoreRowSitespacing(int)
from .scl file, site spacing
void setPlFlag(bool flag)
control m_plFlag
void numNetCbk(int)
from .nets file, number of nets
void sclCoreRowHeight(int)
from .scl file, core row height
bool m_plFlag
if true, indicate that only reads .pl file, this will result in different callbacks in the database ...
void nodeEntryCbk(string &, int, int, string &)
from .nodes file, node entry
Database for Bookshelf parser.
void numNodeTerminalsCbk(int, int)
from .nodes file, number of node and terminals