|
Limbo 3.5.4
|
#include <BookshelfDriver.h>
Public Member Functions | |
| Driver (BookshelfDataBase &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) |
| void | error (const class location &l, const string &m) |
| void | error (const string &m) |
| void | setPlFlag (bool flag) |
| control m_plFlag | |
| void | numNodeTerminalsCbk (int, int) |
| from .nodes file, number of node and terminals | |
| void | terminalEntryCbk (string &, int, int) |
| from .nodes file, terminal entry | |
| void | terminalNIEntryCbk (string &, int, int) |
| from .nodes file, terminal_NI entry | |
| void | nodeEntryCbk (string &, int, int, string &) |
| from .nodes file, node entry | |
| void | nodeEntryCbk (string &, int, int) |
| from .nodes file, node entry | |
| void | numNetCbk (int) |
| from .nets file, number of nets | |
| void | numPinCbk (int) |
| from .nets file, number of pins | |
| void | netPinEntryCbk (string &, char, double, double, double, double, string &) |
| from .nets file, entry of net and pin | |
| void | netPinEntryCbk (string &, char, double, double, double=0.0, double=0.0) |
| from .nets file, entry of net and pin | |
| void | netNameAndDegreeCbk (string &, int) |
| from .nets file, net name and degree | |
| void | netEntryCbk () |
| from .nets file, net entry | |
| void | plNodeEntryCbk (string &, double, double, string &, string &) |
| from .pl file, node entry in placement | |
| void | plNodeEntryCbk (string &, double, double, string &) |
| from .pl file, node entry in placement | |
| void | sclNumRows (int) |
| from .scl file, number of rows | |
| void | sclCoreRowStart (string const &) |
| from .scl file, core row start | |
| void | sclCoreRowCoordinate (int) |
| from .scl file, core row coordinate | |
| void | sclCoreRowHeight (int) |
| from .scl file, core row height | |
| void | sclCoreRowSitewidth (int) |
| from .scl file, site width | |
| void | sclCoreRowSitespacing (int) |
| from .scl file, site spacing | |
| void | sclCoreRowSiteorient (int) |
| from .scl file, site orientation | |
| void | sclCoreRowSiteorient (string &) |
| from .scl file, site orientation | |
| void | sclCoreRowSitesymmetry (int) |
| from .scl file, site symmetry | |
| void | sclCoreRowSitesymmetry (string &) |
| from .scl file, site symmetry | |
| void | sclCoreRowSubRowOrigin (int) |
| from .scl file, subrow origin | |
| void | sclCoreRowNumSites (int) |
| from .scl file, number of sites | |
| void | sclCoreRowEnd () |
| from .scl file, end of core row | |
| void | wtsNetWeightEntry (string &, double) |
| from .wts file, net weight entry | |
| void | shapesNumNonRectangularNodesCbk (int) |
| from .shapes file, number of nodes with non-rectangular shapes | |
| void | shapesEntryCbk (string &, double, double, double, double) |
| from .shapes file, one box entry | |
| void | shapesNodeNameCbk (string &, int) |
| from .shapes file, node name and number of boxes | |
| void | shapesEndCbk () |
| from .shapes file, end file | |
| void | routeGridCbk (int, int, int) |
| from .route file, Global routing grid (num_X_grids num_Y_grids num_layers) | |
| void | routeVerticalCapacityCbk (IntegerArray &) |
| from .route file, Vertical capacity per tile edge on each layer | |
| void | routeHorizontalCapacityCbk (IntegerArray &) |
| from .route file, Horizontal capacity per tile edge on each layer | |
| void | routeMinWireWidthCbk (IntegerArray &) |
| from .route file, Minimum metal width on each layer | |
| void | routeMinWireSpacingCbk (IntegerArray &) |
| from .route file, Minimum spacing on each layer | |
| void | routeViaSpacingCbk (IntegerArray &) |
| from .route file, Via spacing per layer | |
| void | routeGridOriginCbk (double, double) |
| from .route file, Absolute coordinates of the origin of the grid (grid_lowerleft_X grid_lowerleft_Y) | |
| void | routeTileSizeCbk (double, double) |
| from .route file, tile_width tile_height | |
| void | routeBlockagePorosityCbk (int) |
| from .route file, Porosity for routing blockages (Zero implies the blockage completely blocks overlapping routing tracks. Default = 0) | |
| void | routeNumNiTerminalsCbk (int) |
| from .route file, number of IO pins | |
| void | routePinLayerCbk (string &, int) |
| from .route file, for IO pins, (node_name layer_id_for_all_node_pins) | |
| void | routePinLayerCbk (string &, string &) |
| void | routeNumBlockageNodes (int) |
| from .route file, number of blockage nodes | |
| void | routeBlockageNodeLayerCbk (string &, int, IntegerArray &) |
| from .route file, for blockages, (node_name num_blocked_layers list_of_blocked_layers) | |
| void | routeBlockageNodeLayerCbk (string &, int, StringArray &) |
| void | auxCbk (string &, vector< string > &) |
| from .aux file, other bookshelf files | |
| vector< string > const & | bookshelfFiles () const |
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. | |
| class Scanner * | lexer |
| BookshelfDataBase & | m_db |
Protected Attributes | |
| Row | m_row |
| temporary storage of row | |
| Net | m_net |
| temporary storage of net | |
| NodeShape | m_shape |
| temporary storage of shape | |
| RouteInfo | m_routeInfo |
| temporary storage of routing information | |
| vector< string > | m_vBookshelfFiles |
| store bookshelf files except .aux | |
| bool | m_plFlag |
| if true, indicate that only reads .pl file, this will result in different callbacks in the database | |
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 36 of file BookshelfDriver.h.
| BookshelfParser::Driver::Driver | ( | BookshelfDataBase & | db | ) |
construct a new parser driver context
| db | reference to database |
|
inline |
get all bookshelf files except .aux
Definition at line 201 of file BookshelfDriver.h.
| void BookshelfParser::Driver::error | ( | const class location & | l, |
| const string & | m ) |
Error handling with associated line number. This can be modified to output the error e.g. to a dialog box.
| void BookshelfParser::Driver::error | ( | const string & | m | ) |
General error handling. This can be modified to output the error e.g. to a dialog box.
| bool BookshelfParser::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.
| filename | input file name |
| bool BookshelfParser::Driver::parse_stream | ( | std::istream & | in, |
| const string & | sname = "stream input" ) |
Invoke the scanner and parser for a stream.
| in | input stream |
| sname | stream name for error messages |
| bool BookshelfParser::Driver::parse_string | ( | const string & | input, |
| const string & | sname = "string stream" ) |
Invoke the scanner and parser on an input string.
| input | input string |
| sname | stream name for error messages |
| void BookshelfParser::Driver::setPlFlag | ( | bool | flag | ) |
control m_plFlag
| flag | control flag |
| void BookshelfParser::Driver::shapesNumNonRectangularNodesCbk | ( | int | ) |
from .shapes file, number of nodes with non-rectangular shapes
.shapes file
| class Scanner* BookshelfParser::Driver::lexer |
Pointer to the current lexer instance, this is used to connect the parser to the scanner. It is used in the yylex macro.
Definition at line 89 of file BookshelfDriver.h.
| BookshelfDataBase& BookshelfParser::Driver::m_db |
Reference to the database filled during parsing of the expressions.
Definition at line 93 of file BookshelfDriver.h.
|
protected |
temporary storage of net
Definition at line 204 of file BookshelfDriver.h.
|
protected |
if true, indicate that only reads .pl file, this will result in different callbacks in the database
Definition at line 208 of file BookshelfDriver.h.
|
protected |
temporary storage of routing information
Definition at line 206 of file BookshelfDriver.h.
|
protected |
temporary storage of row
Definition at line 203 of file BookshelfDriver.h.
|
protected |
temporary storage of shape
Definition at line 205 of file BookshelfDriver.h.
|
protected |
store bookshelf files except .aux
Definition at line 207 of file BookshelfDriver.h.
| string BookshelfParser::Driver::streamname |
stream name (file or input stream) used for error messages.
Definition at line 50 of file BookshelfDriver.h.
| bool BookshelfParser::Driver::trace_parsing |
enable debug output in the bison parser
Definition at line 47 of file BookshelfDriver.h.
| bool BookshelfParser::Driver::trace_scanning |
enable debug output in the flex scanner
Definition at line 44 of file BookshelfDriver.h.