首頁>Club>
3
回覆列表
  • 1 # 酷小帥同學

    #ifndef CALCXX_DRIVER_HH

    # define CALCXX_DRIVER_HH

    # include <string>

    # include <map>

    # include "calc++-parser.h"

    // 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;

    // 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;

    // Handling the scanner.

    void scan_begin ();

    void scan_end ();

    bool trace_scanning;

    // Run the parser. Return 0 on success.

    int parse (const std::string& f);

    std::string file;

    bool trace_parsing;

    // Error handling.

    void error (const yy::location& l, const std::string& m);

    void error (const std::string& m);

    };

    #endif // ! CALCXX_DRIVER_HH

  • 中秋節和大豐收的關聯?
  • 如何評價北卡羅來納級戰列艦?