Index: bison/src/bison/2.4.1/bison-2.4.1-src/examples/calc++/calc++-driver.hh |
=================================================================== |
--- bison/src/bison/2.4.1/bison-2.4.1-src/examples/calc++/calc++-driver.hh (revision 0) |
+++ bison/src/bison/2.4.1/bison-2.4.1-src/examples/calc++/calc++-driver.hh (revision 0) |
@@ -0,0 +1,42 @@ |
+#line 8281 "../../doc/bison.texinfo" |
+#ifndef CALCXX_DRIVER_HH |
+# define CALCXX_DRIVER_HH |
+# include <string> |
+# include <map> |
+# include "calc++-parser.hh" |
+#line 8297 "../../doc/bison.texinfo" |
+// Tell Flex the lexer's prototype ... |
+# define YY_DECL \ |
+ yy::calcxx_parser::token_type \ |
+ yylex (yy::calcxx_parser::semantic_type* yylval, \ |
+ yy::calcxx_parser::location_type* yylloc, \ |
+ calcxx_driver& driver) |
+// ... and declare it for the parser's sake. |
+YY_DECL; |
+#line 8313 "../../doc/bison.texinfo" |
+// Conducting the whole scanning and parsing of Calc++. |
+class calcxx_driver |
+{ |
+public: |
+ calcxx_driver (); |
+ virtual ~calcxx_driver (); |
+ |
+ std::map<std::string, int> variables; |
+ |
+ int result; |
+#line 8331 "../../doc/bison.texinfo" |
+ // Handling the scanner. |
+ void scan_begin (); |
+ void scan_end (); |
+ bool trace_scanning; |
+#line 8342 "../../doc/bison.texinfo" |
+ // Run the parser. Return 0 on success. |
+ int parse (const std::string& f); |
+ std::string file; |
+ bool trace_parsing; |
+#line 8356 "../../doc/bison.texinfo" |
+ // Error handling. |
+ void error (const yy::location& l, const std::string& m); |
+ void error (const std::string& m); |
+}; |
+#endif // ! CALCXX_DRIVER_HH |