Limbo
3.5.4
Toggle main menu visibility
Loading...
Searching...
No Matches
test
parsers
ebeam
test_bison.cpp
Go to the documentation of this file.
1
7
8
#include <iostream>
9
#include <fstream>
10
11
#include <
limbo/parsers/ebeam/bison/EbeamDriver.h
>
12
13
using
std::cout;
14
using
std::cin;
15
using
std::endl;
16
using
std::string;
17
20
class
EbeamDataBase
:
public
EbeamParser::EbeamDataBase
21
{
22
public
:
24
EbeamDataBase
()
25
{
26
cout <<
"constructing EbeamDataBase"
<< endl;
27
}
28
30
virtual
void
set_ebeam_unit
(
int
token)
31
{
32
cout << __func__ <<
" => "
<< token << endl;
33
}
34
35
virtual
void
set_ebeam_boundary
(
EbeamParser::EbeamBoundary
const
&)
36
{
37
cout << __func__ << endl;
38
}
39
40
virtual
void
add_ebeam_macro
(
EbeamParser::Macro
const
&)
41
{
42
cout << __func__ << endl;
43
}
44
};
45
47
void
test1
(
string
const
& filename)
48
{
49
cout <<
"////////////// test1 ////////////////"
<< endl;
50
EbeamDataBase
db;
51
EbeamParser::read
(db, filename);
52
}
53
55
void
test2
(
string
const
& filename)
56
{
57
cout <<
"////////////// test2 ////////////////"
<< endl;
58
EbeamDataBase
db;
59
EbeamParser::Driver
driver (db);
60
//driver.trace_scanning = true;
61
//driver.trace_parsing = true;
62
63
driver.
parse_file
(filename);
64
}
65
70
int
main
(
int
argc,
char
** argv)
71
{
72
73
if
(argc > 1)
74
{
75
test1
(argv[1]);
76
test2
(argv[1]);
77
}
78
else
79
cout <<
"at least 1 argument is required"
<< endl;
80
81
return
0;
82
}
EbeamDriver.h
Driver for Ebeam parser.
test2
void test2(string const &filename)
test 2: use class wrapper BookshelfParser::Driver
Definition
test_bison.cpp:149
EbeamDataBase
Custom class that inheritates EbeamParser::EbeamDataBase with all the required callbacks defined.
Definition
test_bison.cpp:21
EbeamDataBase::EbeamDataBase
EbeamDataBase()
constructor
Definition
test_bison.cpp:24
EbeamDataBase::set_ebeam_boundary
virtual void set_ebeam_boundary(EbeamParser::EbeamBoundary const &)
set ebeam boundary
Definition
test_bison.cpp:35
EbeamDataBase::set_ebeam_unit
virtual void set_ebeam_unit(int token)
set database unit
Definition
test_bison.cpp:30
EbeamDataBase::add_ebeam_macro
virtual void add_ebeam_macro(EbeamParser::Macro const &)
set ebeam macro
Definition
test_bison.cpp:40
EbeamParser::Driver
Definition
EbeamDriver.h:36
EbeamParser::Driver::parse_file
bool parse_file(const string &filename)
EbeamParser::EbeamDataBase
Base class for ebeam database. Only pure virtual functions are defined. User needs to inheritate th...
Definition
EbeamDataBase.h:207
EbeamParser::read
bool read(EbeamDataBase &db, const string &ebeamFile)
API for EbeamParser. Read Ebeam file and initialize database by calling user-defined callback functio...
EbeamParser::EbeamBoundary
describe ebeam boundary
Definition
EbeamDataBase.h:113
EbeamParser::Macro
describe conflict sites for each standard cell type
Definition
EbeamDataBase.h:182
main
int main()
Definition
test_ChromaticNumber.cpp:78
test1
void test1()
test function API
Definition
test_solvers.cpp:11
Generated on
for Limbo by
1.17.0