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