aboutsummaryrefslogtreecommitdiff
path: root/utils/TableGen/FileParser.cpp.cvs
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-09-17 17:40:48 +0000
committerChris Lattner <sabre@nondot.org>2007-09-17 17:40:48 +0000
commit10814820f62aabc0cbad99d8bfc19074eddfdeac (patch)
tree75ca3f3c9512f716697d0a0f44a0de721191f786 /utils/TableGen/FileParser.cpp.cvs
parent5d066ff7f0845abd224a4b60cd9bf9f7516b04a6 (diff)
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42036 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/FileParser.cpp.cvs')
-rw-r--r--utils/TableGen/FileParser.cpp.cvs3643
1 files changed, 1443 insertions, 2200 deletions
diff --git a/utils/TableGen/FileParser.cpp.cvs b/utils/TableGen/FileParser.cpp.cvs
index 6cfc3dde27..a49846ffa0 100644
--- a/utils/TableGen/FileParser.cpp.cvs
+++ b/utils/TableGen/FileParser.cpp.cvs
@@ -1,134 +1,42 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made from /Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y
+ by GNU Bison version 1.28 */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
+#define YYBISON 1 /* Identify Bison output. */
- 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 2, 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, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-/* 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. */
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-/* Identify Bison output. */
-#define YYBISON 1
-
-/* Bison version. */
-#define YYBISON_VERSION "2.3"
-
-/* Skeleton name. */
-#define YYSKELETON_NAME "yacc.c"
-
-/* Pure parsers. */
-#define YYPURE 0
-
-/* Using locations. */
-#define YYLSP_NEEDED 0
-
-/* Substitute the variable and function names. */
#define yyparse Fileparse
-#define yylex Filelex
+#define yylex Filelex
#define yyerror Fileerror
-#define yylval Filelval
-#define yychar Filechar
+#define yylval Filelval
+#define yychar Filechar
#define yydebug Filedebug
#define yynerrs Filenerrs
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- INT = 258,
- BIT = 259,
- STRING = 260,
- BITS = 261,
- LIST = 262,
- CODE = 263,
- DAG = 264,
- CLASS = 265,
- DEF = 266,
- MULTICLASS = 267,
- DEFM = 268,
- FIELD = 269,
- LET = 270,
- IN = 271,
- SHLTOK = 272,
- SRATOK = 273,
- SRLTOK = 274,
- STRCONCATTOK = 275,
- INTVAL = 276,
- ID = 277,
- VARNAME = 278,
- STRVAL = 279,
- CODEFRAGMENT = 280
- };
-#endif
-/* Tokens. */
-#define INT 258
-#define BIT 259
-#define STRING 260
-#define BITS 261
-#define LIST 262
-#define CODE 263
-#define DAG 264
-#define CLASS 265
-#define DEF 266
-#define MULTICLASS 267
-#define DEFM 268
-#define FIELD 269
-#define LET 270
-#define IN 271
-#define SHLTOK 272
-#define SRATOK 273
-#define SRLTOK 274
-#define STRCONCATTOK 275
-#define INTVAL 276
-#define ID 277
-#define VARNAME 278
-#define STRVAL 279
-#define CODEFRAGMENT 280
-
-
-
-
-/* Copy the first part of user declarations. */
-#line 14 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileParser.y"
+#define INT 257
+#define BIT 258
+#define STRING 259
+#define BITS 260
+#define LIST 261
+#define CODE 262
+#define DAG 263
+#define CLASS 264
+#define DEF 265
+#define MULTICLASS 266
+#define DEFM 267
+#define FIELD 268
+#define LET 269
+#define IN 270
+#define CONCATTOK 271
+#define SHLTOK 272
+#define SRATOK 273
+#define SRLTOK 274
+#define STRCONCATTOK 275
+#define INTVAL 276
+#define ID 277
+#define VARNAME 278
+#define STRVAL 279
+#define CODEFRAGMENT 280
+
+#line 14 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#include "Record.h"
#include "llvm/ADT/StringExtras.h"
@@ -324,29 +232,8 @@ static void addSubClass(Record *SC, const std::vector<Init*> &TemplateArgs) {
using namespace llvm;
-
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* Enabling the token table. */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-#line 210 "/Volumes/Gir/devel/llvm/llvm.src/utils/TableGen/FileParser.y"
-{
+#line 210 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
+typedef union {
std::string* StrVal;
int IntVal;
llvm::RecTy* Ty;
@@ -358,1195 +245,575 @@ typedef union YYSTYPE
SubClassRefTy* SubClassRef;
std::vector<SubClassRefTy>* SubClassList;
std::vector<std::pair<llvm::Init*, std::string> >* DagValueList;
-}
-/* Line 193 of yacc.c. */
-#line 364 "FileParser.tab.c"
- YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-
-
-/* Copy the second part of user declarations. */
-
-
-/* Line 216 of yacc.c. */
-#line 377 "FileParser.tab.c"
+} YYSTYPE;
+#include <stdio.h>
-#ifdef short
-# undef short
+#ifndef __cplusplus
+#ifndef __STDC__
+#define const
#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
#endif
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
-#else
-typedef short int yytype_int8;
-#endif
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
+#define YYFINAL 194
+#define YYFLAG -32768
+#define YYNTBASE 42
+
+#define YYTRANSLATE(x) ((unsigned)(x) <= 280 ? yytranslate[x] : 91)
+
+static const char yytranslate[] = { 0,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 36,
+ 37, 2, 2, 38, 40, 35, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 39, 41, 27,
+ 29, 28, 30, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 33, 2, 34, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 31, 2, 32, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
+};
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-# define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# else
-# define YYSIZE_T unsigned int
-# endif
-#endif
+#if YYDEBUG != 0
+static const short yyprhs[] = { 0,
+ 0, 2, 4, 6, 11, 13, 18, 20, 22, 24,
+ 25, 27, 28, 31, 33, 35, 37, 39, 41, 43,
+ 47, 52, 57, 61, 65, 70, 75, 82, 89, 96,
+ 103, 110, 111, 114, 117, 122, 123, 125, 127, 131,
+ 134, 138, 144, 149, 151, 152, 156, 157, 159, 161,
+ 165, 170, 173, 180, 181, 184, 186, 190, 192, 197,
+ 199, 203, 204, 207, 209, 213, 217, 218, 220, 222,
+ 223, 225, 227, 229, 230, 234, 235, 236, 243, 247,
+ 249, 251, 254, 256, 257, 258, 267, 268, 275, 277,
+ 279, 281, 283, 288, 290, 294, 295, 300, 305, 308,
+ 310, 313
+};
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(msgid) msgid
-# endif
-#endif
+static const short yyrhs[] = { 23,
+ 0, 5, 0, 4, 0, 6, 27, 22, 28, 0,
+ 3, 0, 7, 27, 43, 28, 0, 8, 0, 9,
+ 0, 42, 0, 0, 14, 0, 0, 29, 47, 0,
+ 23, 0, 46, 0, 22, 0, 25, 0, 26, 0,
+ 30, 0, 31, 54, 32, 0, 23, 27, 55, 28,
+ 0, 47, 31, 52, 32, 0, 33, 54, 34, 0,
+ 47, 35, 23, 0, 36, 46, 50, 37, 0, 47,
+ 33, 52, 34, 0, 17, 36, 47, 38, 47, 37,
+ 0, 18, 36, 47, 38, 47, 37, 0, 19, 36,
+ 47, 38, 47, 37, 0, 20, 36, 47, 38, 47,
+ 37, 0, 21, 36, 47, 38, 47, 37, 0, 0,
+ 39, 24, 0, 47, 48, 0, 49, 38, 47, 48,
+ 0, 0, 49, 0, 22, 0, 22, 40, 22, 0,
+ 22, 22, 0, 51, 38, 22, 0, 51, 38, 22,
+ 40, 22, 0, 51, 38, 22, 22, 0, 51, 0,
+ 0, 31, 52, 32, 0, 0, 55, 0, 47, 0,
+ 55, 38, 47, 0, 44, 43, 23, 45, 0, 56,
+ 41, 0, 15, 23, 53, 29, 47, 41, 0, 0,
+ 58, 57, 0, 41, 0, 31, 58, 32, 0, 42,
+ 0, 42, 27, 55, 28, 0, 60, 0, 61, 38,
+ 60, 0, 0, 39, 61, 0, 56, 0, 63, 38,
+ 56, 0, 27, 63, 28, 0, 0, 64, 0, 23,
+ 0, 0, 66, 0, 67, 0, 67, 0, 0, 62,
+ 71, 59, 0, 0, 0, 10, 68, 73, 65, 74,
+ 70, 0, 11, 69, 70, 0, 75, 0, 76, 0,
+ 77, 76, 0, 23, 0, 0, 0, 12, 78, 80,
+ 65, 81, 31, 77, 32, 0, 0, 13, 23, 83,
+ 39, 60, 41, 0, 72, 0, 75, 0, 79, 0,
+ 82, 0, 23, 53, 29, 47, 0, 85, 0, 86,
+ 38, 85, 0, 0, 15, 88, 86, 16, 0, 87,
+ 31, 89, 32, 0, 87, 84, 0, 84, 0, 89,
+ 84, 0, 89, 0
+};
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
-#else
-# define YYUSE(e) /* empty */
#endif
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(n) (n)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int i)
-#else
-static int
-YYID (i)
- int i;
-#endif
-{
- return i;
-}
+#if YYDEBUG != 0
+static const short yyrline[] = { 0,
+ 246, 268, 270, 272, 274, 276, 278, 280, 282, 286,
+ 286, 288, 288, 290, 313, 315, 317, 320, 323, 325,
+ 338, 366, 373, 376, 383, 386, 394, 396, 398, 400,
+ 402, 406, 409, 413, 418, 424, 427, 430, 433, 446,
+ 460, 462, 475, 491, 493, 493, 497, 499, 503, 506,
+ 510, 527, 529, 535, 535, 536, 536, 538, 540, 544,
+ 549, 554, 557, 561, 564, 569, 570, 570, 572, 572,
+ 574, 581, 599, 624, 638, 643, 645, 647, 651, 661,
+ 675, 678, 682, 693, 695, 697, 702, 702, 776, 776,
+ 777, 777, 779, 784, 784, 787, 787, 790, 793, 797,
+ 797, 799
+};
#endif
-#if ! defined yyoverflow || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */
-
-# ifdef YYSTACK_USE_ALLOCA
-# if YYSTACK_USE_ALLOCA
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# elif defined __BUILTIN_VA_ARG_INCR
-# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-# elif defined _AIX
-# define YYSTACK_ALLOC __alloca
-# elif defined _MSC_VER
-# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-# define alloca _alloca
-# else
-# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
-# endif
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
-# ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-# endif
-# if (defined __cplusplus && ! defined _STDLIB_H \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
-# endif
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# endif
-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
-
-
-#if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)
-
-/* Copy COUNT objects from FROM to TO. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(To, From, Count) \
- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-# else
-# define YYCOPY(To, From, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (To)[yyi] = (From)[yyi]; \
- } \
- while (YYID (0))
-# endif
-# endif
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
+#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
+
+static const char * const yytname[] = { "$","error","$undefined.","INT","BIT",
+"STRING","BITS","LIST","CODE","DAG","CLASS","DEF","MULTICLASS","DEFM","FIELD",
+"LET","IN","CONCATTOK","SHLTOK","SRATOK","SRLTOK","STRCONCATTOK","INTVAL","ID",
+"VARNAME","STRVAL","CODEFRAGMENT","'<'","'>'","'='","'?'","'{'","'}'","'['",
+"']'","'.'","'('","')'","','","':'","'-'","';'","ClassID","Type","OptPrefix",
+"OptValue","IDValue","Value","OptVarName","DagArgListNE","DagArgList","RBitList",
+"BitList","OptBitList","ValueList","ValueListNE","Declaration","BodyItem","BodyList",
+"Body","SubClassRef","ClassListNE","ClassList","DeclListNE","TemplateArgList",
+"OptTemplateArgList","OptID","ObjectName","ClassName","DefName","ObjectBody",
+"@1","ClassInst","@2","@3","DefInst","MultiClassDef","MultiClassBody","MultiClassName",
+"MultiClassInst","@4","@5","DefMInst","@6","Object","LETItem","LETList","LETCommand",
+"@7","ObjectList","File", NULL
+};
#endif
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 27
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 204
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 41
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 50
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 102
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 188
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 280
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const yytype_uint8 yytranslate[] =
-{
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 35, 36, 2, 2, 37, 39, 34, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 38, 40,
- 26, 28, 27, 29, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 32, 2, 33, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 30, 2, 31, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25
+static const short yyr1[] = { 0,
+ 42, 43, 43, 43, 43, 43, 43, 43, 43, 44,
+ 44, 45, 45, 46, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 48, 48, 49, 49, 50, 50, 51, 51, 51,
+ 51, 51, 51, 52, 53, 53, 54, 54, 55, 55,
+ 56, 57, 57, 58, 58, 59, 59, 60, 60, 61,
+ 61, 62, 62, 63, 63, 64, 65, 65, 66, 66,
+ 67, 68, 69, 71, 70, 73, 74, 72, 75, 76,
+ 77, 77, 78, 80, 81, 79, 83, 82, 84, 84,
+ 84, 84, 85, 86, 86, 88, 87, 84, 84, 89,
+ 89, 90
};
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint16 yyprhs[] =
-{
- 0, 0, 3, 5, 7, 9, 14, 16, 21, 23,
- 25, 27, 28, 30, 31, 34, 36, 38, 40, 42,
- 44, 46, 50, 55, 60, 64, 68, 73, 78, 85,
- 92, 99, 106, 107, 110, 113, 118, 119, 121, 123,
- 127, 130, 134, 140, 145, 147, 148, 152, 153, 155,
- 157, 161, 166, 169, 176, 177, 180, 182, 186, 188,
- 193, 195, 199, 200, 203, 205, 209, 213, 214, 216,
- 218, 219, 221, 223, 225, 226, 230, 231, 232, 239,
- 243, 245, 247, 250, 252, 253, 254, 263, 264, 271,
- 273, 275, 277, 279, 284, 286, 290, 291, 296, 301,
- 304, 306, 309
+static const short yyr2[] = { 0,
+ 1, 1, 1, 4, 1, 4, 1, 1, 1, 0,
+ 1, 0, 2, 1, 1, 1, 1, 1, 1, 3,
+ 4, 4, 3, 3, 4, 4, 6, 6, 6, 6,
+ 6, 0, 2, 2, 4, 0, 1, 1, 3, 2,
+ 3, 5, 4, 1, 0, 3, 0, 1, 1, 3,
+ 4, 2, 6, 0, 2, 1, 3, 1, 4, 1,
+ 3, 0, 2, 1, 3, 3, 0, 1, 1, 0,
+ 1, 1, 1, 0, 3, 0, 0, 6, 3, 1,
+ 1, 2, 1, 0, 0, 8, 0, 6, 1, 1,
+ 1, 1, 4, 1, 3, 0, 4, 4, 2, 1,
+ 2, 1
};
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int8 yyrhs[] =
-{
- 90, 0, -1, 22, -1, 5, -1, 4, -1, 6,
- 26, 21, 27, -1, 3, -1, 7, 26, 43, 27,
- -1, 8, -1, 9, -1, 42, -1, -1, 14, -1,
- -1, 28, 47, -1, 22, -1, 46, -1, 21, -1,
- 24, -1, 25, -1, 29, -1, 30, 54, 31, -1,
- 22, 26, 55, 27, -1, 47, 30, 52, 31, -1,
- 32, 54, 33, -1, 47, 34, 22, -1, 35, 46,
- 50, 36, -1, 47, 32, 52, 33, -1, 17, 35,
- 47, 37, 47, 36, -1, 18, 35, 47, 37, 47,
- 36, -1, 19, 35, 47, 37, 47, 36, -1, 20,
- 35, 47, 37, 47, 36, -1, -1, 38, 23, -1,
- 47, 48, -1, 49, 37, 47, 48, -1, -1, 49,
- -1, 21, -1, 21, 39, 21, -1, 21, 21, -1,
- 51, 37, 21, -1, 51, 37, 21, 39, 21, -1,
- 51, 37, 21, 21, -1, 51, -1, -1, 30, 52,
- 31, -1, -1, 55, -1, 47, -1, 55, 37, 47,
- -1, 44, 43, 22, 45, -1, 56, 40, -1, 15,
- 22, 53, 28, 47, 40, -1, -1, 58, 57, -1,
- 40, -1, 30, 58, 31, -1, 42, -1, 42, 26,
- 55, 27, -1, 60, -1, 61, 37, 60, -1, -1,
- 38, 61, -1, 56, -1, 63, 37, 56, -1, 26,
- 63, 27, -1, -1, 64, -1, 22, -1, -1, 66,
- -1, 67, -1, 67, -1, -1, 62, 71, 59, -1,
- -1, -1, 10, 68, 73, 65, 74, 70, -1, 11,
- 69, 70, -1, 75, -1, 76, -1, 77, 76, -1,
- 22, -1, -1, -1, 12, 78, 80, 65, 81, 30,
- 77, 31, -1, -1, 13, 22, 83, 38, 60, 40,
- -1, 72, -1, 75, -1, 79, -1, 82, -1, 22,
- 53, 28, 47, -1, 85, -1, 86, 37, 85, -1,
- -1, 15, 88, 86, 16, -1, 87, 30, 89, 31,
- -1, 87, 84, -1, 84, -1, 89, 84, -1, 89,
- -1
+static const short yydefact[] = { 0,
+ 70, 70, 0, 0, 96, 89, 90, 91, 92, 100,
+ 0, 102, 69, 71, 72, 76, 73, 62, 83, 84,
+ 87, 0, 0, 99, 101, 67, 0, 74, 79, 67,
+ 0, 45, 94, 0, 0, 10, 68, 77, 1, 58,
+ 60, 63, 0, 85, 0, 0, 0, 97, 0, 98,
+ 11, 0, 64, 0, 62, 0, 0, 54, 56, 75,
+ 0, 0, 38, 44, 0, 0, 95, 5, 3, 2,
+ 0, 0, 7, 8, 9, 0, 66, 10, 78, 0,
+ 0, 0, 0, 0, 16, 14, 17, 18, 19, 47,
+ 47, 0, 15, 49, 0, 61, 10, 0, 88, 40,
+ 0, 0, 46, 93, 0, 0, 12, 65, 0, 0,
+ 0, 0, 0, 0, 0, 48, 0, 14, 36, 0,
+ 0, 0, 59, 0, 0, 57, 0, 55, 80, 81,
+ 0, 39, 41, 0, 0, 0, 51, 0, 0, 0,
+ 0, 0, 0, 20, 23, 32, 37, 0, 0, 0,
+ 24, 50, 45, 52, 86, 82, 43, 0, 4, 6,
+ 13, 0, 0, 0, 0, 0, 21, 0, 34, 0,
+ 25, 22, 26, 0, 42, 0, 0, 0, 0, 0,
+ 33, 32, 0, 27, 28, 29, 30, 31, 35, 0,
+ 53, 0, 0, 0
};
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
-{
- 0, 246, 246, 268, 270, 272, 274, 276, 278, 280,
- 282, 286, 286, 288, 288, 290, 313, 315, 317, 320,
- 323, 325, 338, 366, 373, 376, 383, 386, 394, 396,
- 398, 400, 404, 407, 411, 416, 422, 425, 428, 431,
- 444, 458, 460, 473, 489, 491, 491, 495, 497, 501,
- 504, 508, 525, 527, 533, 533, 534, 534, 536, 538,
- 542, 547, 552, 555, 559, 562, 567, 568, 568, 570,
- 570, 572, 579, 597, 622, 622, 641, 643, 641, 649,
- 659, 673, 676, 680, 691, 693, 691, 700, 700, 774,
- 774, 775, 775, 777, 782, 782, 785, 785, 788, 791,
- 795, 795, 797
+static const short yydefgoto[] = { 40,
+ 76, 52, 137, 93, 94, 169, 147, 148, 64, 65,
+ 47, 115, 116, 53, 128, 97, 60, 41, 42, 28,
+ 54, 37, 38, 14, 15, 16, 18, 29, 43, 6,
+ 26, 55, 7, 130, 131, 20, 8, 30, 61, 9,
+ 31, 10, 33, 34, 11, 22, 12, 192
};
-#endif
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- "$end", "error", "$undefined", "INT", "BIT", "STRING", "BITS", "LIST",
- "CODE", "DAG", "CLASS", "DEF", "MULTICLASS", "DEFM", "FIELD", "LET",
- "IN", "SHLTOK", "SRATOK", "SRLTOK", "STRCONCATTOK", "INTVAL", "ID",
- "VARNAME", "STRVAL", "CODEFRAGMENT", "'<'", "'>'", "'='", "'?'", "'{'",
- "'}'", "'['", "']'", "'.'", "'('", "')'", "','", "':'", "'-'", "';'",
- "$accept", "ClassID", "Type", "OptPrefix", "OptValue", "IDValue",
- "Value", "OptVarName", "DagArgListNE", "DagArgList", "RBitList",
- "BitList", "OptBitList", "ValueList", "ValueListNE", "Declaration",
- "BodyItem", "BodyList", "Body", "SubClassRef", "ClassListNE",
- "ClassList", "DeclListNE", "TemplateArgList", "OptTemplateArgList",
- "OptID", "ObjectName", "ClassName", "DefName", "ObjectBody", "@1",
- "ClassInst", "@2", "@3", "DefInst", "MultiClassDef", "MultiClassBody",
- "MultiClassName", "MultiClassInst", "@4", "@5", "DefMInst", "@6",
- "Object", "LETItem", "LETList", "LETCommand", "@7", "ObjectList", "File", 0
+static const short yypact[] = { 147,
+ -17, -17, 8, 12,-32768,-32768,-32768,-32768,-32768,-32768,
+ 3, 147,-32768,-32768,-32768,-32768,-32768, -13,-32768,-32768,
+-32768, 17, 147,-32768,-32768, 21, 58,-32768,-32768, 21,
+ 45, 55,-32768, -5, -3, 77,-32768,-32768,-32768, 68,
+-32768, 64, -4,-32768, 58, 84, 81,-32768, 17,-32768,
+-32768, 16,-32768, 13, -13, 43, 58,-32768,-32768,-32768,
+ 88, 74, 10, 83, 93, 43,-32768,-32768,-32768,-32768,
+ 100, 104,-32768,-32768,-32768, 110,-32768, 77,-32768, 117,
+ 125, 127, 128, 129,-32768, 139,-32768,-32768,-32768, 43,
+ 43, 132,-32768, 59, 14,-32768, 40, 156,-32768,-32768,
+ 146, 148,-32768, 59, 149, 16, 140,-32768, 43, 43,
+ 43, 43, 43, 43, 141, 134, 142,-32768, 43, 84,
+ 84, 151,-32768, 43, 152,-32768, 136,-32768,-32768,-32768,
+ 6,-32768, 35, 150, 153, 43,-32768, 70, 76, 85,
+ 91, 97, 39,-32768,-32768, 54, 144, 143, 154, 145,
+-32768, 59, 55,-32768,-32768,-32768,-32768, 161,-32768,-32768,
+ 59, 43, 43, 43, 43, 43,-32768, 160,-32768, 43,
+-32768,-32768,-32768, 158,-32768, 103, 106, 111, 114, 119,
+-32768, 54, 43,-32768,-32768,-32768,-32768,-32768,-32768, 47,
+-32768, 185, 188,-32768
};
-#endif
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
-static const yytype_uint16 yytoknum[] =
-{
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 60, 62, 61, 63,
- 123, 125, 91, 93, 46, 40, 41, 44, 58, 45,
- 59
-};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 41, 42, 43, 43, 43, 43, 43, 43, 43,
- 43, 44, 44, 45, 45, 46, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 48, 48, 49, 49, 50, 50, 51, 51,
- 51, 51, 51, 51, 52, 53, 53, 54, 54, 55,
- 55, 56, 57, 57, 58, 58, 59, 59, 60, 60,
- 61, 61, 62, 62, 63, 63, 64, 65, 65, 66,
- 66, 67, 68, 69, 71, 70, 73, 74, 72, 75,
- 76, 77, 77, 78, 80, 81, 79, 83, 82, 84,
- 84, 84, 84, 85, 86, 86, 88, 87, 84, 84,
- 89, 89, 90
+static const short yypgoto[] = { -50,
+ 86,-32768,-32768, 98, -66, 7,-32768,-32768,-32768, -8,
+ 38, 102, -55, -48,-32768,-32768,-32768, 26,-32768,-32768,
+-32768,-32768, 164,-32768, 193,-32768,-32768, 155,-32768,-32768,
+-32768,-32768, -95, 65,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, -7, 157,-32768,-32768,-32768, 174,-32768
};
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 1, 1, 1, 4, 1, 4, 1, 1,
- 1, 0, 1, 0, 2, 1, 1, 1, 1, 1,
- 1, 3, 4, 4, 3, 3, 4, 4, 6, 6,
- 6, 6, 0, 2, 2, 4, 0, 1, 1, 3,
- 2, 3, 5, 4, 1, 0, 3, 0, 1, 1,
- 3, 4, 2, 6, 0, 2, 1, 3, 1, 4,
- 1, 3, 0, 2, 1, 3, 3, 0, 1, 1,
- 0, 1, 1, 1, 0, 3, 0, 0, 6, 3,
- 1, 1, 2, 1, 0, 0, 8, 0, 6, 1,
- 1, 1, 1, 4, 1, 3, 0, 4, 4, 2,
- 1, 2, 1
-};
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint8 yydefact[] =
-{
- 0, 70, 70, 0, 0, 96, 89, 90, 91, 92,
- 100, 0, 102, 0, 69, 71, 72, 76, 73, 62,
- 83, 84, 87, 0, 0, 99, 101, 1, 67, 0,
- 74, 79, 67, 0, 45, 94, 0, 0, 11, 68,
- 77, 2, 58, 60, 63, 0, 85, 0, 0, 0,
- 97, 0, 98, 12, 0, 64, 0, 62, 0, 0,
- 54, 56, 75, 0, 0, 38, 44, 0, 0, 95,
- 6, 4, 3, 0, 0, 8, 9, 10, 0, 66,
- 11, 78, 0, 0, 0, 0, 17, 15, 18, 19,
- 20, 47, 47, 0, 16, 49, 0, 61, 11, 0,
- 88, 40, 0, 0, 46, 93, 0, 0, 13, 65,
- 0, 0, 0, 0, 0, 0, 48, 0, 15, 36,
- 0, 0, 0, 59, 0, 0, 57, 0, 55, 80,
- 81, 0, 39, 41, 0, 0, 0, 51, 0, 0,
- 0, 0, 0, 21, 24, 32, 37, 0, 0, 0,
- 25, 50, 45, 52, 86, 82, 43, 0, 5, 7,
- 14, 0, 0, 0, 0, 22, 0, 34, 0, 26,
- 23, 27, 0, 42, 0, 0, 0, 0, 33, 32,
- 0, 28, 29, 30, 31, 35, 0, 53
+#define YYLAST 210
+
+
+static const short yytable[] = { 104,
+ 95, 75, 129, 24, 25, 13, 1, 2, 3, 4,
+ 48, 5, 1, 2, 3, 4, 2, 5, 68, 69,
+ 70, 71, 72, 73, 74, 27, 58, 25, 50, 108,
+ 19, 100, 49, 23, 21, 129, 59, 155, 39, 32,
+ 77, 123, 138, 139, 140, 141, 142, 36, 127, 101,
+ 78, 124, 146, 51, 125, 75, 157, 152, 143, 80,
+ 81, 82, 83, 84, 85, 86, 167, 87, 88, 161,
+ 62, 126, 89, 90, 158, 91, 124, 120, 92, 121,
+ 39, 122, 96, 45, 120, 46, 121, 191, 122, 120,
+ 51, 121, 168, 122, 56, 176, 177, 178, 179, 180,
+ 120, 57, 121, 182, 122, 63, 120, 162, 121, 66,
+ 122, 149, 150, 163, 99, 120, 190, 121, 98, 122,
+ 102, 120, 164, 121, 103, 122, 105, 120, 165, 121,
+ 106, 122, 107, 120, 166, 121, 120, 122, 121, 184,
+ 122, 120, 185, 121, 120, 122, 121, 186, 122, 120,
+ 187, 121, 109, 122,