parser.cpp

来自「手机浏览器源码程序,功能强大」· C++ 代码 · 共 1,895 行 · 第 1/5 页

CPP
1,895
字号
     1,     0,     1,     4,     2,     7,     0,     3,     2,     3,
     3,     3,     3,     2,     2,     0,     1,     1,     5,     1,
     4,     2,     1,     3,     2,     0,     1,     1,     2,     3,
     2,     4,     5,     4,     1,     1,     1,     2,     2,     1,
     1,     1,     1,     2,     2,     4,     8,     6,    10,     1,
     1,     1,     1,     1,     1,     1,     1,     2,     3,     6,
     1,     2,     1,     3,     1,     3,     4,     3,     5,     4,
     4,     6,     5,     2,     6,     1,     3,     2,     2,     0,
     1,     3,     2,     2,     2,     0,     1,     2,     2,     2,
     2,     3,     2,     2,     1,     2,     1,     2,     2,     2,
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     2,     2,     2,     2,     2,     5,     3,     2,     3,     3,
     1,     2,     5,     3,     1,     3
};

static const short yydefact[] = {    13,
     0,     0,     0,     0,     8,     8,     8,    10,     0,     0,
     8,     8,     8,     2,     3,     4,    17,     0,    16,    15,
     9,     8,    66,     0,     0,    12,    11,    19,     0,     0,
    75,    80,     0,     0,     8,    76,     8,     0,     0,     0,
    63,     8,     0,    77,    81,    82,    83,   105,     8,     8,
     0,     0,   101,     0,   116,     8,     8,     8,     8,     8,
     8,     8,     8,     8,     8,     8,     8,     8,     8,     8,
     8,     8,     8,     8,     8,     8,     8,     8,     8,     8,
    58,    57,     8,     0,     0,   121,   127,   137,   135,     0,
    21,    10,   164,   165,     0,    14,    98,     0,     8,    84,
    66,     0,    62,     8,     8,    65,     8,     8,    66,     0,
    69,     0,    79,    71,    78,     8,     0,   118,   119,     6,
     0,   102,     8,     0,   114,     8,   129,   130,   158,   154,
   153,   155,   140,   141,   142,   143,   144,   145,   146,   147,
   148,   149,   150,   151,   152,   131,   139,   138,   133,     0,
   134,   136,     8,   128,   123,     7,     8,     8,     0,     0,
     0,     0,     0,    10,    18,     0,    99,    66,     8,    67,
     0,     0,     5,     0,    66,    54,    55,    64,    75,    76,
     8,     0,    70,   108,   104,     8,     0,     8,   106,     0,
     8,     0,   157,     0,   132,   125,   124,   122,    32,    31,
    38,    39,     8,     0,    36,     0,     0,     8,     0,     0,
    10,   161,    24,    25,    26,    23,    28,    29,    27,    20,
   163,   166,     8,    85,     0,    91,    92,    93,    94,    95,
    86,    90,     8,     0,     0,    72,     0,    74,     8,   111,
     0,   110,   107,     0,     0,     8,    42,    35,    34,     0,
     0,   162,     0,    42,     0,     0,    22,     0,     8,     0,
     0,    59,    73,   109,     8,     0,   113,   156,     8,     0,
     0,    43,    37,     8,    51,    50,     0,    53,    52,   160,
   159,   100,    88,     8,    97,    96,     8,   112,   115,    49,
    30,    45,     8,     0,     8,     0,     0,     0,    33,    47,
     8,    87,    44,    66,     0,    46,     8,    89,    48,     0,
     0,     0
};

static const short yydefgoto[] = {   310,
     5,     6,     7,   224,    17,     8,    28,    91,   163,   211,
    92,   164,   251,   203,   270,   271,   213,   304,   272,   214,
   215,   109,    84,    37,    38,    39,    40,    41,    42,    43,
    44,    45,   172,    46,   233,   287,    47,    51,    52,    53,
    54,    55,    85,   159,    86,    87,    88,    89,   217,   218,
   219,    94,    95
};

static const short yypact[] = {   172,
    22,   -32,   -19,   -15,-32768,-32768,-32768,-32768,    73,    14,
-32768,-32768,-32768,    37,    37,    37,   106,    43,-32768,-32768,
-32768,-32768,   136,   222,   534,-32768,-32768,    31,   140,     4,
    -6,-32768,   130,    42,-32768,    49,-32768,    51,   229,    58,
-32768,   276,   202,-32768,-32768,-32768,-32768,   150,-32768,-32768,
    75,   115,   156,    13,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,   608,   390,-32768,-32768,-32768,-32768,   395,
   116,-32768,-32768,-32768,   145,-32768,-32768,   151,-32768,-32768,
    35,   135,-32768,-32768,-32768,-32768,-32768,-32768,   290,   348,
    37,   202,-32768,    37,-32768,-32768,   170,    37,    37,-32768,
   176,   127,-32768,    38,-32768,-32768,    37,    37,    37,    37,
    37,    37,    37,    37,    37,    37,    37,    37,    37,    37,
    37,    37,    37,    37,    37,    37,    37,    37,    37,   489,
    37,    37,-32768,-32768,-32768,-32768,-32768,-32768,   572,   179,
   183,   264,   117,-32768,   106,   163,-32768,   136,    -6,-32768,
   152,    87,-32768,   222,   136,    37,    37,-32768,-32768,-32768,
   276,   202,    37,    37,   187,-32768,   200,-32768,    37,   191,
-32768,   338,-32768,   437,    37,    37,    37,-32768,-32768,-32768,
-32768,-32768,-32768,   212,    17,   191,   219,-32768,   230,   250,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   106,
-32768,-32768,-32768,    37,   241,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,   207,   541,    37,   202,    37,-32768,    37,
   228,    37,    37,   572,   286,-32768,   171,-32768,-32768,   256,
   165,-32768,   245,    32,   260,   294,   106,    24,-32768,   161,
   109,-32768,    37,    37,-32768,   286,-32768,    37,-32768,   213,
    50,-32768,-32768,-32768,-32768,-32768,   112,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,    37,-32768,    37,
-32768,-32768,-32768,   105,-32768,   109,    28,    32,-32768,    37,
-32768,-32768,-32768,   340,    34,-32768,-32768,-32768,    37,   266,
   269,-32768
};

static const short yypgoto[] = {-32768,
-32768,-32768,-32768,    -1,   -84,-32768,-32768,-32768,-32768,-32768,
   144,-32768,-32768,    48,-32768,    25,-32768,-32768,    45,-32768,
-32768,-32768,-32768,  -162,-32768,   181,   257,   -87,   247,   -23,
   -28,-32768,   168,-32768,   134,   101,-32768,   232,-32768,   352,
-32768,  -236,  -147,-32768,   248,   324,-32768,-32768,-32768,-32768,
-32768,    -7,   -35
};


#define	YYLAST		652


static const short yytable[] = {    10,
   216,    20,   194,    14,    15,    16,    21,   165,   267,    23,
    24,    25,   117,   125,   115,    11,    21,   124,   112,    21,
    30,   178,     9,    22,    -8,   126,    21,   250,    12,   289,
    21,    -8,    13,   101,    21,   102,    21,    21,   190,    21,
   111,   114,   269,    29,   245,   169,    90,   118,   119,   -68,
   292,   103,   100,    96,   127,   128,   129,   130,   131,   132,
   133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
   143,   144,   145,   146,   147,   148,   149,   150,   151,   220,
   223,   152,   282,   115,   302,   187,   182,   191,   161,   170,
   308,   226,   227,   228,   229,   230,   266,   168,   104,   -41,
   293,   105,   174,   175,   -67,   176,   177,    21,    26,    27,
   183,    21,   292,   110,   184,   121,    -1,   206,   285,   286,
    18,   189,    19,   120,   192,    49,   257,    31,    32,    33,
    34,    35,    90,   207,   208,   209,   162,    21,    21,    50,
    97,   307,    98,   231,   232,   166,    31,    32,    33,    34,
    35,   195,   200,   115,   299,   196,   197,   237,   222,   295,
   205,   167,   293,  -103,  -120,   226,   227,   228,   229,   230,
   185,    36,   -66,    21,   201,    99,   188,   222,   210,   236,
   238,   269,   222,   173,   240,    21,   242,    18,    93,   243,
    36,     1,   201,     2,     3,     4,   249,    18,   252,   116,
   241,   247,   113,    18,    -8,   123,   254,   225,   115,   202,
    18,   221,    -8,    32,    33,    34,    35,   283,   232,   253,
   -40,   258,    48,    18,    21,   186,    18,   202,   199,   106,
   255,   261,    49,   222,    18,   263,   239,   264,    18,   -56,
   -56,   -56,   -56,   -56,   268,   276,    50,   279,   281,    -8,
   256,   259,    -8,    -8,    -8,   262,    -8,    -8,   273,    18,
    -8,   248,   291,   288,   204,   311,    -8,   290,   312,  -120,
  -120,  -120,   294,    -8,    -8,    18,   -60,   265,   277,   -60,
   107,   108,   296,   -56,   -56,   297,   155,    32,    33,    34,
    35,   298,    18,   300,   275,  -126,  -126,  -126,   274,   305,
    31,    32,    33,    34,    35,   309,   212,    18,    -8,   278,
    50,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,
  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,
  -126,  -126,  -126,  -120,  -120,  -120,   157,  -126,   244,  -126,
    21,    18,   303,   280,    36,   158,  -126,    56,    57,    58,
    31,    32,    33,    34,    35,   235,   181,   171,   179,    32,
    33,    34,    35,    59,    60,    61,    62,    63,    64,    65,
    66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
    76,    77,    78,    79,    80,  -117,  -117,  -117,   306,    81,
   155,    82,   260,   284,    36,   160,   301,    -8,    83,  -126,
  -126,  -126,   180,   122,    -8,   234,   198,   154,     0,     0,
     0,     0,     0,     0,     0,  -126,  -126,  -126,  -126,  -126,
  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,
  -126,  -126,  -126,  -126,  -126,  -126,  -126,   155,   156,    -8,
   157,  -126,     0,  -126,     0,     0,  -126,  -126,  -126,   158,
  -126,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,
  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,
  -126,  -126,  -126,  -126,     0,     0,     0,   157,  -126,   193,
  -126,    21,     0,     0,     0,   246,   158,  -126,    56,    57,
    58,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,    59,    60,    61,    62,    63,    64,
    65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    75,    76,    77,    78,    79,    80,    21,     0,     0,     0,
    81,   106,    82,    56,    57,    58,     0,     0,     0,    83,
     0,   -56,   -56,   -56,   -56,   -56,     0,     0,     0,    59,
    60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
    70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
    80,    56,    57,    58,     0,    81,     0,    82,   -61,     0,
     0,   -61,   107,   108,    83,   -56,   -56,    59,    60,    61,
    62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    72,    73,    74,    75,    76,    77,    78,    79,    80,     0,
     0,     0,     0,    81,     0,    82,     0,     0,     0,     0,
     0,     0,    83,    59,    60,    61,    62,    63,    64,    65,
    66,    67,    68,    69,    70,    71,    72,    73,    74,   153,
    76,    77
};

static const short yycheck[] = {     1,
   163,     9,   150,     5,     6,     7,     3,    92,   245,    11,
    12,    13,    48,     1,    43,    48,     3,    53,    42,     3,
    22,   109,     1,    10,     3,    13,     3,    11,    48,   266,
     3,    10,    48,    35,     3,    37,     3,     3,     1,     3,
    42,    43,    11,     1,   192,    11,    16,    49,    50,    56,
     1,     1,    11,    50,    56,    57,    58,    59,    60,    61,
    62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
    72,    73,    74,    75,    76,    77,    78,    79,    80,   164,
   168,    83,    59,   112,    57,   121,   110,    50,    90,    55,
    57,     5,     6,     7,     8,     9,   244,    99,    48,    50,
    51,    51,   104,   105,    56,   107,   108,     3,     3,     4,
   112,     3,     1,    56,   116,     1,     0,     1,    10,    11,
    48,   123,    50,    49,   126,    11,   211,    11,    12,    13,
    14,    15,    16,    17,    18,    19,    21,     3,     3,    25,
    11,   304,    13,    57,    58,     1,    11,    12,    13,    14,
    15,   153,   160,   182,    50,   157,   158,   181,   166,    48,
   162,    11,    51,    49,    50,     5,     6,     7,     8,     9,
     1,    55,    56,     3,    10,    46,    50,   185,    62,   181,
   182,    11,   190,    49,   186,     3,   188,    48,    49,   191,
    55,    20,    10,    22,    23,    24,   204,    48,   206,    50,
     1,   203,     1,    48,     3,    50,   208,    56,   237,    45,
    48,    49,    11,    12,    13,    14,    15,    57,    58,     1,
    50,   223,     1,    48,     3,    50,    48,    45,    50,     1,
     1,   233,    11,   241,    48,   237,    50,   239,    48,    11,
    12,    13,    14,    15,   246,   253,    25,   255,   256,    48,
     1,    11,    51,    52,    53,    49,    55,    56,     3,    48,
    59,    50,    50,   265,     1,     0,     3,   269,     0,    48,
    49,    50,   274,    10,    11,    48,    48,    50,   254,    51,
    52,    53,   284,    55,    56,   287,     1,    12,    13,    14,
    15,   293,    48,   295,    50,    10,    11,    12,   251,   301,
    11,    12,    13,    14,    15,   307,   163,    48,    45,    50,
    25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    45,    46,    47,    48,    49,    50,    51,    52,     1,    54,
     3,    48,   298,    50,    55,    60,    61,    10,    11,    12,
    11,    12,    13,    14,    15,   175,   110,   101,    11,    12,
    13,    14,    15,    26,    27,    28,    29,    30,    31,    32,
    33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
    43,    44,    45,    46,    47,    48,    49,    50,    49,    52,
     1,    54,   225,   260,    55,     1,   296,     3,    61,    10,
    11,    12,    55,    52,    10,   174,   159,    84,    -1,    -1,
    -1,    -1,    -1,    -1,    -1,    26,    27,    28,    29,    30,
    31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
    41,    42,    43,    44,    45,    46,    47,     1,    49,    45,
    51,    52,    -1,    54,    -1,    -1,    10,    11,    12,    60,
    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    -1,    -1,    26,    27,    28,    29,    30,    31,    32,    33,
    34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
    44,    45,    46,    47,    -1,    -1,    -1,    51,    52,     1,
    54,     3,    -1,    -1,    -1,    59,    60,    61,    10,    11,
    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    -1,    -1,    -1,    -1,    26,    27,    28,    29,    30,    31,
    32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
    42,    43,    44,    45,    46,    47,     3,    -1,    -1,    -1,
    52,     1,    54,    10,    11,    12,    -1,    -1,    -1,    61,
    -1,    11,    12,    13,    14,    15,    -1,    -1,    -1,    26,
    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
    37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
    47,    10,    11,    12,    -1,    52,    -1,    54,    48,    -1,
    -1,    51,    52,    53,    61,    55,    56,    26,    27,    28,
    29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
    39,    40,    41,    42,    43,    44,    45,    46,    47,    -1,
    -1,    -1,    -1,    52,    -1,    54,    -1,    -1,    -1,    -1,
    -1,    -1,    61,    26,    27,    28,    29,    30,    31,    32,
    33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
    43,    44
};
#define YYPURE 1

/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
#line 3 "/usr/share/bison.simple"
/* This file comes from bison-1.28.  */

/* Skeleton output parser for bison,
   Copyright (C) 1984, 1989, 1990 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 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., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

/* As a special exception, when this file is copied by Bison into a
   Bison output file, you may use that output file without restriction.
   This special exception was added by the Free Software Foundation
   in version 1.24 of Bison.  */

/* This is the parser code that is written into each bison parser
  when the %semantic_parser declaration is not specified in the grammar.
  It was written by Richard Stallman by simplifying the hairy parser
  used when %semantic_parser is specified.  */

#ifndef YYSTACK_USE_ALLOCA
#ifdef alloca
#define YYSTACK_USE_ALLOCA
#else /* alloca not defined */
#ifdef __GNUC__
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#else /* not GNU C.  */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
#define YYSTACK_USE_ALLOCA
#include <alloca.h>
#else /* not sparc */
/* We think this test detects Watcom and Microsoft C.  */
/* This used to test MSDOS, but that is a bad idea
   since that symbol is in the user namespace.  */
#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
#if 0 /* No need for malloc.h, which pollutes the namespace;
	 instead, just don't use alloca.  */
#include <malloc.h>
#endif
#else /* not MSDOS, or __TURBOC__ */
#if defined(_AIX)
/* I don't know what this was needed for, but it pollutes the namespace.
   So I turned it off.   rms, 2 May 1997.  */
/* #include <malloc.h>  */
 #pragma alloca
#define YYSTACK_USE_ALLOCA
#else /* not MSDOS, or __TURBOC__, or _AIX */
#if 0
#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
		 and on HPUX 10.  Eventually we can turn this on.  */
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#endif /* __hpux */
#endif
#endif /* not _AIX */
#endif /* not MSDOS, or __TURBOC__ */
#endif /* not sparc */
#endif /* not GNU C */
#endif /* alloca not defined */
#endif /* YYSTACK_USE_ALLOCA not defined */

#ifdef YYSTACK_USE_ALLOCA
#define YYSTACK_ALLOC alloca
#else
#ifndef __OOM__
#define YYSTACK_ALLOC malloc
#else
#define YYSTACK_ALLOC MemoryManager::Alloc
#endif
#endif

/* Note: there must be only one dollar sign in this file.
   It is replaced by the list of actions, each action
   as one case of the switch.  */

#define yyerrok		(yyerrstatus = 0)
#define yyclearin	(yychar = YYEMPTY)
#define YYEMPTY		-2
#define YYEOF		0
#define YYACCEPT	goto yyacceptlab
#define YYABORT 	goto yyabortlab
#define YYERROR		goto yyerrlab1
/* Like YYERROR except do call yyerror.
   This remains here temporarily to ease the
   transition to the new meaning of YYERROR, for GCC.
   Once GCC version 2 has supplanted version 1, this can go.  */
#define YYFAIL		goto yyerrlab
#define YYRECOVERING()  (!!yyerrstatus)
#define YYBACKUP(token, value) \
do								\
  if (yychar == YYEMPTY && yylen == 1)				\
    { yychar = (token), yylval = (value);			\
      yychar1 = YYTRANSLATE (yychar);				\
      YYPOPSTACK;						\
      goto yybackup;						\
    }								\
  else								\
    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
while (0)

#define YYTERROR	1
#define YYERRCODE	256

#ifndef YYPURE
#define YYLEX		yylex()
#endif

#ifdef YYPURE
#ifdef YYLSP_NEEDED
#ifdef YYLEX_PARAM
#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
#else
#define YYLEX		yylex(&yylval, &yylloc)
#endif
#else /* not YYLSP_NEEDED */
#ifdef YYLEX_PARAM
#define YYLEX		yylex(&yylval, YYLEX_PARAM)
#else
#define YYLEX		yylex(&yylval)
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?