#include <parser.h>
| Public Types | |
| typedef location | location_type | 
| Symbol locations. | |
| typedef token::yytokentype | token_type | 
| Token type. | |
| typedef int | debug_level_type | 
| Type for debugging levels. | |
| Public Member Functions | |
| Parser (class Driver &driver_yyarg) | |
| Build a parser object. | |
| virtual | ~Parser () | 
| virtual int | parse () | 
| Parse. | |
| std::ostream & | debug_stream () const | 
| The current debugging stream. | |
| void | set_debug_stream (std::ostream &) | 
| Set the current debugging stream. | |
| debug_level_type | debug_level () const | 
| The current debugging level. | |
| void | set_debug_level (debug_level_type l) | 
| Set the current debugging level. | |
| Private Types | |
| typedef int | state_type | 
| State numbers. | |
| typedef stack< state_type > | state_stack_type | 
| State stack type. | |
| typedef stack< semantic_type > | semantic_stack_type | 
| Semantic value stack type. | |
| typedef stack< location_type > | location_stack_type | 
| location stack type. | |
| typedef unsigned char | token_number_type | 
| Internal symbol numbers. | |
| typedef signed char | rhs_number_type | 
| A type to store symbol numbers and -1. | |
| Private Member Functions | |
| virtual void | error (const location_type &loc, const std::string &msg) | 
| Report a syntax error. | |
| virtual std::string | yysyntax_error_ (int yystate, int tok) | 
| Generate an error message. | |
| virtual void | yy_symbol_value_print_ (int yytype, const semantic_type *yyvaluep, const location_type *yylocationp) | 
| Report a symbol value on the debug stream. | |
| virtual void | yy_symbol_print_ (int yytype, const semantic_type *yyvaluep, const location_type *yylocationp) | 
| Report a symbol on the debug stream. | |
| virtual std::string | yytnamerr_ (const char *n) | 
| Convert the symbol name n to a form suitable for a diagnostic. | |
| virtual void | yy_reduce_print_ (int r) | 
| Report on the debug stream that the rule r is going to be reduced. | |
| virtual void | yystack_print_ () | 
| Print the state stack on the debug stream. | |
| token_number_type | yytranslate_ (int t) | 
| Convert a scanner token number t to a symbol number. | |
| void | yydestruct_ (const char *yymsg, int yytype, semantic_type *yyvaluep, location_type *yylocationp) | 
| Reclaim the memory associated to a symbol. | |
| void | yypop_ (unsigned int n=1) | 
| Pop n symbols the three stacks. | |
| Private Attributes | |
| state_stack_type | yystate_stack_ | 
| The state stack. | |
| semantic_stack_type | yysemantic_stack_ | 
| The semantic value stack. | |
| location_stack_type | yylocation_stack_ | 
| The location stack. | |
| int | yydebug_ | 
| std::ostream * | yycdebug_ | 
| Driver & | driver | 
| Static Private Attributes | |
| static const signed char | yypact_ [] | 
| For a state, the index in yytable_ of its portion. | |
| static const signed char | yypact_ninf_ = -15 | 
| static const unsigned char | yydefact_ [] | 
| For a state, default rule to reduce. | |
| static const signed char | yypgoto_ [] | 
| static const signed char | yydefgoto_ [] | 
| static const unsigned char | yytable_ [] | 
| What to do in a state. | |
| static const signed char | yytable_ninf_ = -1 | 
| static const signed char | yycheck_ [] | 
| static const unsigned char | yystos_ [] | 
| For a state, its accessing symbol. | |
| static const unsigned char | yyr1_ [] | 
| For a rule, its LHS. | |
| static const unsigned char | yyr2_ [] | 
| For a rule, its RHS length. | |
| static const char *const | yytname_ [] | 
| For a symbol, its name in clear. | |
| static const rhs_number_type | yyrhs_ [] | 
| A `-1'-separated list of the rules' RHS. | |
| static const unsigned char | yyprhs_ [] | 
| For each rule, the index of the first RHS symbol in yyrhs_. | |
| static const unsigned char | yyrline_ [] | 
| For each rule, its source line number. | |
| static const unsigned short int | yytoken_number_ [] | 
| For each scanner token number, its symbol number. | |
| static const int | yyeof_ = 0 | 
| static const int | yylast_ = 44 | 
| static const int | yynnts_ = 11 | 
| static const int | yyempty_ = -2 | 
| static const int | yyfinal_ = 2 | 
| static const int | yyterror_ = 1 | 
| static const int | yyerrcode_ = 256 | 
| static const int | yyntokens_ = 17 | 
| static const unsigned int | yyuser_token_number_max_ = 261 | 
| static const token_number_type | yyundef_token_ = 2 | 
| Classes | |
| union | semantic_type | 
| Symbol semantic values.  More... | |
| struct | token | 
| Tokens.  More... | |
Definition at line 108 of file parser.h.
| typedef int example::Parser::debug_level_type | 
| typedef int example::Parser::state_type  [private] | 
| typedef stack<state_type> example::Parser::state_stack_type  [private] | 
| typedef stack<semantic_type> example::Parser::semantic_stack_type  [private] | 
| typedef stack<location_type> example::Parser::location_stack_type  [private] | 
| typedef unsigned char example::Parser::token_number_type  [private] | 
| typedef signed char example::Parser::rhs_number_type  [private] | 
| example::Parser::Parser | ( | class Driver & | driver_yyarg | ) | 
| int example::Parser::parse | ( | ) |  [virtual] | 
Parse.
Look-ahead and look-ahead in internal form.
Semantic value of the look-ahead.
Location of the look-ahead.
The locations where the error started and ended.
$$.
$.
Definition at line 299 of file parser.cc.
References example::location::begin, example::Driver::calc, example::Parser::semantic_type::calcnode, driver, example::location::end, error(), CalcContext::existsVariable(), CalcContext::expressions, example::position::filename, CalcContext::getVariable(), example::stack< T, S >::push(), example::Driver::streamname, CalcContext::variables, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYCDEBUG, yycheck_, yydefact_, yydefgoto_, yydestruct_(), yyempty_, yyeof_, YYERROR, yyfinal_, yylast_, yylex, YYLLOC_DEFAULT, yylocation_stack_, yyntokens_, yypact_, yypact_ninf_, yypgoto_, yypop_(), yyr1_, yyr2_, yysemantic_stack_, yystate_stack_, yystos_, yysyntax_error_(), yytable_, yytable_ninf_, yyterror_, and yytranslate_().
Referenced by example::Driver::parse_stream().
| std::ostream & example::Parser::debug_stream | ( | ) | const | 
| void example::Parser::set_debug_stream | ( | std::ostream & | ) | 
| Parser::debug_level_type example::Parser::debug_level | ( | ) | const | 
| void example::Parser::set_debug_level | ( | debug_level_type | l | ) | 
Set the current debugging level.
Definition at line 292 of file parser.cc.
References yydebug_.
Referenced by example::Driver::parse_stream().
| void example::Parser::error | ( | const location_type & | loc, | |
| const std::string & | msg | |||
| ) |  [private, virtual] | 
Report a syntax error.
| loc | where the syntax error is found. | |
| msg | a description of the syntax error. | 
Definition at line 1083 of file parser.cc.
References driver, and example::Driver::error().
Referenced by parse().
| std::string example::Parser::yysyntax_error_ | ( | int | yystate, | |
| int | tok | |||
| ) |  [private, virtual] | 
Generate an error message.
| state | the state where the error occurred. | |
| tok | the look-ahead token. | 
Definition at line 785 of file parser.cc.
References YY_, yycheck_, yylast_, yyntokens_, yypact_, yypact_ninf_, yyterror_, yytname_, yytnamerr_(), and YYUSE.
Referenced by parse().
| virtual void example::Parser::yy_symbol_value_print_ | ( | int | yytype, | |
| const semantic_type * | yyvaluep, | |||
| const location_type * | yylocationp | |||
| ) |  [private, virtual] | 
| virtual void example::Parser::yy_symbol_print_ | ( | int | yytype, | |
| const semantic_type * | yyvaluep, | |||
| const location_type * | yylocationp | |||
| ) |  [private, virtual] | 
| virtual std::string example::Parser::yytnamerr_ | ( | const char * | n | ) |  [private, virtual] | 
| virtual void example::Parser::yy_reduce_print_ | ( | int | r | ) |  [private, virtual] | 
Report on the debug stream that the rule r is going to be reduced.
| virtual void example::Parser::yystack_print_ | ( | ) |  [private, virtual] | 
Print the state stack on the debug stream.
| Parser::token_number_type example::Parser::yytranslate_ | ( | int | t | ) |  [private] | 
Convert a scanner token number t to a symbol number.
Definition at line 1026 of file parser.cc.
References yyundef_token_, and yyuser_token_number_max_.
Referenced by parse().
| void example::Parser::yydestruct_ | ( | const char * | yymsg, | |
| int | yytype, | |||
| semantic_type * | yyvaluep, | |||
| location_type * | yylocationp | |||
| ) |  [inline, private] | 
Reclaim the memory associated to a symbol.
| yymsg | Why this token is reclaimed. | |
| yytype | The symbol type. | |
| yyvaluep | Its semantic value. | |
| yylocationp | Its location. | 
Definition at line 202 of file parser.cc.
References example::Parser::semantic_type::calcnode, example::Parser::semantic_type::stringVal, YY_SYMBOL_PRINT, and YYUSE.
Referenced by parse().
| void example::Parser::yypop_ | ( | unsigned int | n = 1 | ) |  [inline, private] | 
Pop n symbols the three stacks.
Definition at line 265 of file parser.cc.
References example::stack< T, S >::pop(), yylocation_stack_, yysemantic_stack_, and yystate_stack_.
Referenced by parse().
| const signed char example::Parser::yypact_  [static, private] | 
Initial value:
  {
       -15,     0,   -15,   -15,   -15,   -15,   -14,    16,    27,    27,
     -15,   -15,   -15,   -15,    -1,   -15,    23,     8,     9,    14,
      16,   -15,     5,    -1,    -1,    27,    16,    16,    16,    16,
      16,   -15,   -15,   -15,   -15,   -15,   -15,   -15,   -15,   -15,
     -15,   -15,   -15,    23,    23
  }
Definition at line 214 of file parser.h.
Referenced by parse(), and yysyntax_error_().
| const signed char example::Parser::yypact_ninf_ = -15  [static, private] | 
| const unsigned char example::Parser::yydefact_  [static, private] | 
Initial value:
  {
        22,     0,     1,    24,     2,     3,     4,     0,     0,     0,
      23,     5,     6,     8,    10,    13,    17,    20,     0,     0,
       0,     4,     0,    11,    12,     0,     0,     0,     0,     0,
       0,    30,    29,    28,    27,    26,    25,    21,     7,     9,
      14,    15,    16,    18,    19
  }
Unlessyytable_ specifies something else to do. Zero means the default is an error.
Definition at line 220 of file parser.h.
Referenced by parse().
| const signed char example::Parser::yypgoto_  [static, private] | 
| const signed char example::Parser::yydefgoto_  [static, private] | 
| const unsigned char example::Parser::yytable_  [static, private] | 
Initial value:
  {
         2,    20,    22,     3,     4,     5,     6,     7,    25,    31,
       8,     9,    32,    38,    34,    37,    10,    35,    29,    30,
       4,     5,    21,     7,     0,    33,     8,     9,    23,    24,
      36,     4,     5,    21,     7,    26,    27,    28,    40,    41,
      42,     0,    43,    44,    39
  }
yytable_[yypact_[s]]: what to do in state s.
Definition at line 230 of file parser.h.
Referenced by parse().
| const signed char example::Parser::yytable_ninf_ = -1  [static, private] | 
| const signed char example::Parser::yycheck_  [static, private] | 
Initial value:
  {
         0,    15,     7,     3,     4,     5,     6,     7,     9,     0,
      10,    11,     3,     8,     0,    20,    16,     3,    10,    11,
       4,     5,     6,     7,    -1,    16,    10,    11,     8,     9,
      16,     4,     5,     6,     7,    12,    13,    14,    26,    27,
      28,    -1,    29,    30,    25
  }
Definition at line 233 of file parser.h.
Referenced by parse(), and yysyntax_error_().
| const unsigned char example::Parser::yystos_  [static, private] | 
| const unsigned char example::Parser::yyr1_  [static, private] | 
| const unsigned char example::Parser::yyr2_  [static, private] | 
| const char* const example::Parser::yytname_[]  [static, private] | 
For a symbol, its name in clear.
Definition at line 245 of file parser.h.
Referenced by yysyntax_error_().
| const rhs_number_type example::Parser::yyrhs_[]  [static, private] | 
| const unsigned char example::Parser::yyprhs_[]  [static, private] | 
| const unsigned char example::Parser::yyrline_[]  [static, private] | 
| const unsigned short int example::Parser::yytoken_number_[]  [static, private] | 
| const int example::Parser::yyeof_ = 0  [static, private] | 
| const int example::Parser::yylast_ = 44  [static, private] | 
| const int example::Parser::yynnts_ = 11  [static, private] | 
| const int example::Parser::yyempty_ = -2  [static, private] | 
| const int example::Parser::yyfinal_ = 2  [static, private] | 
| const int example::Parser::yyterror_ = 1  [static, private] | 
| const int example::Parser::yyerrcode_ = 256  [static, private] | 
| const int example::Parser::yyntokens_ = 17  [static, private] | 
| const unsigned int example::Parser::yyuser_token_number_max_ = 261  [static, private] | 
| const Parser::token_number_type example::Parser::yyundef_token_ = 2  [static, private] | 
| int example::Parser::yydebug_  [private] | 
| std::ostream* example::Parser::yycdebug_  [private] | 
| class Driver& example::Parser::driver  [private] | 
 1.5.2
 1.5.2