mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-27 13:13:04 +00:00
Start a set of simple examples.
* examples/calc++/Makefile, examples/calc++/calc++-driver.cc, * examples/calc++/calc++-driver.hh, * examples/calc++/calc++-parser.yy, * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc, * examples/calc++/compile, examples/calc++/test: New.
This commit is contained in:
37
examples/calc++/calc++-driver.cc
Normal file
37
examples/calc++/calc++-driver.cc
Normal file
@@ -0,0 +1,37 @@
|
||||
#include "calc++-driver.hh"
|
||||
#include "calc++-parser.hh"
|
||||
|
||||
calcxx_driver::calcxx_driver ()
|
||||
: trace_scanning (false),
|
||||
trace_parsing (false)
|
||||
{
|
||||
variables["one"] = 1;
|
||||
variables["two"] = 2;
|
||||
}
|
||||
|
||||
calcxx_driver::~calcxx_driver ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
calcxx_driver::parse (const std::string &f)
|
||||
{
|
||||
file = f;
|
||||
scan_begin ();
|
||||
yy::calcxx_parser parser (*this);
|
||||
parser.set_debug_level (trace_parsing);
|
||||
parser.parse ();
|
||||
scan_end ();
|
||||
}
|
||||
|
||||
void
|
||||
calcxx_driver::error (const yy::location& l, const std::string& m)
|
||||
{
|
||||
std::cerr << l << ": " << m << std::endl;
|
||||
}
|
||||
|
||||
void
|
||||
calcxx_driver::error (const std::string& m)
|
||||
{
|
||||
std::cerr << m << std::endl;
|
||||
}
|
||||
Reference in New Issue
Block a user