1 /* A Bison parser, made by GNU Bison 3.5.1.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20 
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30 
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33 
34 /* Undocumented macros, especially those whose name start with YY_,
35    are private implementation details.  Do not rely on them.  */
36 
37 #ifndef YY_YY_BISON_H_INCLUDED
38 # define YY_YY_BISON_H_INCLUDED
39 /* Debug traces.  */
40 #ifndef YYDEBUG
41 # define YYDEBUG 1
42 #endif
43 #if YYDEBUG
44 extern int yydebug;
45 #endif
46 
47 /* Token type.  */
48 #ifndef YYTOKENTYPE
49 # define YYTOKENTYPE
50   enum yytokentype
51   {
52     tFNUM = 258,
53     tSYMBOL = 259,
54     tSTRSYM = 260,
55     tDOCU = 261,
56     tDIGITS = 262,
57     tHEXDIGITS = 263,
58     tBINDIGITS = 264,
59     tSTRING = 265,
60     tFOR = 266,
61     tTO = 267,
62     tSTEP = 268,
63     tNEXT = 269,
64     tWHILE = 270,
65     tWEND = 271,
66     tREPEAT = 272,
67     tUNTIL = 273,
68     tIMPORT = 274,
69     tGOTO = 275,
70     tGOSUB = 276,
71     tLABEL = 277,
72     tON = 278,
73     tSUB = 279,
74     tENDSUB = 280,
75     tLOCAL = 281,
76     tSTATIC = 282,
77     tEXPORT = 283,
78     tERROR = 284,
79     tEXECUTE = 285,
80     tEXECUTE2 = 286,
81     tCOMPILE = 287,
82     tRUNTIME_CREATED_SUB = 288,
83     tINTERRUPT = 289,
84     tBREAK = 290,
85     tCONTINUE = 291,
86     tSWITCH = 292,
87     tSEND = 293,
88     tCASE = 294,
89     tDEFAULT = 295,
90     tLOOP = 296,
91     tDO = 297,
92     tSEP = 298,
93     tEOPROG = 299,
94     tIF = 300,
95     tTHEN = 301,
96     tELSE = 302,
97     tELSIF = 303,
98     tENDIF = 304,
99     tIMPLICITENDIF = 305,
100     tUSING = 306,
101     tPRINT = 307,
102     tINPUT = 308,
103     tRETURN = 309,
104     tDIM = 310,
105     tEND = 311,
106     tEXIT = 312,
107     tAT = 313,
108     tSCREEN = 314,
109     tREVERSE = 315,
110     tCOLOUR = 316,
111     tBACKCOLOUR = 317,
112     tAND = 318,
113     tOR = 319,
114     tNOT = 320,
115     tBITNOT = 321,
116     tEOR = 322,
117     tSHL = 323,
118     tSHR = 324,
119     tNEQ = 325,
120     tLEQ = 326,
121     tGEQ = 327,
122     tLTN = 328,
123     tGTN = 329,
124     tEQU = 330,
125     tPOW = 331,
126     tREAD = 332,
127     tDATA = 333,
128     tRESTORE = 334,
129     tOPEN = 335,
130     tCLOSE = 336,
131     tSEEK = 337,
132     tTELL = 338,
133     tAS = 339,
134     tREADING = 340,
135     tWRITING = 341,
136     tORIGIN = 342,
137     tWINDOW = 343,
138     tDOT = 344,
139     tLINE = 345,
140     tCIRCLE = 346,
141     tTRIANGLE = 347,
142     tTEXT = 348,
143     tCLEAR = 349,
144     tFILL = 350,
145     tPRINTER = 351,
146     tWAIT = 352,
147     tBELL = 353,
148     tLET = 354,
149     tARDIM = 355,
150     tARSIZE = 356,
151     tBIND = 357,
152     tRECT = 358,
153     tGETBIT = 359,
154     tPUTBIT = 360,
155     tGETCHAR = 361,
156     tPUTCHAR = 362,
157     tNEW = 363,
158     tCURVE = 364,
159     tSIN = 365,
160     tASIN = 366,
161     tCOS = 367,
162     tACOS = 368,
163     tTAN = 369,
164     tATAN = 370,
165     tEXP = 371,
166     tLOG = 372,
167     tSQRT = 373,
168     tSQR = 374,
169     tMYEOF = 375,
170     tABS = 376,
171     tSIG = 377,
172     tINT = 378,
173     tCEIL = 379,
174     tFLOOR = 380,
175     tFRAC = 381,
176     tROUND = 382,
177     tMOD = 383,
178     tRAN = 384,
179     tVAL = 385,
180     tLEFT = 386,
181     tRIGHT = 387,
182     tMID = 388,
183     tLEN = 389,
184     tMIN = 390,
185     tMAX = 391,
186     tSTR = 392,
187     tINKEY = 393,
188     tCHR = 394,
189     tASC = 395,
190     tHEX = 396,
191     tDEC = 397,
192     tBIN = 398,
193     tUPPER = 399,
194     tLOWER = 400,
195     tMOUSEX = 401,
196     tMOUSEY = 402,
197     tMOUSEB = 403,
198     tMOUSEMOD = 404,
199     tTRIM = 405,
200     tLTRIM = 406,
201     tRTRIM = 407,
202     tINSTR = 408,
203     tRINSTR = 409,
204     tCHOMP = 410,
205     tSYSTEM = 411,
206     tSYSTEM2 = 412,
207     tPEEK = 413,
208     tPEEK2 = 414,
209     tPOKE = 415,
210     tFRNFN_CALL = 416,
211     tFRNFN_CALL2 = 417,
212     tFRNFN_SIZE = 418,
213     tFRNBF_ALLOC = 419,
214     tFRNBF_FREE = 420,
215     tFRNBF_SIZE = 421,
216     tFRNBF_DUMP = 422,
217     tFRNBF_SET = 423,
218     tFRNBF_GET = 424,
219     tFRNBF_GET2 = 425,
220     tFRNBF_GET_BUFFER = 426,
221     tFRNBF_SET_BUFFER = 427,
222     tDATE = 428,
223     tTIME = 429,
224     tTOKEN = 430,
225     tTOKENALT = 431,
226     tSPLIT = 432,
227     tSPLITALT = 433,
228     tGLOB = 434,
229     tSTART_PROGRAM = 435,
230     tSTART_EXPRESSION = 436,
231     tSTART_STRING_EXPRESSION = 437,
232     tSTART_ASSIGNMENT = 438,
233     tSTART_FUNCTION_DEFINITION = 439,
234     tEVAL = 440,
235     tEVAL2 = 441,
236     UMINUS = 442
237   };
238 #endif
239 
240 /* Value type.  */
241 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
242 union YYSTYPE
243 {
244 
245   double fnum;          /* double number */
246   int inum;             /* integer number */
247   int token;            /* token of command */
248   int sep;              /* number of newlines */
249   char *string;         /* quoted string */
250   char *symbol;         /* general symbol */
251   char *digits;         /* string of digits */
252   char *docu;		/* embedded documentation */
253 
254 
255 };
256 typedef union YYSTYPE YYSTYPE;
257 # define YYSTYPE_IS_TRIVIAL 1
258 # define YYSTYPE_IS_DECLARED 1
259 #endif
260 
261 /* Location type.  */
262 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
263 typedef struct YYLTYPE YYLTYPE;
264 struct YYLTYPE
265 {
266   int first_line;
267   int first_column;
268   int last_line;
269   int last_column;
270 };
271 # define YYLTYPE_IS_DECLARED 1
272 # define YYLTYPE_IS_TRIVIAL 1
273 #endif
274 
275 
276 extern YYSTYPE yylval;
277 extern YYLTYPE yylloc;
278 int yyparse (void);
279 
280 #endif /* !YY_YY_BISON_H_INCLUDED  */
281