Mercurial > hg > Members > nobuyasu > myCompiler
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 |
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 */ |