1*c42dbd0eSchristos /* A Bison parser, made by GNU Bison 3.8.2. */ 2*c42dbd0eSchristos 3*c42dbd0eSchristos /* Bison interface for Yacc-like parsers in C 4*c42dbd0eSchristos 5*c42dbd0eSchristos Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 6*c42dbd0eSchristos Inc. 7*c42dbd0eSchristos 8*c42dbd0eSchristos This program is free software: you can redistribute it and/or modify 9*c42dbd0eSchristos it under the terms of the GNU General Public License as published by 10*c42dbd0eSchristos the Free Software Foundation, either version 3 of the License, or 11*c42dbd0eSchristos (at your option) any later version. 12*c42dbd0eSchristos 13*c42dbd0eSchristos This program is distributed in the hope that it will be useful, 14*c42dbd0eSchristos but WITHOUT ANY WARRANTY; without even the implied warranty of 15*c42dbd0eSchristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*c42dbd0eSchristos GNU General Public License for more details. 17*c42dbd0eSchristos 18*c42dbd0eSchristos You should have received a copy of the GNU General Public License 19*c42dbd0eSchristos along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20*c42dbd0eSchristos 21*c42dbd0eSchristos /* As a special exception, you may create a larger work that contains 22*c42dbd0eSchristos part or all of the Bison parser skeleton and distribute that work 23*c42dbd0eSchristos under terms of your choice, so long as that work isn't itself a 24*c42dbd0eSchristos parser generator using the skeleton or a modified version thereof 25*c42dbd0eSchristos as a parser skeleton. Alternatively, if you modify or redistribute 26*c42dbd0eSchristos the parser skeleton itself, you may (at your option) remove this 27*c42dbd0eSchristos special exception, which will cause the skeleton and the resulting 28*c42dbd0eSchristos Bison output files to be licensed under the GNU General Public 29*c42dbd0eSchristos License without this special exception. 30*c42dbd0eSchristos 31*c42dbd0eSchristos This special exception was added by the Free Software Foundation in 32*c42dbd0eSchristos version 2.2 of Bison. */ 33*c42dbd0eSchristos 34*c42dbd0eSchristos /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 35*c42dbd0eSchristos especially those whose name start with YY_ or yy_. They are 36*c42dbd0eSchristos private implementation details that can be changed or removed. */ 37*c42dbd0eSchristos 38*c42dbd0eSchristos #ifndef YY_RL78_CONFIG_RL_PARSE_H_INCLUDED 39*c42dbd0eSchristos # define YY_RL78_CONFIG_RL_PARSE_H_INCLUDED 40*c42dbd0eSchristos /* Debug traces. */ 41*c42dbd0eSchristos #ifndef YYDEBUG 42*c42dbd0eSchristos # define YYDEBUG 0 43*c42dbd0eSchristos #endif 44*c42dbd0eSchristos #if YYDEBUG 45*c42dbd0eSchristos extern int rl78_debug; 46*c42dbd0eSchristos #endif 47*c42dbd0eSchristos 48*c42dbd0eSchristos /* Token kinds. */ 49*c42dbd0eSchristos #ifndef YYTOKENTYPE 50*c42dbd0eSchristos # define YYTOKENTYPE 51*c42dbd0eSchristos enum yytokentype 52*c42dbd0eSchristos { 53*c42dbd0eSchristos YYEMPTY = -2, 54*c42dbd0eSchristos YYEOF = 0, /* "end of file" */ 55*c42dbd0eSchristos YYerror = 256, /* error */ 56*c42dbd0eSchristos YYUNDEF = 257, /* "invalid token" */ 57*c42dbd0eSchristos A = 258, /* A */ 58*c42dbd0eSchristos X = 259, /* X */ 59*c42dbd0eSchristos B = 260, /* B */ 60*c42dbd0eSchristos C = 261, /* C */ 61*c42dbd0eSchristos D = 262, /* D */ 62*c42dbd0eSchristos E = 263, /* E */ 63*c42dbd0eSchristos H = 264, /* H */ 64*c42dbd0eSchristos L = 265, /* L */ 65*c42dbd0eSchristos AX = 266, /* AX */ 66*c42dbd0eSchristos BC = 267, /* BC */ 67*c42dbd0eSchristos DE = 268, /* DE */ 68*c42dbd0eSchristos HL = 269, /* HL */ 69*c42dbd0eSchristos SPL = 270, /* SPL */ 70*c42dbd0eSchristos SPH = 271, /* SPH */ 71*c42dbd0eSchristos PSW = 272, /* PSW */ 72*c42dbd0eSchristos CS = 273, /* CS */ 73*c42dbd0eSchristos ES = 274, /* ES */ 74*c42dbd0eSchristos PMC = 275, /* PMC */ 75*c42dbd0eSchristos MEM = 276, /* MEM */ 76*c42dbd0eSchristos FLAG = 277, /* FLAG */ 77*c42dbd0eSchristos SP = 278, /* SP */ 78*c42dbd0eSchristos CY = 279, /* CY */ 79*c42dbd0eSchristos RB0 = 280, /* RB0 */ 80*c42dbd0eSchristos RB1 = 281, /* RB1 */ 81*c42dbd0eSchristos RB2 = 282, /* RB2 */ 82*c42dbd0eSchristos RB3 = 283, /* RB3 */ 83*c42dbd0eSchristos EXPR = 284, /* EXPR */ 84*c42dbd0eSchristos UNKNOWN_OPCODE = 285, /* UNKNOWN_OPCODE */ 85*c42dbd0eSchristos IS_OPCODE = 286, /* IS_OPCODE */ 86*c42dbd0eSchristos DOT_S = 287, /* DOT_S */ 87*c42dbd0eSchristos DOT_B = 288, /* DOT_B */ 88*c42dbd0eSchristos DOT_W = 289, /* DOT_W */ 89*c42dbd0eSchristos DOT_L = 290, /* DOT_L */ 90*c42dbd0eSchristos DOT_A = 291, /* DOT_A */ 91*c42dbd0eSchristos DOT_UB = 292, /* DOT_UB */ 92*c42dbd0eSchristos DOT_UW = 293, /* DOT_UW */ 93*c42dbd0eSchristos ADD = 294, /* ADD */ 94*c42dbd0eSchristos ADDC = 295, /* ADDC */ 95*c42dbd0eSchristos ADDW = 296, /* ADDW */ 96*c42dbd0eSchristos AND_ = 297, /* AND_ */ 97*c42dbd0eSchristos AND1 = 298, /* AND1 */ 98*c42dbd0eSchristos BF = 299, /* BF */ 99*c42dbd0eSchristos BH = 300, /* BH */ 100*c42dbd0eSchristos BNC = 301, /* BNC */ 101*c42dbd0eSchristos BNH = 302, /* BNH */ 102*c42dbd0eSchristos BNZ = 303, /* BNZ */ 103*c42dbd0eSchristos BR = 304, /* BR */ 104*c42dbd0eSchristos BRK = 305, /* BRK */ 105*c42dbd0eSchristos BRK1 = 306, /* BRK1 */ 106*c42dbd0eSchristos BT = 307, /* BT */ 107*c42dbd0eSchristos BTCLR = 308, /* BTCLR */ 108*c42dbd0eSchristos BZ = 309, /* BZ */ 109*c42dbd0eSchristos CALL = 310, /* CALL */ 110*c42dbd0eSchristos CALLT = 311, /* CALLT */ 111*c42dbd0eSchristos CLR1 = 312, /* CLR1 */ 112*c42dbd0eSchristos CLRB = 313, /* CLRB */ 113*c42dbd0eSchristos CLRW = 314, /* CLRW */ 114*c42dbd0eSchristos CMP = 315, /* CMP */ 115*c42dbd0eSchristos CMP0 = 316, /* CMP0 */ 116*c42dbd0eSchristos CMPS = 317, /* CMPS */ 117*c42dbd0eSchristos CMPW = 318, /* CMPW */ 118*c42dbd0eSchristos DEC = 319, /* DEC */ 119*c42dbd0eSchristos DECW = 320, /* DECW */ 120*c42dbd0eSchristos DI = 321, /* DI */ 121*c42dbd0eSchristos DIVHU = 322, /* DIVHU */ 122*c42dbd0eSchristos DIVWU = 323, /* DIVWU */ 123*c42dbd0eSchristos EI = 324, /* EI */ 124*c42dbd0eSchristos HALT = 325, /* HALT */ 125*c42dbd0eSchristos INC = 326, /* INC */ 126*c42dbd0eSchristos INCW = 327, /* INCW */ 127*c42dbd0eSchristos MACH = 328, /* MACH */ 128*c42dbd0eSchristos MACHU = 329, /* MACHU */ 129*c42dbd0eSchristos MOV = 330, /* MOV */ 130*c42dbd0eSchristos MOV1 = 331, /* MOV1 */ 131*c42dbd0eSchristos MOVS = 332, /* MOVS */ 132*c42dbd0eSchristos MOVW = 333, /* MOVW */ 133*c42dbd0eSchristos MULH = 334, /* MULH */ 134*c42dbd0eSchristos MULHU = 335, /* MULHU */ 135*c42dbd0eSchristos MULU = 336, /* MULU */ 136*c42dbd0eSchristos NOP = 337, /* NOP */ 137*c42dbd0eSchristos NOT1 = 338, /* NOT1 */ 138*c42dbd0eSchristos ONEB = 339, /* ONEB */ 139*c42dbd0eSchristos ONEW = 340, /* ONEW */ 140*c42dbd0eSchristos OR = 341, /* OR */ 141*c42dbd0eSchristos OR1 = 342, /* OR1 */ 142*c42dbd0eSchristos POP = 343, /* POP */ 143*c42dbd0eSchristos PUSH = 344, /* PUSH */ 144*c42dbd0eSchristos RET = 345, /* RET */ 145*c42dbd0eSchristos RETI = 346, /* RETI */ 146*c42dbd0eSchristos RETB = 347, /* RETB */ 147*c42dbd0eSchristos ROL = 348, /* ROL */ 148*c42dbd0eSchristos ROLC = 349, /* ROLC */ 149*c42dbd0eSchristos ROLWC = 350, /* ROLWC */ 150*c42dbd0eSchristos ROR = 351, /* ROR */ 151*c42dbd0eSchristos RORC = 352, /* RORC */ 152*c42dbd0eSchristos SAR = 353, /* SAR */ 153*c42dbd0eSchristos SARW = 354, /* SARW */ 154*c42dbd0eSchristos SEL = 355, /* SEL */ 155*c42dbd0eSchristos SET1 = 356, /* SET1 */ 156*c42dbd0eSchristos SHL = 357, /* SHL */ 157*c42dbd0eSchristos SHLW = 358, /* SHLW */ 158*c42dbd0eSchristos SHR = 359, /* SHR */ 159*c42dbd0eSchristos SHRW = 360, /* SHRW */ 160*c42dbd0eSchristos SKC = 361, /* SKC */ 161*c42dbd0eSchristos SKH = 362, /* SKH */ 162*c42dbd0eSchristos SKNC = 363, /* SKNC */ 163*c42dbd0eSchristos SKNH = 364, /* SKNH */ 164*c42dbd0eSchristos SKNZ = 365, /* SKNZ */ 165*c42dbd0eSchristos SKZ = 366, /* SKZ */ 166*c42dbd0eSchristos STOP = 367, /* STOP */ 167*c42dbd0eSchristos SUB = 368, /* SUB */ 168*c42dbd0eSchristos SUBC = 369, /* SUBC */ 169*c42dbd0eSchristos SUBW = 370, /* SUBW */ 170*c42dbd0eSchristos XCH = 371, /* XCH */ 171*c42dbd0eSchristos XCHW = 372, /* XCHW */ 172*c42dbd0eSchristos XOR = 373, /* XOR */ 173*c42dbd0eSchristos XOR1 = 374 /* XOR1 */ 174*c42dbd0eSchristos }; 175*c42dbd0eSchristos typedef enum yytokentype yytoken_kind_t; 176*c42dbd0eSchristos #endif 177*c42dbd0eSchristos /* Token kinds. */ 178*c42dbd0eSchristos #define YYEMPTY -2 179*c42dbd0eSchristos #define YYEOF 0 180*c42dbd0eSchristos #define YYerror 256 181*c42dbd0eSchristos #define YYUNDEF 257 182*c42dbd0eSchristos #define A 258 183*c42dbd0eSchristos #define X 259 184*c42dbd0eSchristos #define B 260 185*c42dbd0eSchristos #define C 261 186*c42dbd0eSchristos #define D 262 187*c42dbd0eSchristos #define E 263 188*c42dbd0eSchristos #define H 264 189*c42dbd0eSchristos #define L 265 190*c42dbd0eSchristos #define AX 266 191*c42dbd0eSchristos #define BC 267 192*c42dbd0eSchristos #define DE 268 193*c42dbd0eSchristos #define HL 269 194*c42dbd0eSchristos #define SPL 270 195*c42dbd0eSchristos #define SPH 271 196*c42dbd0eSchristos #define PSW 272 197*c42dbd0eSchristos #define CS 273 198*c42dbd0eSchristos #define ES 274 199*c42dbd0eSchristos #define PMC 275 200*c42dbd0eSchristos #define MEM 276 201*c42dbd0eSchristos #define FLAG 277 202*c42dbd0eSchristos #define SP 278 203*c42dbd0eSchristos #define CY 279 204*c42dbd0eSchristos #define RB0 280 205*c42dbd0eSchristos #define RB1 281 206*c42dbd0eSchristos #define RB2 282 207*c42dbd0eSchristos #define RB3 283 208*c42dbd0eSchristos #define EXPR 284 209*c42dbd0eSchristos #define UNKNOWN_OPCODE 285 210*c42dbd0eSchristos #define IS_OPCODE 286 211*c42dbd0eSchristos #define DOT_S 287 212*c42dbd0eSchristos #define DOT_B 288 213*c42dbd0eSchristos #define DOT_W 289 214*c42dbd0eSchristos #define DOT_L 290 215*c42dbd0eSchristos #define DOT_A 291 216*c42dbd0eSchristos #define DOT_UB 292 217*c42dbd0eSchristos #define DOT_UW 293 218*c42dbd0eSchristos #define ADD 294 219*c42dbd0eSchristos #define ADDC 295 220*c42dbd0eSchristos #define ADDW 296 221*c42dbd0eSchristos #define AND_ 297 222*c42dbd0eSchristos #define AND1 298 223*c42dbd0eSchristos #define BF 299 224*c42dbd0eSchristos #define BH 300 225*c42dbd0eSchristos #define BNC 301 226*c42dbd0eSchristos #define BNH 302 227*c42dbd0eSchristos #define BNZ 303 228*c42dbd0eSchristos #define BR 304 229*c42dbd0eSchristos #define BRK 305 230*c42dbd0eSchristos #define BRK1 306 231*c42dbd0eSchristos #define BT 307 232*c42dbd0eSchristos #define BTCLR 308 233*c42dbd0eSchristos #define BZ 309 234*c42dbd0eSchristos #define CALL 310 235*c42dbd0eSchristos #define CALLT 311 236*c42dbd0eSchristos #define CLR1 312 237*c42dbd0eSchristos #define CLRB 313 238*c42dbd0eSchristos #define CLRW 314 239*c42dbd0eSchristos #define CMP 315 240*c42dbd0eSchristos #define CMP0 316 241*c42dbd0eSchristos #define CMPS 317 242*c42dbd0eSchristos #define CMPW 318 243*c42dbd0eSchristos #define DEC 319 244*c42dbd0eSchristos #define DECW 320 245*c42dbd0eSchristos #define DI 321 246*c42dbd0eSchristos #define DIVHU 322 247*c42dbd0eSchristos #define DIVWU 323 248*c42dbd0eSchristos #define EI 324 249*c42dbd0eSchristos #define HALT 325 250*c42dbd0eSchristos #define INC 326 251*c42dbd0eSchristos #define INCW 327 252*c42dbd0eSchristos #define MACH 328 253*c42dbd0eSchristos #define MACHU 329 254*c42dbd0eSchristos #define MOV 330 255*c42dbd0eSchristos #define MOV1 331 256*c42dbd0eSchristos #define MOVS 332 257*c42dbd0eSchristos #define MOVW 333 258*c42dbd0eSchristos #define MULH 334 259*c42dbd0eSchristos #define MULHU 335 260*c42dbd0eSchristos #define MULU 336 261*c42dbd0eSchristos #define NOP 337 262*c42dbd0eSchristos #define NOT1 338 263*c42dbd0eSchristos #define ONEB 339 264*c42dbd0eSchristos #define ONEW 340 265*c42dbd0eSchristos #define OR 341 266*c42dbd0eSchristos #define OR1 342 267*c42dbd0eSchristos #define POP 343 268*c42dbd0eSchristos #define PUSH 344 269*c42dbd0eSchristos #define RET 345 270*c42dbd0eSchristos #define RETI 346 271*c42dbd0eSchristos #define RETB 347 272*c42dbd0eSchristos #define ROL 348 273*c42dbd0eSchristos #define ROLC 349 274*c42dbd0eSchristos #define ROLWC 350 275*c42dbd0eSchristos #define ROR 351 276*c42dbd0eSchristos #define RORC 352 277*c42dbd0eSchristos #define SAR 353 278*c42dbd0eSchristos #define SARW 354 279*c42dbd0eSchristos #define SEL 355 280*c42dbd0eSchristos #define SET1 356 281*c42dbd0eSchristos #define SHL 357 282*c42dbd0eSchristos #define SHLW 358 283*c42dbd0eSchristos #define SHR 359 284*c42dbd0eSchristos #define SHRW 360 285*c42dbd0eSchristos #define SKC 361 286*c42dbd0eSchristos #define SKH 362 287*c42dbd0eSchristos #define SKNC 363 288*c42dbd0eSchristos #define SKNH 364 289*c42dbd0eSchristos #define SKNZ 365 290*c42dbd0eSchristos #define SKZ 366 291*c42dbd0eSchristos #define STOP 367 292*c42dbd0eSchristos #define SUB 368 293*c42dbd0eSchristos #define SUBC 369 294*c42dbd0eSchristos #define SUBW 370 295*c42dbd0eSchristos #define XCH 371 296*c42dbd0eSchristos #define XCHW 372 297*c42dbd0eSchristos #define XOR 373 298*c42dbd0eSchristos #define XOR1 374 299*c42dbd0eSchristos 300*c42dbd0eSchristos /* Value type. */ 301*c42dbd0eSchristos #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 302*c42dbd0eSchristos union YYSTYPE 303*c42dbd0eSchristos { 304*c42dbd0eSchristos #line 144 "./config/rl78-parse.y" 305*c42dbd0eSchristos 306*c42dbd0eSchristos int regno; 307*c42dbd0eSchristos expressionS exp; 308*c42dbd0eSchristos 309*c42dbd0eSchristos #line 310 "config/rl78-parse.h" 310*c42dbd0eSchristos 311*c42dbd0eSchristos }; 312*c42dbd0eSchristos typedef union YYSTYPE YYSTYPE; 313*c42dbd0eSchristos # define YYSTYPE_IS_TRIVIAL 1 314*c42dbd0eSchristos # define YYSTYPE_IS_DECLARED 1 315*c42dbd0eSchristos #endif 316*c42dbd0eSchristos 317*c42dbd0eSchristos 318*c42dbd0eSchristos extern YYSTYPE rl78_lval; 319*c42dbd0eSchristos 320*c42dbd0eSchristos 321*c42dbd0eSchristos int rl78_parse (void); 322*c42dbd0eSchristos 323*c42dbd0eSchristos 324*c42dbd0eSchristos #endif /* !YY_RL78_CONFIG_RL_PARSE_H_INCLUDED */ 325