annotate Bison-Flex/BasicCompiler-StackBase/script-parser.hh @ 1:a3ea4c73696b

move files
author nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 10 May 2011 06:26:08 +0900
parents Bison-Flex/EUC/script-parser.hh@3f4ade70b4d2
children fbe42292d479
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 /* A Bison parser, made by GNU Bison 2.3. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 /* Skeleton interface for Bison LALR(1) parsers in C++
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 This program is free software; you can redistribute it and/or modify
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 any later version.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 This program is distributed in the hope that it will be useful,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 GNU General Public License for more details.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 along with this program; if not, write to the Free Software
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 Foundation, Inc., 51 Franklin Street, Fifth Floor,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 Boston, MA 02110-1301, USA. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 /* As a special exception, you may create a larger work that contains
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 part or all of the Bison parser skeleton and distribute that work
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 under terms of your choice, so long as that work isn't itself a
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 parser generator using the skeleton or a modified version thereof
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 as a parser skeleton. Alternatively, if you modify or redistribute
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 the parser skeleton itself, you may (at your option) remove this
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 special exception, which will cause the skeleton and the resulting
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 Bison output files to be licensed under the GNU General Public
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 License without this special exception.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 This special exception was added by the Free Software Foundation in
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 version 2.2 of Bison. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 /* C++ LALR(1) parser skeleton written by Akim Demaille. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 #ifndef PARSER_HEADER_H
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 # define PARSER_HEADER_H
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 #include <string>
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 #include <iostream>
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 #include "stack.hh"
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 namespace yy
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 {
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 class position;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 class location;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 }
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 /* First part of user declarations. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 #line 4 "script-parser.yy"
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 #ifdef _MSC_VER
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 #pragma warning(disable: 4800)
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 #pragma warning(disable: 4267)
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 #include <string>
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 #include "node.h"
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 class compiler;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 /* Line 35 of lalr1.cc. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 #line 65 "script-parser.hh"
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 #include "location.hh"
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 /* Enabling traces. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 #ifndef YYDEBUG
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 # define YYDEBUG 0
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 /* Enabling verbose error messages. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 #ifdef YYERROR_VERBOSE
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 # undef YYERROR_VERBOSE
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 # define YYERROR_VERBOSE 1
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 #else
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 # define YYERROR_VERBOSE 1
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 /* Enabling the token table. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 #ifndef YYTOKEN_TABLE
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 # define YYTOKEN_TABLE 0
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 If N is 0, then set CURRENT to the empty location which ends
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 the previous symbol: RHS[0] (always defined). */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 #ifndef YYLLOC_DEFAULT
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 # define YYLLOC_DEFAULT(Current, Rhs, N) \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 do { \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 if (N) \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 { \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 (Current).begin = (Rhs)[1].begin; \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 (Current).end = (Rhs)[N].end; \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 } \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 else \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 { \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 (Current).begin = (Current).end = (Rhs)[0].end; \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 } \
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 } while (false)
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 namespace yy
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 {
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 /// A Bison parser.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 class script_parser
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 {
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 public:
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 /// Symbol semantic values.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 #ifndef YYSTYPE
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 union semantic_type
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 #line 28 "script-parser.yy"
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 {
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 int ival;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 std::string *sval;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 CArgs *args;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 CNode *expr;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 CAssign *assign;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 }
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 /* Line 35 of lalr1.cc. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 #line 126 "script-parser.hh"
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 ;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 #else
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 typedef YYSTYPE semantic_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 /// Symbol locations.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 typedef location location_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 /// Tokens.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 struct token
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 {
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 /* Tokens. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 enum yytokentype {
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 END_OF_FILE = 0,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 TK_IVAL = 258,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 TK_IDENTIFIER = 259,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 TK_EQ = 260,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 TK_NE = 261,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 TK_GE = 262,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 TK_LE = 263,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 TK_NEWLINE = 264,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 TK_IF = 265,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 TK_THEN = 266,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 TK_ELSE = 267,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 TK_ENDIF = 268,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 TK_FOR = 269,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 TK_TO = 270,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 TK_NEXT = 271,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 TK_WHILE = 272,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 TK_WEND = 273,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 TK_END = 274,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 TK_RAND = 275,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 TK_PRINT = 276,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 NEG = 277
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 };
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 };
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 /// Token type.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 typedef token::yytokentype token_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 /// Build a parser object.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 script_parser (compiler& driver_yyarg);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 virtual ~script_parser ();
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 /// Parse.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 /// \returns 0 iff parsing succeeded.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 virtual int parse ();
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 /// The current debugging stream.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 std::ostream& debug_stream () const;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 /// Set the current debugging stream.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 void set_debug_stream (std::ostream &);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 /// Type for debugging levels.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 typedef int debug_level_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 /// The current debugging level.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 debug_level_type debug_level () const;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 /// Set the current debugging level.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 void set_debug_level (debug_level_type l);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 private:
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 /// Report a syntax error.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 /// \param loc where the syntax error is found.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 /// \param msg a description of the syntax error.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 virtual void error (const location_type& loc, const std::string& msg);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 /// Generate an error message.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 /// \param state the state where the error occurred.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 /// \param tok the look-ahead token.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 virtual std::string yysyntax_error_ (int yystate, int tok);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 #if YYDEBUG
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 /// \brief Report a symbol value on the debug stream.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 /// \param yytype The token type.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 /// \param yyvaluep Its semantic value.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 /// \param yylocationp Its location.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 virtual void yy_symbol_value_print_ (int yytype,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 const semantic_type* yyvaluep,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 const location_type* yylocationp);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 /// \brief Report a symbol on the debug stream.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 /// \param yytype The token type.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 /// \param yyvaluep Its semantic value.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 /// \param yylocationp Its location.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 virtual void yy_symbol_print_ (int yytype,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 const semantic_type* yyvaluep,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 const location_type* yylocationp);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 #endif /* ! YYDEBUG */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 /// State numbers.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 typedef int state_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 /// State stack type.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 typedef stack<state_type> state_stack_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 /// Semantic value stack type.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 typedef stack<semantic_type> semantic_stack_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 /// location stack type.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 typedef stack<location_type> location_stack_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 /// The state stack.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 state_stack_type yystate_stack_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 /// The semantic value stack.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 semantic_stack_type yysemantic_stack_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 /// The location stack.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 location_stack_type yylocation_stack_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 /// Internal symbol numbers.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 typedef unsigned char token_number_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 /* Tables. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 /// For a state, the index in \a yytable_ of its portion.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 static const signed char yypact_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 static const signed char yypact_ninf_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 /// For a state, default rule to reduce.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 /// Unless\a yytable_ specifies something else to do.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 /// Zero means the default is an error.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 static const unsigned char yydefact_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 static const signed char yypgoto_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 static const signed char yydefgoto_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 /// What to do in a state.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 /// \a yytable_[yypact_[s]]: what to do in state \a s.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 /// - if positive, shift that token.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 /// - if negative, reduce the rule which number is the opposite.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 /// - if zero, do what YYDEFACT says.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 static const unsigned char yytable_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 static const signed char yytable_ninf_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 static const signed char yycheck_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 /// For a state, its accessing symbol.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 static const unsigned char yystos_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 /// For a rule, its LHS.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 static const unsigned char yyr1_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 /// For a rule, its RHS length.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 static const unsigned char yyr2_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 /// For a symbol, its name in clear.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 static const char* const yytname_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 #if YYERROR_VERBOSE
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 /// Convert the symbol name \a n to a form suitable for a diagnostic.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 virtual std::string yytnamerr_ (const char *n);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 #if YYDEBUG
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 /// A type to store symbol numbers and -1.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 typedef signed char rhs_number_type;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 /// A `-1'-separated list of the rules' RHS.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 static const rhs_number_type yyrhs_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 /// For each rule, the index of the first RHS symbol in \a yyrhs_.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 static const unsigned char yyprhs_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 /// For each rule, its source line number.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 static const unsigned char yyrline_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 /// For each scanner token number, its symbol number.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 static const unsigned short int yytoken_number_[];
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 /// Report on the debug stream that the rule \a r is going to be reduced.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 virtual void yy_reduce_print_ (int r);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 /// Print the state stack on the debug stream.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 virtual void yystack_print_ ();
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 #endif
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 /// Convert a scanner token number \a t to a symbol number.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 token_number_type yytranslate_ (int t);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 /// \brief Reclaim the memory associated to a symbol.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 /// \param yymsg Why this token is reclaimed.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 /// \param yytype The symbol type.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 /// \param yyvaluep Its semantic value.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 /// \param yylocationp Its location.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 inline void yydestruct_ (const char* yymsg,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 int yytype,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 semantic_type* yyvaluep,
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 location_type* yylocationp);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 /// Pop \a n symbols the three stacks.
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 inline void yypop_ (unsigned int n = 1);
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 /* Constants. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 static const int yyeof_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 /* LAST_ -- Last index in TABLE_. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 static const int yylast_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 static const int yynnts_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 static const int yyempty_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 static const int yyfinal_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 static const int yyterror_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 static const int yyerrcode_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 static const int yyntokens_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 static const unsigned int yyuser_token_number_max_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 static const token_number_type yyundef_token_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 /* Debugging. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 int yydebug_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 std::ostream* yycdebug_;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 /* User arguments. */
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 compiler& driver;
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 };
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 }
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328
3f4ade70b4d2 uplaod Stack-Base myCompiler
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 #endif /* ! defined PARSER_HEADER_H */