Lines Matching full:driver
265 * Calc++ Parsing Driver:: An active parsing context
6665 * Calc++ Parsing Driver:: An active parsing context
6671 File: bison.info, Node: Calc++ --- C++ Calculator, Next: Calc++ Parsing Driver, Up: A Complete C++ Example
6686 File: bison.info, Node: Calc++ Parsing Driver, Next: Calc++ Parser, Prev: Calc++ --- C++ Calculator, Up: A Complete C++ Example
6688 10.2.2 Calc++ Parsing Driver
6697 "parsing driver" class.
6699 The declaration of this driver class, `calc++-driver.hh', is as
6719 calcxx_driver& driver)
6755 driver using the following two member functions. Finally, we close the
6764 The implementation of the driver is straightforward. The `parse'
6769 #include "calc++-driver.hh"
6807 File: bison.info, Node: Calc++ Parser, Next: Calc++ Scanner, Prev: Calc++ Parsing Driver, Up: A Complete C++ Example
6824 Because the parser uses the parsing driver and reciprocally, both
6825 cannot include the header of the other. Because the driver's header
6828 declaration of the driver.
6835 The driver is passed by reference to the parser and to the scanner.
6840 %parse-param { calcxx_driver& driver }
6841 %lex-param { calcxx_driver& driver }
6852 @$.begin.filename = @$.end.filename = &driver.file;
6872 driver.
6875 # include "calc++-driver.hh"
6901 unit: assignments exp { driver.result = $2; };
6906 assignment: "identifier" ":=" exp { driver.variables[*$1] = $3; };
6914 | "identifier" { $$ = driver.variables[*$1]; }
6918 Finally the `error' member function registers the errors to the driver.
6924 driver.error (l, m);
6933 The Flex scanner first includes the driver declaration, then the
6941 # include "calc++-driver.hh"
6988 The rules are simple, just note the use of the driver to report errors.
7003 driver.error (*yylloc, "integer is out of range");
7008 . driver.error (*yylloc, "invalid character");
7011 Finally, because the scanner related driver's member function depend on
7037 #include "calc++-driver.hh"
7042 calcxx_driver driver;
7045 driver.trace_parsing = true;
7047 driver.trace_scanning = true;
7050 driver.parse (*argv);
7051 std::cout << driver.result << std::endl;
8986 Node: Calc++ Parsing Driver268589