Bochs/bochs/bx_debug/parser.h
2022-10-02 22:02:09 +03:00

334 lines
13 KiB
C

/* A Bison parser, made by GNU Bison 3.8.2. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
#ifndef YY_BX_Y_TAB_H_INCLUDED
# define YY_BX_Y_TAB_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int bxdebug;
#endif
/* Token kinds. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
YYEMPTY = -2,
YYEOF = 0, /* "end of file" */
YYerror = 256, /* error */
YYUNDEF = 257, /* "invalid token" */
BX_TOKEN_8BH_REG = 258, /* BX_TOKEN_8BH_REG */
BX_TOKEN_8BL_REG = 259, /* BX_TOKEN_8BL_REG */
BX_TOKEN_16B_REG = 260, /* BX_TOKEN_16B_REG */
BX_TOKEN_32B_REG = 261, /* BX_TOKEN_32B_REG */
BX_TOKEN_64B_REG = 262, /* BX_TOKEN_64B_REG */
BX_TOKEN_CS = 263, /* BX_TOKEN_CS */
BX_TOKEN_ES = 264, /* BX_TOKEN_ES */
BX_TOKEN_SS = 265, /* BX_TOKEN_SS */
BX_TOKEN_DS = 266, /* BX_TOKEN_DS */
BX_TOKEN_FS = 267, /* BX_TOKEN_FS */
BX_TOKEN_GS = 268, /* BX_TOKEN_GS */
BX_TOKEN_OPMASK_REG = 269, /* BX_TOKEN_OPMASK_REG */
BX_TOKEN_FLAGS = 270, /* BX_TOKEN_FLAGS */
BX_TOKEN_ON = 271, /* BX_TOKEN_ON */
BX_TOKEN_OFF = 272, /* BX_TOKEN_OFF */
BX_TOKEN_CONTINUE = 273, /* BX_TOKEN_CONTINUE */
BX_TOKEN_IF = 274, /* BX_TOKEN_IF */
BX_TOKEN_STEPN = 275, /* BX_TOKEN_STEPN */
BX_TOKEN_STEP_OVER = 276, /* BX_TOKEN_STEP_OVER */
BX_TOKEN_SET = 277, /* BX_TOKEN_SET */
BX_TOKEN_DEBUGGER = 278, /* BX_TOKEN_DEBUGGER */
BX_TOKEN_LIST_BREAK = 279, /* BX_TOKEN_LIST_BREAK */
BX_TOKEN_VBREAKPOINT = 280, /* BX_TOKEN_VBREAKPOINT */
BX_TOKEN_LBREAKPOINT = 281, /* BX_TOKEN_LBREAKPOINT */
BX_TOKEN_PBREAKPOINT = 282, /* BX_TOKEN_PBREAKPOINT */
BX_TOKEN_DEL_BREAKPOINT = 283, /* BX_TOKEN_DEL_BREAKPOINT */
BX_TOKEN_ENABLE_BREAKPOINT = 284, /* BX_TOKEN_ENABLE_BREAKPOINT */
BX_TOKEN_DISABLE_BREAKPOINT = 285, /* BX_TOKEN_DISABLE_BREAKPOINT */
BX_TOKEN_INFO = 286, /* BX_TOKEN_INFO */
BX_TOKEN_QUIT = 287, /* BX_TOKEN_QUIT */
BX_TOKEN_R = 288, /* BX_TOKEN_R */
BX_TOKEN_REGS = 289, /* BX_TOKEN_REGS */
BX_TOKEN_CPU = 290, /* BX_TOKEN_CPU */
BX_TOKEN_FPU = 291, /* BX_TOKEN_FPU */
BX_TOKEN_MMX = 292, /* BX_TOKEN_MMX */
BX_TOKEN_XMM = 293, /* BX_TOKEN_XMM */
BX_TOKEN_YMM = 294, /* BX_TOKEN_YMM */
BX_TOKEN_ZMM = 295, /* BX_TOKEN_ZMM */
BX_TOKEN_AVX = 296, /* BX_TOKEN_AVX */
BX_TOKEN_IDT = 297, /* BX_TOKEN_IDT */
BX_TOKEN_IVT = 298, /* BX_TOKEN_IVT */
BX_TOKEN_GDT = 299, /* BX_TOKEN_GDT */
BX_TOKEN_LDT = 300, /* BX_TOKEN_LDT */
BX_TOKEN_TSS = 301, /* BX_TOKEN_TSS */
BX_TOKEN_TAB = 302, /* BX_TOKEN_TAB */
BX_TOKEN_ALL = 303, /* BX_TOKEN_ALL */
BX_TOKEN_LINUX = 304, /* BX_TOKEN_LINUX */
BX_TOKEN_DEBUG_REGS = 305, /* BX_TOKEN_DEBUG_REGS */
BX_TOKEN_CONTROL_REGS = 306, /* BX_TOKEN_CONTROL_REGS */
BX_TOKEN_SEGMENT_REGS = 307, /* BX_TOKEN_SEGMENT_REGS */
BX_TOKEN_EXAMINE = 308, /* BX_TOKEN_EXAMINE */
BX_TOKEN_XFORMAT = 309, /* BX_TOKEN_XFORMAT */
BX_TOKEN_DISFORMAT = 310, /* BX_TOKEN_DISFORMAT */
BX_TOKEN_RESTORE = 311, /* BX_TOKEN_RESTORE */
BX_TOKEN_WRITEMEM = 312, /* BX_TOKEN_WRITEMEM */
BX_TOKEN_LOADMEM = 313, /* BX_TOKEN_LOADMEM */
BX_TOKEN_SETPMEM = 314, /* BX_TOKEN_SETPMEM */
BX_TOKEN_DEREF = 315, /* BX_TOKEN_DEREF */
BX_TOKEN_SYMBOLNAME = 316, /* BX_TOKEN_SYMBOLNAME */
BX_TOKEN_QUERY = 317, /* BX_TOKEN_QUERY */
BX_TOKEN_PENDING = 318, /* BX_TOKEN_PENDING */
BX_TOKEN_TAKE = 319, /* BX_TOKEN_TAKE */
BX_TOKEN_DMA = 320, /* BX_TOKEN_DMA */
BX_TOKEN_IRQ = 321, /* BX_TOKEN_IRQ */
BX_TOKEN_SMI = 322, /* BX_TOKEN_SMI */
BX_TOKEN_NMI = 323, /* BX_TOKEN_NMI */
BX_TOKEN_TLB = 324, /* BX_TOKEN_TLB */
BX_TOKEN_DISASM = 325, /* BX_TOKEN_DISASM */
BX_TOKEN_INSTRUMENT = 326, /* BX_TOKEN_INSTRUMENT */
BX_TOKEN_STRING = 327, /* BX_TOKEN_STRING */
BX_TOKEN_STOP = 328, /* BX_TOKEN_STOP */
BX_TOKEN_DOIT = 329, /* BX_TOKEN_DOIT */
BX_TOKEN_CRC = 330, /* BX_TOKEN_CRC */
BX_TOKEN_TRACE = 331, /* BX_TOKEN_TRACE */
BX_TOKEN_TRACEREG = 332, /* BX_TOKEN_TRACEREG */
BX_TOKEN_TRACEMEM = 333, /* BX_TOKEN_TRACEMEM */
BX_TOKEN_SWITCH_MODE = 334, /* BX_TOKEN_SWITCH_MODE */
BX_TOKEN_SIZE = 335, /* BX_TOKEN_SIZE */
BX_TOKEN_PTIME = 336, /* BX_TOKEN_PTIME */
BX_TOKEN_TIMEBP_ABSOLUTE = 337, /* BX_TOKEN_TIMEBP_ABSOLUTE */
BX_TOKEN_TIMEBP = 338, /* BX_TOKEN_TIMEBP */
BX_TOKEN_MODEBP = 339, /* BX_TOKEN_MODEBP */
BX_TOKEN_VMEXITBP = 340, /* BX_TOKEN_VMEXITBP */
BX_TOKEN_PRINT_STACK = 341, /* BX_TOKEN_PRINT_STACK */
BX_TOKEN_BT = 342, /* BX_TOKEN_BT */
BX_TOKEN_WATCH = 343, /* BX_TOKEN_WATCH */
BX_TOKEN_UNWATCH = 344, /* BX_TOKEN_UNWATCH */
BX_TOKEN_READ = 345, /* BX_TOKEN_READ */
BX_TOKEN_WRITE = 346, /* BX_TOKEN_WRITE */
BX_TOKEN_SHOW = 347, /* BX_TOKEN_SHOW */
BX_TOKEN_LOAD_SYMBOLS = 348, /* BX_TOKEN_LOAD_SYMBOLS */
BX_TOKEN_SYMBOLS = 349, /* BX_TOKEN_SYMBOLS */
BX_TOKEN_LIST_SYMBOLS = 350, /* BX_TOKEN_LIST_SYMBOLS */
BX_TOKEN_GLOBAL = 351, /* BX_TOKEN_GLOBAL */
BX_TOKEN_WHERE = 352, /* BX_TOKEN_WHERE */
BX_TOKEN_PRINT_STRING = 353, /* BX_TOKEN_PRINT_STRING */
BX_TOKEN_NUMERIC = 354, /* BX_TOKEN_NUMERIC */
BX_TOKEN_PAGE = 355, /* BX_TOKEN_PAGE */
BX_TOKEN_HELP = 356, /* BX_TOKEN_HELP */
BX_TOKEN_XML = 357, /* BX_TOKEN_XML */
BX_TOKEN_CALC = 358, /* BX_TOKEN_CALC */
BX_TOKEN_ADDLYT = 359, /* BX_TOKEN_ADDLYT */
BX_TOKEN_REMLYT = 360, /* BX_TOKEN_REMLYT */
BX_TOKEN_LYT = 361, /* BX_TOKEN_LYT */
BX_TOKEN_SOURCE = 362, /* BX_TOKEN_SOURCE */
BX_TOKEN_DEVICE = 363, /* BX_TOKEN_DEVICE */
BX_TOKEN_GENERIC = 364, /* BX_TOKEN_GENERIC */
BX_TOKEN_DEREF_CHR = 365, /* BX_TOKEN_DEREF_CHR */
BX_TOKEN_RSHIFT = 366, /* BX_TOKEN_RSHIFT */
BX_TOKEN_LSHIFT = 367, /* BX_TOKEN_LSHIFT */
BX_TOKEN_EQ = 368, /* BX_TOKEN_EQ */
BX_TOKEN_NE = 369, /* BX_TOKEN_NE */
BX_TOKEN_LE = 370, /* BX_TOKEN_LE */
BX_TOKEN_GE = 371, /* BX_TOKEN_GE */
BX_TOKEN_REG_IP = 372, /* BX_TOKEN_REG_IP */
BX_TOKEN_REG_EIP = 373, /* BX_TOKEN_REG_EIP */
BX_TOKEN_REG_RIP = 374, /* BX_TOKEN_REG_RIP */
BX_TOKEN_REG_SSP = 375, /* BX_TOKEN_REG_SSP */
NOT = 376, /* NOT */
NEG = 377, /* NEG */
INDIRECT = 378 /* INDIRECT */
};
typedef enum yytokentype yytoken_kind_t;
#endif
/* Token kinds. */
#define YYEMPTY -2
#define YYEOF 0
#define YYerror 256
#define YYUNDEF 257
#define BX_TOKEN_8BH_REG 258
#define BX_TOKEN_8BL_REG 259
#define BX_TOKEN_16B_REG 260
#define BX_TOKEN_32B_REG 261
#define BX_TOKEN_64B_REG 262
#define BX_TOKEN_CS 263
#define BX_TOKEN_ES 264
#define BX_TOKEN_SS 265
#define BX_TOKEN_DS 266
#define BX_TOKEN_FS 267
#define BX_TOKEN_GS 268
#define BX_TOKEN_OPMASK_REG 269
#define BX_TOKEN_FLAGS 270
#define BX_TOKEN_ON 271
#define BX_TOKEN_OFF 272
#define BX_TOKEN_CONTINUE 273
#define BX_TOKEN_IF 274
#define BX_TOKEN_STEPN 275
#define BX_TOKEN_STEP_OVER 276
#define BX_TOKEN_SET 277
#define BX_TOKEN_DEBUGGER 278
#define BX_TOKEN_LIST_BREAK 279
#define BX_TOKEN_VBREAKPOINT 280
#define BX_TOKEN_LBREAKPOINT 281
#define BX_TOKEN_PBREAKPOINT 282
#define BX_TOKEN_DEL_BREAKPOINT 283
#define BX_TOKEN_ENABLE_BREAKPOINT 284
#define BX_TOKEN_DISABLE_BREAKPOINT 285
#define BX_TOKEN_INFO 286
#define BX_TOKEN_QUIT 287
#define BX_TOKEN_R 288
#define BX_TOKEN_REGS 289
#define BX_TOKEN_CPU 290
#define BX_TOKEN_FPU 291
#define BX_TOKEN_MMX 292
#define BX_TOKEN_XMM 293
#define BX_TOKEN_YMM 294
#define BX_TOKEN_ZMM 295
#define BX_TOKEN_AVX 296
#define BX_TOKEN_IDT 297
#define BX_TOKEN_IVT 298
#define BX_TOKEN_GDT 299
#define BX_TOKEN_LDT 300
#define BX_TOKEN_TSS 301
#define BX_TOKEN_TAB 302
#define BX_TOKEN_ALL 303
#define BX_TOKEN_LINUX 304
#define BX_TOKEN_DEBUG_REGS 305
#define BX_TOKEN_CONTROL_REGS 306
#define BX_TOKEN_SEGMENT_REGS 307
#define BX_TOKEN_EXAMINE 308
#define BX_TOKEN_XFORMAT 309
#define BX_TOKEN_DISFORMAT 310
#define BX_TOKEN_RESTORE 311
#define BX_TOKEN_WRITEMEM 312
#define BX_TOKEN_LOADMEM 313
#define BX_TOKEN_SETPMEM 314
#define BX_TOKEN_DEREF 315
#define BX_TOKEN_SYMBOLNAME 316
#define BX_TOKEN_QUERY 317
#define BX_TOKEN_PENDING 318
#define BX_TOKEN_TAKE 319
#define BX_TOKEN_DMA 320
#define BX_TOKEN_IRQ 321
#define BX_TOKEN_SMI 322
#define BX_TOKEN_NMI 323
#define BX_TOKEN_TLB 324
#define BX_TOKEN_DISASM 325
#define BX_TOKEN_INSTRUMENT 326
#define BX_TOKEN_STRING 327
#define BX_TOKEN_STOP 328
#define BX_TOKEN_DOIT 329
#define BX_TOKEN_CRC 330
#define BX_TOKEN_TRACE 331
#define BX_TOKEN_TRACEREG 332
#define BX_TOKEN_TRACEMEM 333
#define BX_TOKEN_SWITCH_MODE 334
#define BX_TOKEN_SIZE 335
#define BX_TOKEN_PTIME 336
#define BX_TOKEN_TIMEBP_ABSOLUTE 337
#define BX_TOKEN_TIMEBP 338
#define BX_TOKEN_MODEBP 339
#define BX_TOKEN_VMEXITBP 340
#define BX_TOKEN_PRINT_STACK 341
#define BX_TOKEN_BT 342
#define BX_TOKEN_WATCH 343
#define BX_TOKEN_UNWATCH 344
#define BX_TOKEN_READ 345
#define BX_TOKEN_WRITE 346
#define BX_TOKEN_SHOW 347
#define BX_TOKEN_LOAD_SYMBOLS 348
#define BX_TOKEN_SYMBOLS 349
#define BX_TOKEN_LIST_SYMBOLS 350
#define BX_TOKEN_GLOBAL 351
#define BX_TOKEN_WHERE 352
#define BX_TOKEN_PRINT_STRING 353
#define BX_TOKEN_NUMERIC 354
#define BX_TOKEN_PAGE 355
#define BX_TOKEN_HELP 356
#define BX_TOKEN_XML 357
#define BX_TOKEN_CALC 358
#define BX_TOKEN_ADDLYT 359
#define BX_TOKEN_REMLYT 360
#define BX_TOKEN_LYT 361
#define BX_TOKEN_SOURCE 362
#define BX_TOKEN_DEVICE 363
#define BX_TOKEN_GENERIC 364
#define BX_TOKEN_DEREF_CHR 365
#define BX_TOKEN_RSHIFT 366
#define BX_TOKEN_LSHIFT 367
#define BX_TOKEN_EQ 368
#define BX_TOKEN_NE 369
#define BX_TOKEN_LE 370
#define BX_TOKEN_GE 371
#define BX_TOKEN_REG_IP 372
#define BX_TOKEN_REG_EIP 373
#define BX_TOKEN_REG_RIP 374
#define BX_TOKEN_REG_SSP 375
#define NOT 376
#define NEG 377
#define INDIRECT 378
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 14 "parser.y"
char *sval;
Bit64u uval;
unsigned bval;
#line 319 "y.tab.h"
};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE bxlval;
int bxparse (void);
#endif /* !YY_BX_Y_TAB_H_INCLUDED */