| OLD | NEW |
| 1 /* A Bison parser, made by GNU Bison 1.875c. */ | 1 /* A Bison parser, made by GNU Bison 1.875c. */ |
| 2 | 2 |
| 3 /* Skeleton parser for Yacc-like parsing with Bison, | 3 /* Skeleton parser for Yacc-like parsing with Bison, |
| 4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundati
on, Inc. | 4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundati
on, Inc. |
| 5 | 5 |
| 6 This program is free software; you can redistribute it and/or modify | 6 This program is free software; you can redistribute it and/or modify |
| 7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
| 8 the Free Software Foundation; either version 2, or (at your option) | 8 the Free Software Foundation; either version 2, or (at your option) |
| 9 any later version. | 9 any later version. |
| 10 | 10 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 | 48 |
| 49 | 49 |
| 50 /* Tokens. */ | 50 /* Tokens. */ |
| 51 #ifndef YYTOKENTYPE | 51 #ifndef YYTOKENTYPE |
| 52 # define YYTOKENTYPE | 52 # define YYTOKENTYPE |
| 53 /* Put the tokens into the symbol table, so that GDB and other debuggers | 53 /* Put the tokens into the symbol table, so that GDB and other debuggers |
| 54 know about them. */ | 54 know about them. */ |
| 55 enum yytokentype { | 55 enum yytokentype { |
| 56 INT = 258, | 56 INT = 258, |
| 57 FLOAT = 259, | 57 FLOAT = 259, |
| 58 STRING = 260, | 58 RAW_STRING = 260, |
| 59 FIELDNAME = 261, | 59 STRING = 261, |
| 60 COMPLETE = 262, | 60 CHAR = 262, |
| 61 NAME = 263, | 61 NAME = 263, |
| 62 TYPENAME = 264, | 62 TYPENAME = 264, |
| 63 NAME_OR_INT = 265, | 63 COMPLETE = 265, |
| 64 STRUCT = 266, | 64 NAME_OR_INT = 266, |
| 65 CLASS = 267, | 65 TRUE_KEYWORD = 267, |
| 66 SIZEOF = 268, | 66 FALSE_KEYWORD = 268, |
| 67 COLONCOLON = 269, | 67 STRUCT_KEYWORD = 269, |
| 68 ERROR = 270, | 68 INTERFACE_KEYWORD = 270, |
| 69 VARIABLE = 271, | 69 TYPE_KEYWORD = 271, |
| 70 THIS = 272, | 70 CHAN_KEYWORD = 272, |
| 71 TRUEKEYWORD = 273, | 71 SIZEOF_KEYWORD = 273, |
| 72 FALSEKEYWORD = 274, | 72 LEN_KEYWORD = 274, |
| 73 ABOVE_COMMA = 275, | 73 CAP_KEYWORD = 275, |
| 74 ASSIGN = 276, | 74 NEW_KEYWORD = 276, |
| 75 NOT = 277, | 75 IOTA_KEYWORD = 277, |
| 76 OR = 278, | 76 NIL_KEYWORD = 278, |
| 77 XOR = 279, | 77 CONST_KEYWORD = 279, |
| 78 ANDAND = 280, | 78 DOTDOTDOT = 280, |
| 79 NOTEQUAL = 281, | 79 ENTRY = 281, |
| 80 GEQ = 282, | 80 ERROR = 282, |
| 81 LEQ = 283, | 81 BYTE_KEYWORD = 283, |
| 82 MOD = 284, | 82 DOLLAR_VARIABLE = 284, |
| 83 DIV = 285, | 83 ASSIGN_MODIFY = 285, |
| 84 RSH = 286, | 84 ABOVE_COMMA = 286, |
| 85 LSH = 287, | 85 OROR = 287, |
| 86 DECREMENT = 288, | 86 ANDAND = 288, |
| 87 INCREMENT = 289, | 87 ANDNOT = 289, |
| 88 UNARY = 290, | 88 NOTEQUAL = 290, |
| 89 ARROW = 291, | 89 EQUAL = 291, |
| 90 BLOCKNAME = 292 | 90 GEQ = 292, |
| 91 LEQ = 293, |
| 92 RSH = 294, |
| 93 LSH = 295, |
| 94 DECREMENT = 296, |
| 95 INCREMENT = 297, |
| 96 UNARY = 298, |
| 97 LEFT_ARROW = 299 |
| 91 }; | 98 }; |
| 92 #endif | 99 #endif |
| 93 #define INT 258 | 100 #define INT 258 |
| 94 #define FLOAT 259 | 101 #define FLOAT 259 |
| 95 #define STRING 260 | 102 #define RAW_STRING 260 |
| 96 #define FIELDNAME 261 | 103 #define STRING 261 |
| 97 #define COMPLETE 262 | 104 #define CHAR 262 |
| 98 #define NAME 263 | 105 #define NAME 263 |
| 99 #define TYPENAME 264 | 106 #define TYPENAME 264 |
| 100 #define NAME_OR_INT 265 | 107 #define COMPLETE 265 |
| 101 #define STRUCT 266 | 108 #define NAME_OR_INT 266 |
| 102 #define CLASS 267 | 109 #define TRUE_KEYWORD 267 |
| 103 #define SIZEOF 268 | 110 #define FALSE_KEYWORD 268 |
| 104 #define COLONCOLON 269 | 111 #define STRUCT_KEYWORD 269 |
| 105 #define ERROR 270 | 112 #define INTERFACE_KEYWORD 270 |
| 106 #define VARIABLE 271 | 113 #define TYPE_KEYWORD 271 |
| 107 #define THIS 272 | 114 #define CHAN_KEYWORD 272 |
| 108 #define TRUEKEYWORD 273 | 115 #define SIZEOF_KEYWORD 273 |
| 109 #define FALSEKEYWORD 274 | 116 #define LEN_KEYWORD 274 |
| 110 #define ABOVE_COMMA 275 | 117 #define CAP_KEYWORD 275 |
| 111 #define ASSIGN 276 | 118 #define NEW_KEYWORD 276 |
| 112 #define NOT 277 | 119 #define IOTA_KEYWORD 277 |
| 113 #define OR 278 | 120 #define NIL_KEYWORD 278 |
| 114 #define XOR 279 | 121 #define CONST_KEYWORD 279 |
| 115 #define ANDAND 280 | 122 #define DOTDOTDOT 280 |
| 116 #define NOTEQUAL 281 | 123 #define ENTRY 281 |
| 117 #define GEQ 282 | 124 #define ERROR 282 |
| 118 #define LEQ 283 | 125 #define BYTE_KEYWORD 283 |
| 119 #define MOD 284 | 126 #define DOLLAR_VARIABLE 284 |
| 120 #define DIV 285 | 127 #define ASSIGN_MODIFY 285 |
| 121 #define RSH 286 | 128 #define ABOVE_COMMA 286 |
| 122 #define LSH 287 | 129 #define OROR 287 |
| 123 #define DECREMENT 288 | 130 #define ANDAND 288 |
| 124 #define INCREMENT 289 | 131 #define ANDNOT 289 |
| 125 #define UNARY 290 | 132 #define NOTEQUAL 290 |
| 126 #define ARROW 291 | 133 #define EQUAL 291 |
| 127 #define BLOCKNAME 292 | 134 #define GEQ 292 |
| 135 #define LEQ 293 |
| 136 #define RSH 294 |
| 137 #define LSH 295 |
| 138 #define DECREMENT 296 |
| 139 #define INCREMENT 297 |
| 140 #define UNARY 298 |
| 141 #define LEFT_ARROW 299 |
| 128 | 142 |
| 129 | 143 |
| 130 | 144 |
| 131 | 145 |
| 132 /* Copy the first part of user declarations. */ | 146 /* Copy the first part of user declarations. */ |
| 133 #line 44 "p-exp.y" | 147 #line 52 "go-exp.y" |
| 134 | 148 |
| 135 | 149 |
| 136 #include "defs.h" | 150 #include "defs.h" |
| 137 #include "gdb_string.h" | 151 #include "gdb_string.h" |
| 138 #include <ctype.h> | 152 #include <ctype.h> |
| 139 #include "expression.h" | 153 #include "expression.h" |
| 140 #include "value.h" | 154 #include "value.h" |
| 141 #include "parser-defs.h" | 155 #include "parser-defs.h" |
| 142 #include "language.h" | 156 #include "language.h" |
| 143 #include "p-lang.h" | 157 #include "c-lang.h" |
| 158 #include "go-lang.h" |
| 144 #include "bfd.h" /* Required by objfiles.h. */ | 159 #include "bfd.h" /* Required by objfiles.h. */ |
| 145 #include "symfile.h" /* Required by objfiles.h. */ | 160 #include "symfile.h" /* Required by objfiles.h. */ |
| 146 #include "objfiles.h" /* For have_full_symbols and have_partial_symbols. */ | 161 #include "objfiles.h" /* For have_full_symbols and have_partial_symbols */ |
| 162 #include "charset.h" |
| 147 #include "block.h" | 163 #include "block.h" |
| 148 | 164 |
| 149 #define parse_type builtin_type (parse_gdbarch) | 165 #define parse_type builtin_type (parse_gdbarch) |
| 150 | 166 |
| 151 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), | 167 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), |
| 152 as well as gratuitiously global symbol names, so we can have multiple | 168 as well as gratuitiously global symbol names, so we can have multiple |
| 153 yacc generated parsers in gdb. Note that these are only the variables | 169 yacc generated parsers in gdb. Note that these are only the variables |
| 154 produced by yacc. If other parser generators (bison, byacc, etc) produce | 170 produced by yacc. If other parser generators (bison, byacc, etc) produce |
| 155 additional global names that conflict at link time, then those parser | 171 additional global names that conflict at link time, then those parser |
| 156 generators need to be fixed instead of adding those names to this list. */ | 172 generators need to be fixed instead of adding those names to this list. */ |
| 157 | 173 |
| 158 #define»yymaxdepth pascal_maxdepth | 174 #define»yymaxdepth go_maxdepth |
| 159 #define»yyparse»pascal_parse | 175 #define»yyparse»go_parse_internal |
| 160 #define»yylex» pascal_lex | 176 #define»yylex» go_lex |
| 161 #define»yyerror»pascal_error | 177 #define»yyerror»go_error |
| 162 #define»yylval» pascal_lval | 178 #define»yylval» go_lval |
| 163 #define»yychar» pascal_char | 179 #define»yychar» go_char |
| 164 #define»yydebug»pascal_debug | 180 #define»yydebug»go_debug |
| 165 #define»yypact» pascal_pact | 181 #define»yypact» go_pact |
| 166 #define»yyr1» pascal_r1 | 182 #define»yyr1» go_r1 |
| 167 #define»yyr2» pascal_r2 | 183 #define»yyr2» go_r2 |
| 168 #define»yydef» pascal_def | 184 #define»yydef» go_def |
| 169 #define»yychk» pascal_chk | 185 #define»yychk» go_chk |
| 170 #define»yypgo» pascal_pgo | 186 #define»yypgo» go_pgo |
| 171 #define»yyact» pascal_act | 187 #define»yyact» go_act |
| 172 #define»yyexca» pascal_exca | 188 #define»yyexca» go_exca |
| 173 #define yyerrflag pascal_errflag | 189 #define yyerrflag go_errflag |
| 174 #define yynerrs»pascal_nerrs | 190 #define yynerrs»go_nerrs |
| 175 #define»yyps» pascal_ps | 191 #define»yyps» go_ps |
| 176 #define»yypv» pascal_pv | 192 #define»yypv» go_pv |
| 177 #define»yys» pascal_s | 193 #define»yys» go_s |
| 178 #define»yy_yys» pascal_yys | 194 #define»yy_yys» go_yys |
| 179 #define»yystate»pascal_state | 195 #define»yystate»go_state |
| 180 #define»yytmp» pascal_tmp | 196 #define»yytmp» go_tmp |
| 181 #define»yyv» pascal_v | 197 #define»yyv» go_v |
| 182 #define»yy_yyv» pascal_yyv | 198 #define»yy_yyv» go_yyv |
| 183 #define»yyval» pascal_val | 199 #define»yyval» go_val |
| 184 #define»yylloc» pascal_lloc | 200 #define»yylloc» go_lloc |
| 185 #define yyreds» pascal_reds» » /* With YYDEBUG defined */ | 201 #define yyreds» go_reds»» /* With YYDEBUG defined */ |
| 186 #define yytoks» pascal_toks» » /* With YYDEBUG defined */ | 202 #define yytoks» go_toks»» /* With YYDEBUG defined */ |
| 187 #define yyname» pascal_name» » /* With YYDEBUG defined */ | 203 #define yyname» go_name»» /* With YYDEBUG defined */ |
| 188 #define yyrule» pascal_rule» » /* With YYDEBUG defined */ | 204 #define yyrule» go_rule»» /* With YYDEBUG defined */ |
| 189 #define yylhs» pascal_yylhs | 205 #define yylhs» go_yylhs |
| 190 #define yylen» pascal_yylen | 206 #define yylen» go_yylen |
| 191 #define yydefred pascal_yydefred | 207 #define yydefred go_yydefred |
| 192 #define yydgoto»pascal_yydgoto | 208 #define yydgoto»go_yydgoto |
| 193 #define yysindex pascal_yysindex | 209 #define yysindex go_yysindex |
| 194 #define yyrindex pascal_yyrindex | 210 #define yyrindex go_yyrindex |
| 195 #define yygindex pascal_yygindex | 211 #define yygindex go_yygindex |
| 196 #define yytable» pascal_yytable | 212 #define yytable» go_yytable |
| 197 #define yycheck» pascal_yycheck | 213 #define yycheck» go_yycheck |
| 198 | 214 |
| 199 #ifndef YYDEBUG | 215 #ifndef YYDEBUG |
| 200 #define YYDEBUG 1 /* Default to yydebug support */ | 216 #define YYDEBUG 1 /* Default to yydebug support */ |
| 201 #endif | 217 #endif |
| 202 | 218 |
| 203 #define YYFPRINTF parser_fprintf | 219 #define YYFPRINTF parser_fprintf |
| 204 | 220 |
| 205 int yyparse (void); | 221 int yyparse (void); |
| 206 | 222 |
| 207 static int yylex (void); | 223 static int yylex (void); |
| 208 | 224 |
| 209 void yyerror (char *); | 225 void yyerror (char *); |
| 210 | 226 |
| 211 static char * uptok (char *, int); | |
| 212 | 227 |
| 213 | 228 |
| 214 /* Enabling traces. */ | 229 /* Enabling traces. */ |
| 215 #ifndef YYDEBUG | 230 #ifndef YYDEBUG |
| 216 # define YYDEBUG 0 | 231 # define YYDEBUG 0 |
| 217 #endif | 232 #endif |
| 218 | 233 |
| 219 /* Enabling verbose error messages. */ | 234 /* Enabling verbose error messages. */ |
| 220 #ifdef YYERROR_VERBOSE | 235 #ifdef YYERROR_VERBOSE |
| 221 # undef YYERROR_VERBOSE | 236 # undef YYERROR_VERBOSE |
| 222 # define YYERROR_VERBOSE 1 | 237 # define YYERROR_VERBOSE 1 |
| 223 #else | 238 #else |
| 224 # define YYERROR_VERBOSE 0 | 239 # define YYERROR_VERBOSE 0 |
| 225 #endif | 240 #endif |
| 226 | 241 |
| 227 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) | 242 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
| 228 #line 129 "p-exp.y" | 243 #line 138 "go-exp.y" |
| 229 typedef union YYSTYPE { | 244 typedef union YYSTYPE { |
| 230 LONGEST lval; | 245 LONGEST lval; |
| 231 struct { | 246 struct { |
| 232 LONGEST val; | 247 LONGEST val; |
| 233 struct type *type; | 248 struct type *type; |
| 234 } typed_val_int; | 249 } typed_val_int; |
| 235 struct { | 250 struct { |
| 236 DOUBLEST dval; | 251 DOUBLEST dval; |
| 237 struct type *type; | 252 struct type *type; |
| 238 } typed_val_float; | 253 } typed_val_float; |
| 239 struct symbol *sym; | 254 struct stoken sval; |
| 255 struct symtoken ssym; |
| 240 struct type *tval; | 256 struct type *tval; |
| 241 struct stoken sval; | 257 struct typed_stoken tsval; |
| 242 struct ttype tsym; | 258 struct ttype tsym; |
| 243 struct symtoken ssym; | |
| 244 int voidval; | 259 int voidval; |
| 245 struct block *bval; | |
| 246 enum exp_opcode opcode; | 260 enum exp_opcode opcode; |
| 247 struct internalvar *ivar; | 261 struct internalvar *ivar; |
| 248 | 262 struct stoken_vector svec; |
| 249 struct type **tvec; | |
| 250 int *ivec; | |
| 251 } YYSTYPE; | 263 } YYSTYPE; |
| 252 /* Line 191 of yacc.c. */ | 264 /* Line 191 of yacc.c. */ |
| 253 #line 254 "p-exp.c" | 265 #line 266 "go-exp.c" |
| 254 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ | 266 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
| 255 # define YYSTYPE_IS_DECLARED 1 | 267 # define YYSTYPE_IS_DECLARED 1 |
| 256 # define YYSTYPE_IS_TRIVIAL 1 | 268 # define YYSTYPE_IS_TRIVIAL 1 |
| 257 #endif | 269 #endif |
| 258 | 270 |
| 259 | 271 |
| 260 | 272 |
| 261 /* Copy the second part of user declarations. */ | 273 /* Copy the second part of user declarations. */ |
| 262 #line 153 "p-exp.y" | 274 #line 159 "go-exp.y" |
| 263 | 275 |
| 264 /* YYSTYPE gets defined by %union */ | 276 /* YYSTYPE gets defined by %union. */ |
| 265 static int parse_number (char *, int, int, YYSTYPE *); | 277 static int parse_number (char *, int, int, YYSTYPE *); |
| 266 | 278 static int parse_go_float (struct gdbarch *gdbarch, const char *p, int len, |
| 267 static struct type *current_type; | 279 » » » DOUBLEST *d, struct type **t); |
| 268 static struct internalvar *intvar; | |
| 269 static int leftdiv_is_integer; | |
| 270 static void push_current_type (void); | |
| 271 static void pop_current_type (void); | |
| 272 static int search_field; | |
| 273 | 280 |
| 274 | 281 |
| 275 /* Line 214 of yacc.c. */ | 282 /* Line 214 of yacc.c. */ |
| 276 #line 277 "p-exp.c" | 283 #line 284 "go-exp.c" |
| 277 | 284 |
| 278 #if ! defined (yyoverflow) || YYERROR_VERBOSE | 285 #if ! defined (yyoverflow) || YYERROR_VERBOSE |
| 279 | 286 |
| 280 # ifndef YYFREE | 287 # ifndef YYFREE |
| 281 # define YYFREE xfree | 288 # define YYFREE xfree |
| 282 # endif | 289 # endif |
| 283 # ifndef YYMALLOC | 290 # ifndef YYMALLOC |
| 284 # define YYMALLOC xmalloc | 291 # define YYMALLOC xmalloc |
| 285 # endif | 292 # endif |
| 286 | 293 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 | 377 |
| 371 #endif | 378 #endif |
| 372 | 379 |
| 373 #if defined (__STDC__) || defined (__cplusplus) | 380 #if defined (__STDC__) || defined (__cplusplus) |
| 374 typedef signed char yysigned_char; | 381 typedef signed char yysigned_char; |
| 375 #else | 382 #else |
| 376 typedef short yysigned_char; | 383 typedef short yysigned_char; |
| 377 #endif | 384 #endif |
| 378 | 385 |
| 379 /* YYFINAL -- State number of the termination state. */ | 386 /* YYFINAL -- State number of the termination state. */ |
| 380 #define YYFINAL 3 | 387 #define YYFINAL 40 |
| 381 /* YYLAST -- Last index in YYTABLE. */ | 388 /* YYLAST -- Last index in YYTABLE. */ |
| 382 #define YYLAST 382 | 389 #define YYLAST 443 |
| 383 | 390 |
| 384 /* YYNTOKENS -- Number of terminals. */ | 391 /* YYNTOKENS -- Number of terminals. */ |
| 385 #define YYNTOKENS 53 | 392 #define YYNTOKENS 68 |
| 386 /* YYNNTS -- Number of nonterminals. */ | 393 /* YYNNTS -- Number of nonterminals. */ |
| 387 #define YYNNTS 20 | 394 #define YYNNTS 13 |
| 388 /* YYNRULES -- Number of rules. */ | 395 /* YYNRULES -- Number of rules. */ |
| 389 #define YYNRULES 76 | 396 #define YYNRULES 69 |
| 390 /* YYNRULES -- Number of states. */ | 397 /* YYNRULES -- Number of states. */ |
| 391 #define YYNSTATES 125 | 398 #define YYNSTATES 122 |
| 392 | 399 |
| 393 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ | 400 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
| 394 #define YYUNDEFTOK 2 | 401 #define YYUNDEFTOK 2 |
| 395 #define YYMAXUTOK 292 | 402 #define YYMAXUTOK 299 |
| 396 | 403 |
| 397 #define YYTRANSLATE(YYX) \ | 404 #define YYTRANSLATE(YYX) \ |
| 398 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | 405 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| 399 | 406 |
| 400 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ | 407 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ |
| 401 static const unsigned char yytranslate[] = | 408 static const unsigned char yytranslate[] = |
| 402 { | 409 { |
| 403 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 410 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 404 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 411 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 405 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 412 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 406 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 413 2, 2, 2, 62, 2, 2, 2, 54, 39, 2, |
| 407 47, 51, 40, 38, 20, 39, 45, 41, 2, 2, | 414 60, 64, 52, 50, 31, 51, 58, 53, 2, 2, |
| 408 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 415 2, 2, 2, 2, 2, 2, 2, 2, 67, 2, |
| 409 29, 27, 30, 2, 37, 2, 2, 2, 2, 2, | 416 43, 33, 44, 34, 49, 2, 2, 2, 2, 2, |
| 410 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 411 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 412 2, 46, 2, 52, 49, 2, 2, 2, 2, 2, | 419 2, 59, 2, 63, 38, 2, 2, 2, 2, 2, |
| 420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 422 2, 2, 2, 65, 37, 66, 2, 2, 2, 2, |
| 413 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 414 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 415 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 416 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
| 417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
| 418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
| 419 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 428 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 422 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 429 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 430 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 433 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 428 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, | 435 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
| 429 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | 436 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
| 430 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, | 437 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
| 431 26, 28, 31, 32, 33, 34, 35, 36, 42, 43, | 438 25, 26, 27, 28, 29, 30, 32, 35, 36, 40, |
| 432 44, 48, 50 | 439 41, 42, 45, 46, 47, 48, 55, 56, 57, 61 |
| 433 }; | 440 }; |
| 434 | 441 |
| 435 #if YYDEBUG | 442 #if YYDEBUG |
| 436 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in | 443 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
| 437 YYRHS. */ | 444 YYRHS. */ |
| 438 static const unsigned char yyprhs[] = | 445 static const unsigned char yyprhs[] = |
| 439 { | 446 { |
| 440 0, 0, 3, 4, 7, 9, 11, 13, 15, 19, | 447 0, 0, 3, 5, 7, 9, 11, 15, 18, 21, |
| 441 22, 25, 28, 31, 36, 41, 44, 47, 50, 53, | 448 24, 27, 30, 33, 36, 39, 43, 48, 52, 57, |
| 442 54, 60, 61, 67, 68, 70, 74, 79, 83, 87, | 449 58, 64, 66, 67, 69, 73, 75, 80, 85, 89, |
| 443 88, 93, 97, 101, 105, 109, 113, 117, 121, 125, | 450 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, |
| 444 129, 133, 137, 141, 145, 149, 153, 157, 159, 161, | 451 133, 137, 141, 145, 149, 153, 157, 161, 165, 171, |
| 445 163, 165, 167, 169, 171, 176, 181, 183, 185, 187, | 452 175, 179, 181, 183, 185, 187, 189, 191, 196, 201, |
| 446 191, 195, 199, 201, 204, 206, 208, 210, 213, 215, | 453 203, 207, 209, 211, 213, 216, 218, 221, 223, 225 |
| 447 218, 221, 223, 225, 227, 229, 231 | |
| 448 }; | 454 }; |
| 449 | 455 |
| 450 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ | 456 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
| 451 static const yysigned_char yyrhs[] = | 457 static const yysigned_char yyrhs[] = |
| 452 { | 458 { |
| 453 54, 0, -1, -1, 55, 56, -1, 58, -1, 57, | 459 69, 0, -1, 71, -1, 70, -1, 79, -1, 72, |
| 454 -1, 69, -1, 59, -1, 58, 20, 59, -1, 59, | 460 -1, 71, 31, 72, -1, 52, 72, -1, 39, 72, |
| 455 49, -1, 37, 59, -1, 39, 59, -1, 23, 59, | 461 -1, 51, 72, -1, 50, 72, -1, 62, 72, -1, |
| 456 -1, 43, 47, 59, 51, -1, 42, 47, 59, 51, | 462 38, 72, -1, 72, 56, -1, 72, 55, -1, 72, |
| 457 -1, 59, 45, -1, 60, 6, -1, 60, 71, -1, | 463 58, 80, -1, 72, 58, 80, 10, -1, 72, 58, |
| 458 60, 7, -1, -1, 59, 46, 61, 58, 52, -1, | 464 10, -1, 72, 59, 71, 63, -1, -1, 72, 60, |
| 459 -1, 59, 47, 62, 63, 51, -1, -1, 59, -1, | 465 73, 75, 64, -1, 65, -1, -1, 72, -1, 75, |
| 460 63, 20, 59, -1, 69, 47, 59, 51, -1, 47, | 466 31, 72, -1, 66, -1, 74, 79, 76, 72, -1, |
| 461 58, 51, -1, 59, 40, 59, -1, -1, 59, 41, | 467 79, 60, 72, 64, -1, 60, 71, 64, -1, 72, |
| 462 64, 59, -1, 59, 34, 59, -1, 59, 33, 59, | 468 49, 72, -1, 72, 52, 72, -1, 72, 53, 72, |
| 463 -1, 59, 38, 59, -1, 59, 39, 59, -1, 59, | 469 -1, 72, 54, 72, -1, 72, 50, 72, -1, 72, |
| 464 36, 59, -1, 59, 35, 59, -1, 59, 27, 59, | 470 51, 72, -1, 72, 48, 72, -1, 72, 47, 72, |
| 465 -1, 59, 28, 59, -1, 59, 32, 59, -1, 59, | 471 -1, 72, 42, 72, -1, 72, 41, 72, -1, 72, |
| 466 31, 59, -1, 59, 29, 59, -1, 59, 30, 59, | 472 46, 72, -1, 72, 45, 72, -1, 72, 43, 72, |
| 467 -1, 59, 26, 59, -1, 59, 25, 59, -1, 59, | 473 -1, 72, 44, 72, -1, 72, 39, 72, -1, 72, |
| 468 24, 59, -1, 59, 22, 59, -1, 18, -1, 19, | 474 38, 72, -1, 72, 37, 72, -1, 72, 36, 72, |
| 469 -1, 3, -1, 10, -1, 4, -1, 66, -1, 16, | 475 -1, 72, 35, 72, -1, 72, 34, 72, 67, 72, |
| 470 -1, 13, 47, 69, 51, -1, 13, 47, 59, 51, | 476 -1, 72, 33, 72, -1, 72, 30, 72, -1, 3, |
| 471 -1, 5, -1, 17, -1, 50, -1, 65, 14, 71, | 477 -1, 7, -1, 11, -1, 4, -1, 78, -1, 29, |
| 472 -1, 65, 14, 71, -1, 70, 14, 71, -1, 67, | 478 -1, 18, 60, 79, 64, -1, 18, 60, 72, 64, |
| 473 -1, 14, 71, -1, 72, -1, 70, -1, 68, -1, | 479 -1, 6, -1, 77, 50, 6, -1, 77, -1, 12, |
| 474 49, 70, -1, 9, -1, 11, 71, -1, 12, 71, | 480 -1, 13, -1, 80, 26, -1, 80, -1, 52, 79, |
| 475 -1, 8, -1, 50, -1, 9, -1, 10, -1, 8, | 481 -1, 9, -1, 28, -1, 8, -1 |
| 476 -1, 50, -1 | |
| 477 }; | 482 }; |
| 478 | 483 |
| 479 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ | 484 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
| 480 static const unsigned short yyrline[] = | 485 static const unsigned short yyrline[] = |
| 481 { | 486 { |
| 482 0, 234, 234, 234, 243, 244, 247, 254, 255, 260, | 487 0, 237, 237, 238, 241, 248, 249, 254, 258, 262, |
| 483 266, 272, 276, 280, 284, 289, 293, 311, 329, 341, | 488 266, 270, 274, 278, 282, 288, 294, 301, 311, 318, |
| 484 339, 369, 366, 381, 382, 384, 388, 403, 409, 413, | 489 315, 325, 329, 332, 336, 340, 344, 350, 356, 362, |
| 485 413, 433, 437, 441, 445, 449, 453, 457, 463, 469, | 490 366, 370, 374, 378, 382, 386, 390, 394, 398, 402, |
| 486 475, 481, 487, 493, 497, 501, 505, 509, 516, 523, | 491 406, 410, 414, 418, 422, 426, 430, 434, 438, 442, |
| 487 531, 545, 553, 556, 571, 579, 582, 607, 634, 652, | 492 446, 452, 459, 468, 481, 488, 491, 497, 509, 516, |
| 488 662, 677, 692, 693, 724, 795, 806, 810, 812, 814, | 493 533, 551, 562, 568, 574, 590, 645, 647, 654, 667 |
| 489 817, 825, 826, 827, 828, 831, 832 | |
| 490 }; | 494 }; |
| 491 #endif | 495 #endif |
| 492 | 496 |
| 493 #if YYDEBUG || YYERROR_VERBOSE | 497 #if YYDEBUG || YYERROR_VERBOSE |
| 494 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | 498 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
| 495 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ | 499 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
| 496 static const char *const yytname[] = | 500 static const char *const yytname[] = |
| 497 { | 501 { |
| 498 "$end", "error", "$undefined", "INT", "FLOAT", "STRING", "FIELDNAME", | 502 "$end", "error", "$undefined", "INT", "FLOAT", "RAW_STRING", "STRING", |
| 499 "COMPLETE", "NAME", "TYPENAME", "NAME_OR_INT", "STRUCT", "CLASS", | 503 "CHAR", "NAME", "TYPENAME", "COMPLETE", "NAME_OR_INT", "TRUE_KEYWORD", |
| 500 "SIZEOF", "COLONCOLON", "ERROR", "VARIABLE", "THIS", "TRUEKEYWORD", | 504 "FALSE_KEYWORD", "STRUCT_KEYWORD", "INTERFACE_KEYWORD", "TYPE_KEYWORD", |
| 501 "FALSEKEYWORD", "','", "ABOVE_COMMA", "ASSIGN", "NOT", "OR", "XOR", | 505 "CHAN_KEYWORD", "SIZEOF_KEYWORD", "LEN_KEYWORD", "CAP_KEYWORD", |
| 502 "ANDAND", "'='", "NOTEQUAL", "'<'", "'>'", "GEQ", "LEQ", "MOD", "DIV", | 506 "NEW_KEYWORD", "IOTA_KEYWORD", "NIL_KEYWORD", "CONST_KEYWORD", |
| 503 "RSH", "LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "DECREMENT", | 507 "DOTDOTDOT", "ENTRY", "ERROR", "BYTE_KEYWORD", "DOLLAR_VARIABLE", |
| 504 "INCREMENT", "UNARY", "'.'", "'['", "'('", "ARROW", "'^'", "BLOCKNAME", | 508 "ASSIGN_MODIFY", "','", "ABOVE_COMMA", "'='", "'?'", "OROR", "ANDAND", |
| 505 "')'", "']'", "$accept", "start", "@1", "normal_start", "type_exp", | 509 "'|'", "'^'", "'&'", "ANDNOT", "NOTEQUAL", "EQUAL", "'<'", "'>'", "GEQ", |
| 506 "exp1", "exp", "field_exp", "@2", "@3", "arglist", "@4", "block", | 510 "LEQ", "RSH", "LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "'%'", |
| 507 "variable", "qualified_name", "ptype", "type", "typebase", "name", | 511 "DECREMENT", "INCREMENT", "UNARY", "'.'", "'['", "'('", "LEFT_ARROW", |
| 508 "name_not_typename", 0 | 512 "'!'", "']'", "')'", "'{'", "'}'", "':'", "$accept", "start", "type_exp", |
| 513 "exp1", "exp", "@1", "lcurly", "arglist", "rcurly", "string_exp", |
| 514 "variable", "type", "name_not_typename", 0 |
| 509 }; | 515 }; |
| 510 #endif | 516 #endif |
| 511 | 517 |
| 512 # ifdef YYPRINT | 518 # ifdef YYPRINT |
| 513 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to | 519 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to |
| 514 token YYLEX-NUM. */ | 520 token YYLEX-NUM. */ |
| 515 static const unsigned short yytoknum[] = | 521 static const unsigned short yytoknum[] = |
| 516 { | 522 { |
| 517 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, | 523 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
| 518 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | 524 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
| 519 44, 275, 276, 277, 278, 279, 280, 61, 281, 60, | 525 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
| 520 62, 282, 283, 284, 285, 286, 287, 64, 43, 45, | 526 285, 44, 286, 61, 63, 287, 288, 124, 94, 38, |
| 521 42, 47, 288, 289, 290, 46, 91, 40, 291, 94, | 527 289, 290, 291, 60, 62, 292, 293, 294, 295, 64, |
| 522 292, 41, 93 | 528 43, 45, 42, 47, 37, 296, 297, 298, 46, 91, |
| 529 40, 299, 33, 93, 41, 123, 125, 58 |
| 523 }; | 530 }; |
| 524 # endif | 531 # endif |
| 525 | 532 |
| 526 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | 533 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
| 527 static const unsigned char yyr1[] = | 534 static const unsigned char yyr1[] = |
| 528 { | 535 { |
| 529 0, 53, 55, 54, 56, 56, 57, 58, 58, 59, | 536 0, 68, 69, 69, 70, 71, 71, 72, 72, 72, |
| 530 59, 59, 59, 59, 59, 60, 59, 59, 59, 61, | 537 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, |
| 531 59, 62, 59, 63, 63, 63, 59, 59, 59, 64, | 538 72, 74, 75, 75, 75, 76, 72, 72, 72, 72, |
| 532 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, | 539 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
| 533 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, | 540 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
| 534 59, 59, 59, 59, 59, 59, 59, 59, 65, 65, | 541 72, 72, 72, 72, 72, 72, 72, 72, 72, 77, |
| 535 66, 67, 66, 66, 66, 68, 69, 70, 70, 70, | 542 77, 72, 72, 72, 78, 78, 79, 79, 79, 80 |
| 536 70, 71, 71, 71, 71, 72, 72 | |
| 537 }; | 543 }; |
| 538 | 544 |
| 539 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ | 545 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
| 540 static const unsigned char yyr2[] = | 546 static const unsigned char yyr2[] = |
| 541 { | 547 { |
| 542 0, 2, 0, 2, 1, 1, 1, 1, 3, 2, | 548 0, 2, 1, 1, 1, 1, 3, 2, 2, 2, |
| 543 2, 2, 2, 4, 4, 2, 2, 2, 2, 0, | 549 2, 2, 2, 2, 2, 3, 4, 3, 4, 0, |
| 544 5, 0, 5, 0, 1, 3, 4, 3, 3, 0, | 550 5, 1, 0, 1, 3, 1, 4, 4, 3, 3, |
| 545 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, | 551 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 546 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, | 552 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, |
| 547 1, 1, 1, 1, 4, 4, 1, 1, 1, 3, | 553 3, 1, 1, 1, 1, 1, 1, 4, 4, 1, |
| 548 3, 3, 1, 2, 1, 1, 1, 2, 1, 2, | 554 3, 1, 1, 1, 2, 1, 2, 1, 1, 1 |
| 549 2, 1, 1, 1, 1, 1, 1 | |
| 550 }; | 555 }; |
| 551 | 556 |
| 552 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state | 557 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
| 553 STATE-NUM when YYTABLE doesn't specify something else to do. Zero | 558 STATE-NUM when YYTABLE doesn't specify something else to do. Zero |
| 554 means the default is an error. */ | 559 means the default is an error. */ |
| 555 static const unsigned char yydefact[] = | 560 static const unsigned char yydefact[] = |
| 556 { | 561 { |
| 557 2, 0, 0, 1, 49, 51, 56, 75, 68, 50, | 562 0, 51, 54, 59, 52, 69, 67, 53, 62, 63, |
| 558 0, 0, 0, 0, 53, 57, 47, 48, 0, 0, | 563 0, 68, 56, 0, 0, 0, 0, 0, 0, 0, |
| 559 0, 0, 0, 0, 0, 76, 3, 5, 4, 7, | 564 21, 0, 3, 2, 5, 0, 61, 55, 4, 65, |
| 560 0, 0, 52, 62, 66, 6, 65, 64, 71, 73, | 565 0, 12, 0, 8, 10, 9, 7, 66, 0, 11, |
| 561 74, 72, 69, 70, 0, 63, 12, 0, 10, 11, | 566 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 562 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, | |
| 563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 564 0, 0, 29, 15, 19, 21, 9, 16, 18, 17, | 568 0, 0, 0, 0, 14, 13, 0, 0, 19, 0, |
| 565 0, 0, 0, 0, 0, 0, 0, 27, 8, 46, | 569 0, 0, 0, 64, 0, 0, 28, 6, 50, 49, |
| 566 45, 44, 43, 37, 38, 41, 42, 40, 39, 32, | 570 0, 47, 46, 45, 44, 43, 38, 37, 41, 42, |
| 567 31, 36, 35, 33, 34, 28, 0, 0, 23, 60, | 571 40, 39, 36, 35, 29, 33, 34, 30, 31, 32, |
| 568 0, 61, 55, 54, 14, 13, 30, 0, 24, 0, | 572 17, 15, 0, 22, 66, 25, 0, 60, 0, 58, |
| 569 26, 20, 0, 22, 25 | 573 57, 0, 16, 18, 23, 0, 26, 27, 48, 0, |
| 574 20, 24 |
| 570 }; | 575 }; |
| 571 | 576 |
| 572 /* YYDEFGOTO[NTERM-NUM]. */ | 577 /* YYDEFGOTO[NTERM-NUM]. */ |
| 573 static const yysigned_char yydefgoto[] = | 578 static const yysigned_char yydefgoto[] = |
| 574 { | 579 { |
| 575 -1, 1, 2, 26, 27, 28, 29, 30, 107, 108, | 580 -1, 21, 22, 23, 24, 103, 25, 115, 106, 26, |
| 576 119, 106, 31, 32, 33, 34, 47, 36, 42, 37 | 581 27, 32, 29 |
| 577 }; | 582 }; |
| 578 | 583 |
| 579 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | 584 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
| 580 STATE-NUM. */ | 585 STATE-NUM. */ |
| 581 #define YYPACT_NINF -43 | 586 #define YYPACT_NINF -56 |
| 582 static const short yypact[] = | 587 static const short yypact[] = |
| 583 { | 588 { |
| 584 -43, 8, 89, -43, -43, -43, -43, -43, -43, -43, | 589 49, -56, -56, -56, -56, -56, -56, -56, -56, -56, |
| 585 7, 7, -40, 7, -43, -43, -43, -43, 89, 89, | 590 -44, -56, -56, 49, 49, 49, 49, 49, 49, 49, |
| 586 89, -27, -23, 89, 10, 13, -43, -43, 14, 230, | 591 -56, 23, -56, 34, 187, 45, -23, -56, 6, 46, |
| 587 4, 21, -43, -43, -43, -19, 41, -43, -43, -43, | 592 49, -48, 6, -48, -48, -48, -48, 6, 38, -48, |
| 588 -43, -43, -43, -43, 89, -43, 36, -19, 36, 36, | 593 -56, 49, 49, 49, 49, 49, 49, 49, 49, 49, |
| 589 89, 89, 5, -43, 89, 89, 89, 89, 89, 89, | 594 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, |
| 590 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, | 595 49, 49, 49, 49, -56, -56, 5, 49, -56, 45, |
| 591 89, 89, -43, -43, -43, -43, -43, -43, -43, -43, | 596 8, 65, 49, -56, 123, -55, -56, 187, 187, 187, |
| 592 7, 89, 7, 118, -42, 146, 174, -43, 230, 230, | 597 88, 239, 263, 286, 308, 328, 346, 346, 360, 360, |
| 593 255, 279, 302, 323, 323, 31, 31, 31, 31, 75, | 598 360, 360, 372, 372, 383, -34, -34, -48, -48, -48, |
| 594 75, 75, 75, 333, 333, 36, 89, 89, 89, 44, | 599 -56, 69, 33, 49, -56, -56, 49, -56, 155, -56, |
| 595 202, -43, -43, -43, -43, -43, 36, 9, 230, 11, | 600 -56, 49, -56, -56, 187, 39, -48, -56, 214, 49, |
| 596 -43, -43, 89, -43, 230 | 601 -56, 187 |
| 597 }; | 602 }; |
| 598 | 603 |
| 599 /* YYPGOTO[NTERM-NUM]. */ | 604 /* YYPGOTO[NTERM-NUM]. */ |
| 600 static const yysigned_char yypgoto[] = | 605 static const yysigned_char yypgoto[] = |
| 601 { | 606 { |
| 602 -43, -43, -43, -43, -43, -20, -18, -43, -43, -43, | 607 -56, -56, -56, -4, -13, -56, -56, -56, -56, -56, |
| 603 -43, -43, -43, -43, -43, -43, 16, 6, -7, -43 | 608 -56, 51, 9 |
| 604 }; | 609 }; |
| 605 | 610 |
| 606 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If | 611 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
| 607 positive, shift that token. If negative, reduce the rule which | 612 positive, shift that token. If negative, reduce the rule which |
| 608 number is the opposite. If zero, do what YYDEFACT says. | 613 number is the opposite. If zero, do what YYDEFACT says. |
| 609 If YYTABLE_NINF, syntax error. */ | 614 If YYTABLE_NINF, syntax error. */ |
| 610 #define YYTABLE_NINF -60 | 615 #define YYTABLE_NINF -1 |
| 611 static const yysigned_char yytable[] = | 616 static const unsigned char yytable[] = |
| 612 { | 617 { |
| 613 46, 48, 49, 52, 43, 81, 45, 44, 3, 113, | 618 31, 33, 34, 35, 36, 72, 39, 64, 65, 110, |
| 614 77, 78, 38, 39, 40, 38, 39, 40, 35, 8, | 619 66, 67, 68, 5, 38, 100, 30, 74, 61, 62, |
| 615 50, 10, 11, 79, 51, 54, 83, -58, 81, 54, | 620 63, 64, 65, 40, 66, 67, 68, 71, 77, 78, |
| 616 53, 122, 85, 86, 54, 80, 88, 89, 90, 91, | 621 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 617 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, | 622 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, |
| 618 102, 103, 104, 105, 41, 82, 87, 41, -59, 24, | 623 99, 28, 1, 2, 6, 3, 4, 5, 6, 108, |
| 619 84, 121, 123, 110, 65, 66, 67, 68, 0, 69, | 624 7, 8, 9, 102, 41, 41, 72, 10, 37, 41, |
| 620 70, 71, 72, 109, 0, 111, 73, 74, 75, 0, | 625 119, 107, 73, 11, 105, 101, 70, 11, 12, 112, |
| 621 76, 73, 74, 75, 0, 76, 0, 117, 116, 0, | 626 0, 75, 0, 0, 0, 0, 0, 13, 14, 0, |
| 622 118, 0, 4, 5, 6, 0, 0, 7, 8, 9, | 627 114, 0, 0, 116, 0, 0, 113, 69, 118, 15, |
| 623 10, 11, 12, 13, 124, 14, 15, 16, 17, 0, | 628 16, 17, 76, 120, 0, 0, 121, 0, 0, 18, |
| 624 0, 0, 18, 69, 70, 71, 72, 0, 0, 0, | 629 0, 19, 0, 0, 20, 0, 0, 0, 42, 0, |
| 625 73, 74, 75, 0, 76, 0, 19, 0, 20, 0, | 630 104, 43, 44, 45, 46, 47, 48, 49, 0, 50, |
| 626 0, 21, 22, 0, 0, 0, 23, 0, 24, 25, | 631 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, |
| 627 55, 0, 56, 57, 58, 59, 60, 61, 62, 63, | 632 61, 62, 63, 64, 65, 0, 66, 67, 68, 0, |
| 628 64, 65, 66, 67, 68, 0, 69, 70, 71, 72, | 633 0, 0, 0, 42, 0, 111, 43, 44, 45, 46, |
| 629 0, 0, 0, 73, 74, 75, 0, 76, 55, 112, | 634 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, |
| 630 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, | 635 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, |
| 631 66, 67, 68, 0, 69, 70, 71, 72, 0, 0, | 636 0, 66, 67, 68, 0, 42, 0, 109, 43, 44, |
| 632 0, 73, 74, 75, 0, 76, 55, 114, 56, 57, | 637 45, 46, 47, 48, 49, 0, 50, 51, 52, 53, |
| 633 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, | 638 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, |
| 634 68, 0, 69, 70, 71, 72, 0, 0, 0, 73, | 639 64, 65, 0, 66, 67, 68, 0, 42, 0, 117, |
| 635 74, 75, 0, 76, 55, 115, 56, 57, 58, 59, | 640 43, 44, 45, 46, 47, 48, 49, 0, 50, 51, |
| 636 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, | 641 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, |
| 637 69, 70, 71, 72, 0, 0, 0, 73, 74, 75, | 642 62, 63, 64, 65, 0, 66, 67, 68, 44, 45, |
| 638 0, 76, 55, 120, 56, 57, 58, 59, 60, 61, | 643 46, 47, 48, 49, 0, 50, 51, 52, 53, 54, |
| 639 62, 63, 64, 65, 66, 67, 68, 0, 69, 70, | 644 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, |
| 640 71, 72, 0, 0, 0, 73, 74, 75, 0, 76, | 645 65, 0, 66, 67, 68, 46, 47, 48, 49, 0, |
| 641 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, | 646 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, |
| 642 67, 68, 0, 69, 70, 71, 72, 0, 0, 0, | 647 60, 61, 62, 63, 64, 65, 0, 66, 67, 68, |
| 643 73, 74, 75, 0, 76, 58, 59, 60, 61, 62, | 648 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, |
| 644 63, 64, 65, 66, 67, 68, 0, 69, 70, 71, | 649 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, |
| 645 72, 0, 0, 0, 73, 74, 75, 0, 76, 59, | 650 0, 66, 67, 68, 48, 49, 0, 50, 51, 52, |
| 646 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, | 651 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, |
| 647 69, 70, 71, 72, 0, 0, 0, 73, 74, 75, | 652 63, 64, 65, 0, 66, 67, 68, 49, 0, 50, |
| 648 0, 76, 61, 62, 63, 64, 65, 66, 67, 68, | 653 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, |
| 649 0, 69, 70, 71, 72, 0, 0, 0, 73, 74, | 654 61, 62, 63, 64, 65, 0, 66, 67, 68, 50, |
| 650 75, 0, 76, 71, 72, 0, 0, 0, 73, 74, | 655 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, |
| 651 75, 0, 76 | 656 61, 62, 63, 64, 65, 0, 66, 67, 68, 52, |
| 657 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, |
| 658 63, 64, 65, 0, 66, 67, 68, 56, 57, 58, |
| 659 59, 60, 61, 62, 63, 64, 65, 0, 66, 67, |
| 660 68, 58, 59, 60, 61, 62, 63, 64, 65, 0, |
| 661 66, 67, 68, 59, 60, 61, 62, 63, 64, 65, |
| 662 0, 66, 67, 68 |
| 652 }; | 663 }; |
| 653 | 664 |
| 654 static const yysigned_char yycheck[] = | 665 static const yysigned_char yycheck[] = |
| 655 { | 666 { |
| 656 18, 19, 20, 23, 11, 47, 13, 47, 0, 51, | 667 13, 14, 15, 16, 17, 60, 19, 55, 56, 64, |
| 657 6, 7, 8, 9, 10, 8, 9, 10, 2, 9, | 668 58, 59, 60, 8, 18, 10, 60, 30, 52, 53, |
| 658 47, 11, 12, 30, 47, 20, 44, 14, 47, 20, | 669 54, 55, 56, 0, 58, 59, 60, 50, 41, 42, |
| 659 24, 20, 50, 51, 20, 14, 54, 55, 56, 57, | 670 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 660 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, | 671 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, |
| 661 68, 69, 70, 71, 50, 14, 51, 50, 14, 49, | 672 63, 0, 3, 4, 9, 6, 7, 8, 9, 72, |
| 662 44, 52, 51, 81, 33, 34, 35, 36, -1, 38, | 673 11, 12, 13, 67, 31, 31, 60, 18, 17, 31, |
| 663 39, 40, 41, 80, -1, 82, 45, 46, 47, -1, | 674 31, 6, 26, 28, 66, 66, 25, 28, 29, 10, |
| 664 49, 45, 46, 47, -1, 49, -1, 107, 106, -1, | 675 -1, 30, -1, -1, -1, -1, -1, 38, 39, -1, |
| 665 108, -1, 3, 4, 5, -1, -1, 8, 9, 10, | 676 103, -1, -1, 106, -1, -1, 63, 52, 111, 50, |
| 666 11, 12, 13, 14, 122, 16, 17, 18, 19, -1, | 677 51, 52, 64, 64, -1, -1, 119, -1, -1, 60, |
| 667 -1, -1, 23, 38, 39, 40, 41, -1, -1, -1, | 678 -1, 62, -1, -1, 65, -1, -1, -1, 30, -1, |
| 668 45, 46, 47, -1, 49, -1, 37, -1, 39, -1, | 679 69, 33, 34, 35, 36, 37, 38, 39, -1, 41, |
| 669 -1, 42, 43, -1, -1, -1, 47, -1, 49, 50, | 680 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 670 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, | 681 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, |
| 671 32, 33, 34, 35, 36, -1, 38, 39, 40, 41, | 682 -1, -1, -1, 30, -1, 67, 33, 34, 35, 36, |
| 672 -1, -1, -1, 45, 46, 47, -1, 49, 22, 51, | 683 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, |
| 673 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, | 684 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 674 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, | 685 -1, 58, 59, 60, -1, 30, -1, 64, 33, 34, |
| 675 -1, 45, 46, 47, -1, 49, 22, 51, 24, 25, | 686 35, 36, 37, 38, 39, -1, 41, 42, 43, 44, |
| 676 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, | 687 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 677 36, -1, 38, 39, 40, 41, -1, -1, -1, 45, | 688 55, 56, -1, 58, 59, 60, -1, 30, -1, 64, |
| 678 46, 47, -1, 49, 22, 51, 24, 25, 26, 27, | 689 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, |
| 679 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, | 690 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 680 38, 39, 40, 41, -1, -1, -1, 45, 46, 47, | 691 53, 54, 55, 56, -1, 58, 59, 60, 34, 35, |
| 681 -1, 49, 22, 51, 24, 25, 26, 27, 28, 29, | 692 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, |
| 682 30, 31, 32, 33, 34, 35, 36, -1, 38, 39, | 693 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 683 40, 41, -1, -1, -1, 45, 46, 47, -1, 49, | 694 56, -1, 58, 59, 60, 36, 37, 38, 39, -1, |
| 684 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, | 695 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, |
| 685 35, 36, -1, 38, 39, 40, 41, -1, -1, -1, | 696 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, |
| 686 45, 46, 47, -1, 49, 26, 27, 28, 29, 30, | 697 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, |
| 687 31, 32, 33, 34, 35, 36, -1, 38, 39, 40, | 698 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 688 41, -1, -1, -1, 45, 46, 47, -1, 49, 27, | 699 -1, 58, 59, 60, 38, 39, -1, 41, 42, 43, |
| 689 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, | 700 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 690 38, 39, 40, 41, -1, -1, -1, 45, 46, 47, | 701 54, 55, 56, -1, 58, 59, 60, 39, -1, 41, |
| 691 -1, 49, 29, 30, 31, 32, 33, 34, 35, 36, | 702 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 692 -1, 38, 39, 40, 41, -1, -1, -1, 45, 46, | 703 52, 53, 54, 55, 56, -1, 58, 59, 60, 41, |
| 693 47, -1, 49, 40, 41, -1, -1, -1, 45, 46, | 704 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 694 47, -1, 49 | 705 52, 53, 54, 55, 56, -1, 58, 59, 60, 43, |
| 706 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 707 54, 55, 56, -1, 58, 59, 60, 47, 48, 49, |
| 708 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, |
| 709 60, 49, 50, 51, 52, 53, 54, 55, 56, -1, |
| 710 58, 59, 60, 50, 51, 52, 53, 54, 55, 56, |
| 711 -1, 58, 59, 60 |
| 695 }; | 712 }; |
| 696 | 713 |
| 697 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | 714 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
| 698 symbol of state STATE-NUM. */ | 715 symbol of state STATE-NUM. */ |
| 699 static const unsigned char yystos[] = | 716 static const unsigned char yystos[] = |
| 700 { | 717 { |
| 701 0, 54, 55, 0, 3, 4, 5, 8, 9, 10, | 718 0, 3, 4, 6, 7, 8, 9, 11, 12, 13, |
| 702 11, 12, 13, 14, 16, 17, 18, 19, 23, 37, | 719 18, 28, 29, 38, 39, 50, 51, 52, 60, 62, |
| 703 39, 42, 43, 47, 49, 50, 56, 57, 58, 59, | 720 65, 69, 70, 71, 72, 74, 77, 78, 79, 80, |
| 704 60, 65, 66, 67, 68, 69, 70, 72, 8, 9, | 721 60, 72, 79, 72, 72, 72, 72, 79, 71, 72, |
| 705 10, 50, 71, 71, 47, 71, 59, 69, 59, 59, | 722 0, 31, 30, 33, 34, 35, 36, 37, 38, 39, |
| 706 47, 47, 58, 70, 20, 22, 24, 25, 26, 27, | 723 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, |
| 707 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, | 724 51, 52, 53, 54, 55, 56, 58, 59, 60, 52, |
| 708 39, 40, 41, 45, 46, 47, 49, 6, 7, 71, | 725 79, 50, 60, 26, 72, 79, 64, 72, 72, 72, |
| 709 14, 47, 14, 59, 69, 59, 59, 51, 59, 59, | 726 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
| 710 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, | 727 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
| 711 59, 59, 59, 59, 59, 59, 64, 61, 62, 71, | 728 10, 80, 71, 73, 79, 66, 76, 6, 72, 64, |
| 712 59, 71, 51, 51, 51, 51, 59, 58, 59, 63, | 729 64, 67, 10, 63, 72, 75, 72, 64, 72, 31, |
| 713 51, 52, 20, 51, 59 | 730 64, 72 |
| 714 }; | 731 }; |
| 715 | 732 |
| 716 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) | 733 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
| 717 # define YYSIZE_T __SIZE_TYPE__ | 734 # define YYSIZE_T __SIZE_TYPE__ |
| 718 #endif | 735 #endif |
| 719 #if ! defined (YYSIZE_T) && defined (size_t) | 736 #if ! defined (YYSIZE_T) && defined (size_t) |
| 720 # define YYSIZE_T size_t | 737 # define YYSIZE_T size_t |
| 721 #endif | 738 #endif |
| 722 #if ! defined (YYSIZE_T) | 739 #if ! defined (YYSIZE_T) |
| 723 # if defined (__STDC__) || defined (__cplusplus) | 740 # if defined (__STDC__) || defined (__cplusplus) |
| (...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1310 yylen = yyr2[yyn]; | 1327 yylen = yyr2[yyn]; |
| 1311 | 1328 |
| 1312 /* If YYLEN is nonzero, implement the default value of the action: | 1329 /* If YYLEN is nonzero, implement the default value of the action: |
| 1313 `$$ = $1'. | 1330 `$$ = $1'. |
| 1314 | 1331 |
| 1315 Otherwise, the following line sets YYVAL to garbage. | 1332 Otherwise, the following line sets YYVAL to garbage. |
| 1316 This behavior is undocumented and Bison | 1333 This behavior is undocumented and Bison |
| 1317 users should not rely upon it. Assigning to YYVAL | 1334 users should not rely upon it. Assigning to YYVAL |
| 1318 unconditionally makes the parser a bit smaller, and it avoids a | 1335 unconditionally makes the parser a bit smaller, and it avoids a |
| 1319 GCC warning that YYVAL may be used uninitialized. */ | 1336 GCC warning that YYVAL may be used uninitialized. */ |
error: old chunk mismatch |
None
| OLD | NEW |