Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
/* A Bison parser, made by GNU Bison 3.3.2. */12/* Bison implementation for Yacc-like parsers in C34Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,5Inc.67This program is free software: you can redistribute it and/or modify8it under the terms of the GNU General Public License as published by9the Free Software Foundation, either version 3 of the License, or10(at your option) any later version.1112This program is distributed in the hope that it will be useful,13but WITHOUT ANY WARRANTY; without even the implied warranty of14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the15GNU General Public License for more details.1617You should have received a copy of the GNU General Public License18along with this program. If not, see <http://www.gnu.org/licenses/>. */1920/* As a special exception, you may create a larger work that contains21part or all of the Bison parser skeleton and distribute that work22under terms of your choice, so long as that work isn't itself a23parser generator using the skeleton or a modified version thereof24as a parser skeleton. Alternatively, if you modify or redistribute25the parser skeleton itself, you may (at your option) remove this26special exception, which will cause the skeleton and the resulting27Bison output files to be licensed under the GNU General Public28License without this special exception.2930This special exception was added by the Free Software Foundation in31version 2.2 of Bison. */3233/* C LALR(1) parser skeleton written by Richard Stallman, by34simplifying the original so-called "semantic" parser. */3536/* All symbols defined below should begin with yy or YY, to avoid37infringing on user name space. This should be done even for local38variables, as they might otherwise be expanded by user macros.39There are some unavoidable exceptions within include files to40define necessary library symbols; they are noted "INFRINGES ON41USER NAME SPACE" below. */4243/* Undocumented macros, especially those whose name start with YY_,44are private implementation details. Do not rely on them. */4546/* Identify Bison output. */47#define YYBISON 14849/* Bison version. */50#define YYBISON_VERSION "3.3.2"5152/* Skeleton name. */53#define YYSKELETON_NAME "yacc.c"5455/* Pure parsers. */56#define YYPURE 25758/* Push parsers. */59#define YYPUSH 06061/* Pull parsers. */62#define YYPULL 16364/* Substitute the type names. */65#define YYSTYPE PARI_STYPE66#define YYLTYPE PARI_LTYPE67/* Substitute the variable and function names. */68#define yyparse pari_parse69#define yylex pari_lex70#define yyerror pari_error71#define yydebug pari_debug72#define yynerrs pari_nerrs737475/* First part of user prologue. */76#line 1 "../src/language/parse.y" /* yacc.c:337 */7778/* Copyright (C) 2006 The PARI group.7980This file is part of the PARI package.8182PARI/GP is free software; you can redistribute it and/or modify it under the83terms of the GNU General Public License as published by the Free Software84Foundation; either version 2 of the License, or (at your option) any later85version. It is distributed in the hope that it will be useful, but WITHOUT86ANY WARRANTY WHATSOEVER.8788Check the License for details. You should have received a copy of it, along89with the package; see the file 'COPYING'. If not, write to the Free Software90Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */9192#define PARI_STYPE union token_value93#define PARI_LTYPE struct node_loc94#define YYPTRDIFF_T long95#define YYPTRDIFF_MAXIMUM LONG_MAX96#define YYSIZE_T size_t97#define YYLLOC_DEFAULT(Current, Rhs, N) \98((Current).start = ((N)?(Rhs)[1].start:(Rhs)[0].end), \99(Current).end = (Rhs)[N].end)100#include "parsec.h"101#define NOARG(x) newnode(Fnoarg,-1,-1,&(x))102#define NORANGE(x) newnode(Fnorange,-1,-1,&(x))103104#line 106 "../src/language/parse.c" /* yacc.c:337 */105# ifndef YY_NULLPTR106# if defined __cplusplus107# if 201103L <= __cplusplus108# define YY_NULLPTR nullptr109# else110# define YY_NULLPTR 0111# endif112# else113# define YY_NULLPTR ((void*)0)114# endif115# endif116117/* Enabling verbose error messages. */118#ifdef YYERROR_VERBOSE119# undef YYERROR_VERBOSE120# define YYERROR_VERBOSE 1121#else122# define YYERROR_VERBOSE 1123#endif124125/* In a future release of Bison, this section will be replaced126by #include "parse.h". */127#ifndef YY_PARI_SRC_LANGUAGE_PARSE_H_INCLUDED128# define YY_PARI_SRC_LANGUAGE_PARSE_H_INCLUDED129/* Debug traces. */130#ifndef PARI_DEBUG131# if defined YYDEBUG132#if YYDEBUG133# define PARI_DEBUG 1134# else135# define PARI_DEBUG 0136# endif137# else /* ! defined YYDEBUG */138# define PARI_DEBUG 0139# endif /* ! defined YYDEBUG */140#endif /* ! defined PARI_DEBUG */141#if PARI_DEBUG142extern int pari_debug;143#endif144145/* Token type. */146#ifndef PARI_TOKENTYPE147# define PARI_TOKENTYPE148enum pari_tokentype149{150KPARROW = 258,151KARROW = 259,152KDOTDOT = 260,153KPE = 261,154KSE = 262,155KME = 263,156KDE = 264,157KDRE = 265,158KEUCE = 266,159KMODE = 267,160KAND = 268,161KOR = 269,162KID = 270,163KEQ = 271,164KNE = 272,165KGE = 273,166KLE = 274,167KSRE = 275,168KSLE = 276,169KSR = 277,170KSL = 278,171KDR = 279,172KPP = 280,173KSS = 281,174KINTEGER = 282,175KREAL = 283,176KENTRY = 284,177KSTRING = 285,178SEQ = 286,179DEFFUNC = 287,180INT = 288,181LVAL = 289,182SIGN = 290,183DERIV = 291184};185#endif186187/* Value type. */188189/* Location type. */190#if ! defined PARI_LTYPE && ! defined PARI_LTYPE_IS_DECLARED191typedef struct PARI_LTYPE PARI_LTYPE;192struct PARI_LTYPE193{194int first_line;195int first_column;196int last_line;197int last_column;198};199# define PARI_LTYPE_IS_DECLARED 1200# define PARI_LTYPE_IS_TRIVIAL 1201#endif202203204205int pari_parse (char **lex);206207#endif /* !YY_PARI_SRC_LANGUAGE_PARSE_H_INCLUDED */208209210211#ifdef short212# undef short213#endif214215#ifdef YYTYPE_UINT8216typedef YYTYPE_UINT8 yytype_uint8;217#else218typedef unsigned char yytype_uint8;219#endif220221#ifdef YYTYPE_INT8222typedef YYTYPE_INT8 yytype_int8;223#else224typedef signed char yytype_int8;225#endif226227#ifdef YYTYPE_UINT16228typedef YYTYPE_UINT16 yytype_uint16;229#else230typedef unsigned short yytype_uint16;231#endif232233#ifdef YYTYPE_INT16234typedef YYTYPE_INT16 yytype_int16;235#else236typedef short yytype_int16;237#endif238239#ifndef YYSIZE_T240# ifdef __SIZE_TYPE__241# define YYSIZE_T __SIZE_TYPE__242# elif defined size_t243# define YYSIZE_T size_t244# elif ! defined YYSIZE_T245# include <stddef.h> /* INFRINGES ON USER NAME SPACE */246# define YYSIZE_T size_t247# else248# define YYSIZE_T unsigned249# endif250#endif251252#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)253254#ifndef YY_255# if defined YYENABLE_NLS && YYENABLE_NLS256# if ENABLE_NLS257# include <libintl.h> /* INFRINGES ON USER NAME SPACE */258# define YY_(Msgid) dgettext ("bison-runtime", Msgid)259# endif260# endif261# ifndef YY_262# define YY_(Msgid) Msgid263# endif264#endif265266#ifndef YY_ATTRIBUTE267# if (defined __GNUC__ \268&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \269|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C270# define YY_ATTRIBUTE(Spec) __attribute__(Spec)271# else272# define YY_ATTRIBUTE(Spec) /* empty */273# endif274#endif275276#ifndef YY_ATTRIBUTE_PURE277# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))278#endif279280#ifndef YY_ATTRIBUTE_UNUSED281# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))282#endif283284/* Suppress unused-variable warnings by "using" E. */285#if ! defined lint || defined __GNUC__286# define YYUSE(E) ((void) (E))287#else288# define YYUSE(E) /* empty */289#endif290291#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__292/* Suppress an incorrect diagnostic about yylval being uninitialized. */293# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \294_Pragma ("GCC diagnostic push") \295_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\296_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")297# define YY_IGNORE_MAYBE_UNINITIALIZED_END \298_Pragma ("GCC diagnostic pop")299#else300# define YY_INITIAL_VALUE(Value) Value301#endif302#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN303# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN304# define YY_IGNORE_MAYBE_UNINITIALIZED_END305#endif306#ifndef YY_INITIAL_VALUE307# define YY_INITIAL_VALUE(Value) /* Nothing. */308#endif309310311#if ! defined yyoverflow || YYERROR_VERBOSE312313/* The parser invokes alloca or malloc; define the necessary symbols. */314315# ifdef YYSTACK_USE_ALLOCA316# if YYSTACK_USE_ALLOCA317# ifdef __GNUC__318# define YYSTACK_ALLOC __builtin_alloca319# elif defined __BUILTIN_VA_ARG_INCR320# include <alloca.h> /* INFRINGES ON USER NAME SPACE */321# elif defined _AIX322# define YYSTACK_ALLOC __alloca323# elif defined _MSC_VER324# include <malloc.h> /* INFRINGES ON USER NAME SPACE */325# define alloca _alloca326# else327# define YYSTACK_ALLOC alloca328# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS329# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */330/* Use EXIT_SUCCESS as a witness for stdlib.h. */331# ifndef EXIT_SUCCESS332# define EXIT_SUCCESS 0333# endif334# endif335# endif336# endif337# endif338339# ifdef YYSTACK_ALLOC340/* Pacify GCC's 'empty if-body' warning. */341# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)342# ifndef YYSTACK_ALLOC_MAXIMUM343/* The OS might guarantee only one guard page at the bottom of the stack,344and a page size can be as small as 4096 bytes. So we cannot safely345invoke alloca (N) if N exceeds 4096. Use a slightly smaller number346to allow for a few compiler-allocated temporary stack slots. */347# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */348# endif349# else350# define YYSTACK_ALLOC YYMALLOC351# define YYSTACK_FREE YYFREE352# ifndef YYSTACK_ALLOC_MAXIMUM353# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM354# endif355# if (defined __cplusplus && ! defined EXIT_SUCCESS \356&& ! ((defined YYMALLOC || defined malloc) \357&& (defined YYFREE || defined free)))358# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */359# ifndef EXIT_SUCCESS360# define EXIT_SUCCESS 0361# endif362# endif363# ifndef YYMALLOC364# define YYMALLOC malloc365# if ! defined malloc && ! defined EXIT_SUCCESS366void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */367# endif368# endif369# ifndef YYFREE370# define YYFREE free371# if ! defined free && ! defined EXIT_SUCCESS372void free (void *); /* INFRINGES ON USER NAME SPACE */373# endif374# endif375# endif376#endif /* ! defined yyoverflow || YYERROR_VERBOSE */377378379#if (! defined yyoverflow \380&& (! defined __cplusplus \381|| (defined PARI_LTYPE_IS_TRIVIAL && PARI_LTYPE_IS_TRIVIAL \382&& defined PARI_STYPE_IS_TRIVIAL && PARI_STYPE_IS_TRIVIAL)))383384/* A type that is properly aligned for any stack member. */385union yyalloc386{387yytype_int16 yyss_alloc;388YYSTYPE yyvs_alloc;389YYLTYPE yyls_alloc;390};391392/* The size of the maximum gap between one aligned stack and the next. */393# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)394395/* The size of an array large to enough to hold all stacks, each with396N elements. */397# define YYSTACK_BYTES(N) \398((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \399+ 2 * YYSTACK_GAP_MAXIMUM)400401# define YYCOPY_NEEDED 1402403/* Relocate STACK from its old location to the new one. The404local variables YYSIZE and YYSTACKSIZE give the old and new number of405elements in the stack, and YYPTR gives the new location of the406stack. Advance YYPTR to a properly aligned location for the next407stack. */408# define YYSTACK_RELOCATE(Stack_alloc, Stack) \409do \410{ \411YYSIZE_T yynewbytes; \412YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \413Stack = &yyptr->Stack_alloc; \414yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \415yyptr += yynewbytes / sizeof (*yyptr); \416} \417while (0)418419#endif420421#if defined YYCOPY_NEEDED && YYCOPY_NEEDED422/* Copy COUNT objects from SRC to DST. The source and destination do423not overlap. */424# ifndef YYCOPY425# if defined __GNUC__ && 1 < __GNUC__426# define YYCOPY(Dst, Src, Count) \427__builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))428# else429# define YYCOPY(Dst, Src, Count) \430do \431{ \432YYSIZE_T yyi; \433for (yyi = 0; yyi < (Count); yyi++) \434(Dst)[yyi] = (Src)[yyi]; \435} \436while (0)437# endif438# endif439#endif /* !YYCOPY_NEEDED */440441/* YYFINAL -- State number of the termination state. */442#define YYFINAL 49443/* YYLAST -- Last index in YYTABLE. */444#define YYLAST 711445446/* YYNTOKENS -- Number of terminals. */447#define YYNTOKENS 62448/* YYNNTS -- Number of nonterminals. */449#define YYNNTS 24450/* YYNRULES -- Number of rules. */451#define YYNRULES 116452/* YYNSTATES -- Number of states. */453#define YYNSTATES 198454455#define YYUNDEFTOK 2456#define YYMAXUTOK 291457458/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM459as returned by yylex, with out-of-bounds checking. */460#define YYTRANSLATE(YYX) \461((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)462463/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM464as returned by yylex. */465static const yytype_uint8 yytranslate[] =466{4670, 2, 2, 2, 2, 2, 2, 2, 2, 2,4682, 2, 2, 2, 2, 2, 2, 2, 2, 2,4692, 2, 2, 2, 2, 2, 2, 2, 2, 2,4702, 2, 2, 50, 2, 49, 2, 43, 38, 54,47156, 60, 46, 41, 36, 42, 55, 45, 2, 2,4722, 2, 2, 2, 2, 2, 2, 2, 57, 35,47340, 37, 39, 2, 2, 2, 2, 2, 2, 2,4742, 2, 2, 2, 2, 2, 2, 2, 2, 2,4752, 2, 2, 2, 2, 2, 2, 2, 2, 2,4762, 52, 44, 58, 48, 2, 59, 2, 2, 2,4772, 2, 2, 2, 2, 2, 2, 2, 2, 2,4782, 2, 2, 2, 2, 2, 2, 2, 2, 2,4792, 2, 2, 2, 61, 2, 51, 2, 2, 2,4802, 2, 2, 2, 2, 2, 2, 2, 2, 2,4812, 2, 2, 2, 2, 2, 2, 2, 2, 2,4822, 2, 2, 2, 2, 2, 2, 2, 2, 2,4832, 2, 2, 2, 2, 2, 2, 2, 2, 2,4842, 2, 2, 2, 2, 2, 2, 2, 2, 2,4852, 2, 2, 2, 2, 2, 2, 2, 2, 2,4862, 2, 2, 2, 2, 2, 2, 2, 2, 2,4872, 2, 2, 2, 2, 2, 2, 2, 2, 2,4882, 2, 2, 2, 2, 2, 2, 2, 2, 2,4892, 2, 2, 2, 2, 2, 2, 2, 2, 2,4902, 2, 2, 2, 2, 2, 2, 2, 2, 2,4912, 2, 2, 2, 2, 2, 2, 2, 2, 2,4922, 2, 2, 2, 2, 2, 1, 2, 3, 4,4935, 6, 7, 8, 9, 10, 11, 12, 13, 14,49415, 16, 17, 18, 19, 20, 21, 22, 23, 24,49525, 26, 27, 28, 29, 30, 31, 32, 33, 34,49647, 53497};498499#if PARI_DEBUG500/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */501static const yytype_uint8 yyrline[] =502{5030, 90, 90, 93, 94, 95, 96, 99, 100, 101,504102, 105, 106, 109, 110, 113, 114, 115, 116, 117,505118, 121, 122, 125, 126, 127, 128, 130, 131, 132,506133, 134, 135, 136, 137, 138, 139, 140, 141, 142,507143, 144, 145, 146, 147, 148, 149, 150, 151, 152,508153, 154, 155, 156, 157, 158, 159, 160, 161, 162,509163, 164, 165, 166, 167, 168, 169, 170, 171, 172,510173, 174, 175, 176, 177, 178, 179, 180, 181, 182,511185, 186, 187, 190, 191, 193, 194, 197, 198, 201,512202, 205, 206, 207, 208, 209, 210, 213, 216, 217,513218, 219, 222, 225, 226, 227, 228, 229, 229, 233,514234, 237, 240, 243, 245, 247, 248515};516#endif517518#if PARI_DEBUG || YYERROR_VERBOSE || 1519/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.520First, the terminals, then, starting at YYNTOKENS, nonterminals. */521static const char *const yytname[] =522{523"$end", "error", "$undefined", "\")->\"", "\"->\"", "\"..\"", "\"+=\"",524"\"-=\"", "\"*=\"", "\"/=\"", "\"\\\\/=\"", "\"\\\\=\"", "\"%=\"",525"\"&&\"", "\"||\"", "\"===\"", "\"==\"", "\"!=\"", "\">=\"", "\"<=\"",526"\">>=\"", "\"<<=\"", "\">>\"", "\"<<\"", "\"\\\\/\"", "\"++\"",527"\"--\"", "\"integer\"", "\"real number\"", "\"variable name\"",528"\"character string\"", "SEQ", "DEFFUNC", "INT", "LVAL", "';'", "','",529"'='", "'&'", "'>'", "'<'", "'+'", "'-'", "'%'", "'\\\\'", "'/'", "'*'",530"SIGN", "'^'", "'#'", "'!'", "'~'", "'['", "DERIV", "'\\''", "'.'",531"'('", "':'", "']'", "'`'", "')'", "'|'", "$accept", "sequence", "seq",532"range", "matrix_index", "backticks", "history", "deriv", "expr",533"lvalue", "exprno", "matrixeltsno", "matrixelts", "matrixlines",534"matrix", "in", "inseq", "compr", "arg", "$@1", "listarg", "funcid",535"memberid", "definition", YY_NULLPTR536};537#endif538539# ifdef YYPRINT540/* YYTOKNUM[NUM] -- (External) token number corresponding to the541(internal) symbol number NUM (which must be that of a token). */542static const yytype_uint16 yytoknum[] =543{5440, 256, 257, 258, 259, 260, 261, 262, 263, 264,545265, 266, 267, 268, 269, 270, 271, 272, 273, 274,546275, 276, 277, 278, 279, 280, 281, 282, 283, 284,547285, 286, 287, 288, 289, 59, 44, 61, 38, 62,54860, 43, 45, 37, 92, 47, 42, 290, 94, 35,54933, 126, 91, 291, 39, 46, 40, 58, 93, 96,55041, 124551};552# endif553554#define YYPACT_NINF -109555556#define yypact_value_is_default(Yystate) \557(!!((Yystate) == (-109)))558559#define YYTABLE_NINF -111560561#define yytable_value_is_error(Yytable_value) \5620563564/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing565STATE-NUM. */566static const yytype_int16 yypact[] =567{568655, -26, -109, 17, -109, 655, 655, -15, 655, 655,569112, 2, -109, 621, 33, 40, -109, 496, 234, 49,570-109, -109, -109, -109, 60, 621, 64, 64, -109, 12,571-109, 35, 81, -33, 41, 44, -109, 178, 68, -18,57250, -109, 77, 77, 40, 357, 257, 6, 7, -109,573655, 655, 655, 655, 655, 655, 655, 655, 655, 655,574655, 655, 655, 655, 655, 655, 655, 655, 655, 655,575655, -109, -109, 638, -109, 78, 621, 82, -109, 63,576655, 655, 655, 655, 655, 655, 655, 655, 655, 655,577-109, -109, 655, 93, -109, 655, -109, -23, -109, 35,578-109, -109, -109, 655, 77, 655, 655, -109, 655, -109,579-109, -32, -32, -109, 313, -109, 655, 621, 496, 539,580539, 575, 575, 575, 575, 575, 64, 64, 64, 539,581575, 575, 590, 590, 64, 64, 64, 64, 64, 655,582-17, 282, 86, -22, -109, -109, 40, 496, 496, 496,583496, 496, 496, 496, 496, 496, 496, -109, 496, 87,584405, -25, 57, 67, 496, -109, 496, 90, 90, 70,585655, 40, 69, 496, 638, -109, 655, 655, -109, 655,586-109, 88, 77, 655, -109, -109, 496, 85, 496, 40,58740, 655, -109, 451, -109, 496, 77, -109588};589590/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.591Performed when YYTABLE does not specify something else to do. Zero592means the default is an error. */593static const yytype_uint8 yydefact[] =594{5953, 23, 24, 80, 27, 0, 0, 15, 0, 0,5960, 0, 25, 3, 0, 2, 29, 4, 32, 33,59734, 31, 77, 35, 0, 3, 70, 71, 16, 18,59813, 17, 50, 49, 0, 0, 91, 87, 0, 85,5990, 28, 0, 0, 103, 4, 32, 0, 0, 1,6005, 0, 0, 0, 0, 0, 0, 0, 0, 0,6010, 0, 0, 0, 0, 0, 0, 0, 0, 0,6020, 75, 73, 7, 21, 0, 3, 0, 76, 74,6033, 0, 0, 0, 0, 0, 0, 0, 0, 0,60438, 39, 0, 0, 81, 0, 26, 0, 19, 20,60514, 96, 93, 0, 0, 84, 86, 94, 86, 95,60680, 105, 106, 79, 7, 107, 3, 3, 6, 52,60751, 54, 55, 56, 57, 59, 64, 63, 66, 53,60858, 60, 62, 61, 65, 67, 68, 69, 72, 0,6090, 8, 112, 0, 78, 22, 115, 47, 48, 40,61041, 42, 43, 44, 46, 45, 37, 82, 36, 111,6110, 0, 98, 0, 83, 88, 87, 89, 90, 0,6120, 116, 0, 10, 7, 12, 0, 3, 30, 3,61392, 0, 0, 0, 102, 104, 108, 0, 9, 114,614113, 0, 100, 99, 11, 97, 0, 101615};616617/* YYPGOTO[NTERM-NUM]. */618static const yytype_int8 yypgoto[] =619{620-109, -109, 11, -30, -16, 117, -109, -109, -5, -7,621-109, -109, -80, -109, -109, -109, -108, -109, 32, -109,622-9, -109, -109, -109623};624625/* YYDEFGOTO[NTERM-NUM]. */626static const yytype_int16 yydefgoto[] =627{628-1, 14, 44, 140, 78, 31, 16, 79, 17, 18,629165, 38, 39, 40, 19, 162, 163, 20, 47, 170,63048, 21, 22, 23631};632633/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If634positive, shift that token. If negative, reduce the rule whose635number is the opposite. If YYTABLE_NINF, syntax error. */636static const yytype_int16 yytable[] =637{63826, 27, 94, 32, 33, 37, 46, 115, 45, -109,639116, 15, 28, 117, 117, 181, 97, 106, 46, 174,64073, 74, 75, 76, 77, 93, 167, 73, 168, 24,64194, 41, 93, 49, 29, 111, 112, 159, 178, 98,642107, 175, -109, 117, 30, 118, 119, 120, 121, 122,643123, 124, 125, 126, 127, 128, 129, 130, 131, 132,644133, 134, 135, 136, 137, 138, -109, 143, 141, 46,645115, 30, -110, 25, 192, 50, 147, 148, 149, 150,646151, 152, 153, 154, 155, 108, 95, 156, 197, 96,647158, 146, 182, 183, 100, 94, 94, 161, 160, 101,648164, 166, 102, 166, 105, -110, 110, 142, 109, 141,64946, 144, 70, 34, 71, 72, 73, 145, 74, 75,65076, 77, 157, 177, 179, 184, -85, 171, 185, -110,651191, 71, 72, 73, 173, 74, 75, 76, 77, 1,6522, 3, 4, 194, 187, 94, 99, 35, -86, 172,6530, 0, 0, 5, 6, 7, 0, 0, 0, 0,6540, 8, 9, 0, 10, 186, 11, 12, 13, 141,65536, 188, 0, 0, 0, 161, 0, 0, 193, 0,6560, 0, 0, 103, 0, 0, 195, 0, 189, 161,657190, 51, 52, 53, 54, 55, 56, 57, 0, 0,65858, 59, 60, 0, 0, 0, 0, 0, 0, 0,6590, 0, 0, 0, 0, 0, 61, 62, 63, 64,66065, 66, 67, 68, 69, 0, 70, 0, 71, 72,66173, 0, 74, 75, 76, 77, 0, 0, 80, 104,66281, 82, 83, 84, 85, 86, 87, 0, 0, 0,6630, 0, 0, 0, 88, 89, 0, 0, 0, 90,66491, 80, 0, 81, 82, 83, 84, 85, 86, 87,6650, 92, 0, 0, 0, 0, 0, 88, 89, 0,6660, 0, 90, 91, 0, 0, 73, 176, 0, 0,6670, 93, 0, 0, 92, 51, 52, 53, 54, 55,66856, 57, 0, 0, 58, 59, 60, 0, 0, 114,6690, 0, 0, 0, 93, 0, 0, 0, 169, 0,67061, 62, 63, 64, 65, 66, 67, 68, 69, 0,67170, 0, 71, 72, 73, 0, 74, 75, 76, 77,6721, 2, 3, 4, 0, 0, 0, 0, 0, 0,6730, 0, 0, 0, 5, 6, 7, 0, 0, 0,6740, 139, 8, 9, 0, 10, 0, 11, 12, 13,67551, 52, 53, 54, 55, 56, 57, 0, 0, 58,67659, 60, 0, 0, 0, 0, 0, 0, 0, 0,6770, 0, 0, 0, 0, 61, 62, 63, 64, 65,67866, 67, 68, 69, 0, 70, 0, 71, 72, 73,6790, 74, 75, 76, 77, 0, 0, 113, 51, 52,68053, 54, 55, 56, 57, 0, 0, 58, 59, 60,6810, 0, 0, 0, 0, 0, 0, 0, 0, 0,6820, 0, 0, 61, 62, 63, 64, 65, 66, 67,68368, 69, 0, 70, 0, 71, 72, 73, 0, 74,68475, 76, 77, 180, 51, 52, 53, 54, 55, 56,68557, 0, 0, 58, 59, 60, 0, 0, 0, 0,6860, 0, 0, 0, 0, 0, 196, 0, 0, 61,68762, 63, 64, 65, 66, 67, 68, 69, 0, 70,6880, 71, 72, 73, 0, 74, 75, 76, 77, 51,68952, 53, 54, 55, 56, 57, 0, 0, 58, 59,69060, 0, 0, 0, 0, 0, 0, 0, 0, 0,6910, 0, 0, 0, 61, 62, 63, 64, 65, 66,69267, 68, 69, 0, 70, 0, 71, 72, 73, 0,69374, 75, 76, 77, 53, 54, 55, 56, 57, 0,6940, 58, 59, 60, 0, 0, 0, 0, 0, 0,6950, 0, 0, 0, 0, 0, 0, 0, 62, 63,69664, 65, 66, 67, 68, 69, 0, 70, 0, 71,69772, 73, 0, 74, 75, 76, 77, 58, 59, 60,6980, 0, 0, 0, 0, 0, 0, 0, 0, 0,6990, 0, 58, 59, 60, 0, 64, 65, 66, 67,70068, 69, 0, 70, 0, 71, 72, 73, 0, 74,70175, 76, 77, 66, 67, 68, 69, 0, 70, 0,70271, 72, 73, 0, 74, 75, 76, 77, 1, 2,7033, 4, 0, 0, 0, 0, 0, 0, 0, 42,7040, 0, 5, 6, 7, 1, 2, 3, 4, 0,7058, 9, 43, 10, 0, 11, 12, 13, 0, 5,7066, 7, 1, 2, 3, 4, 139, 8, 9, 0,70710, 0, 11, 12, 13, 0, 5, 6, 7, 0,7080, 0, 0, 0, 8, 9, 0, 10, 0, 11,70912, 13710};711712static const yytype_int16 yycheck[] =713{7145, 6, 18, 8, 9, 10, 13, 1, 13, 3,7153, 0, 27, 36, 36, 40, 25, 35, 25, 36,71652, 54, 55, 56, 57, 57, 106, 52, 108, 55,71746, 29, 57, 0, 49, 42, 43, 60, 60, 27,71858, 58, 36, 36, 59, 50, 51, 52, 53, 54,71955, 56, 57, 58, 59, 60, 61, 62, 63, 64,72065, 66, 67, 68, 69, 70, 60, 76, 73, 76,7211, 59, 3, 56, 182, 35, 81, 82, 83, 84,72285, 86, 87, 88, 89, 35, 37, 92, 196, 29,72395, 80, 35, 36, 59, 111, 112, 104, 103, 58,724105, 106, 58, 108, 36, 36, 29, 29, 58, 114,725117, 29, 48, 1, 50, 51, 52, 54, 54, 55,72656, 57, 29, 37, 37, 58, 36, 116, 58, 60,72742, 50, 51, 52, 139, 54, 55, 56, 57, 27,72828, 29, 30, 58, 174, 161, 29, 35, 36, 117,729-1, -1, -1, 41, 42, 43, -1, -1, -1, -1,730-1, 49, 50, -1, 52, 170, 54, 55, 56, 174,73158, 176, -1, -1, -1, 182, -1, -1, 183, -1,732-1, -1, -1, 5, -1, -1, 191, -1, 177, 196,733179, 13, 14, 15, 16, 17, 18, 19, -1, -1,73422, 23, 24, -1, -1, -1, -1, -1, -1, -1,735-1, -1, -1, -1, -1, -1, 38, 39, 40, 41,73642, 43, 44, 45, 46, -1, 48, -1, 50, 51,73752, -1, 54, 55, 56, 57, -1, -1, 4, 61,7386, 7, 8, 9, 10, 11, 12, -1, -1, -1,739-1, -1, -1, -1, 20, 21, -1, -1, -1, 25,74026, 4, -1, 6, 7, 8, 9, 10, 11, 12,741-1, 37, -1, -1, -1, -1, -1, 20, 21, -1,742-1, -1, 25, 26, -1, -1, 52, 5, -1, -1,743-1, 57, -1, -1, 37, 13, 14, 15, 16, 17,74418, 19, -1, -1, 22, 23, 24, -1, -1, 52,745-1, -1, -1, -1, 57, -1, -1, -1, 5, -1,74638, 39, 40, 41, 42, 43, 44, 45, 46, -1,74748, -1, 50, 51, 52, -1, 54, 55, 56, 57,74827, 28, 29, 30, -1, -1, -1, -1, -1, -1,749-1, -1, -1, -1, 41, 42, 43, -1, -1, -1,750-1, 48, 49, 50, -1, 52, -1, 54, 55, 56,75113, 14, 15, 16, 17, 18, 19, -1, -1, 22,75223, 24, -1, -1, -1, -1, -1, -1, -1, -1,753-1, -1, -1, -1, -1, 38, 39, 40, 41, 42,75443, 44, 45, 46, -1, 48, -1, 50, 51, 52,755-1, 54, 55, 56, 57, -1, -1, 60, 13, 14,75615, 16, 17, 18, 19, -1, -1, 22, 23, 24,757-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,758-1, -1, -1, 38, 39, 40, 41, 42, 43, 44,75945, 46, -1, 48, -1, 50, 51, 52, -1, 54,76055, 56, 57, 58, 13, 14, 15, 16, 17, 18,76119, -1, -1, 22, 23, 24, -1, -1, -1, -1,762-1, -1, -1, -1, -1, -1, 35, -1, -1, 38,76339, 40, 41, 42, 43, 44, 45, 46, -1, 48,764-1, 50, 51, 52, -1, 54, 55, 56, 57, 13,76514, 15, 16, 17, 18, 19, -1, -1, 22, 23,76624, -1, -1, -1, -1, -1, -1, -1, -1, -1,767-1, -1, -1, -1, 38, 39, 40, 41, 42, 43,76844, 45, 46, -1, 48, -1, 50, 51, 52, -1,76954, 55, 56, 57, 15, 16, 17, 18, 19, -1,770-1, 22, 23, 24, -1, -1, -1, -1, -1, -1,771-1, -1, -1, -1, -1, -1, -1, -1, 39, 40,77241, 42, 43, 44, 45, 46, -1, 48, -1, 50,77351, 52, -1, 54, 55, 56, 57, 22, 23, 24,774-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,775-1, -1, 22, 23, 24, -1, 41, 42, 43, 44,77645, 46, -1, 48, -1, 50, 51, 52, -1, 54,77755, 56, 57, 43, 44, 45, 46, -1, 48, -1,77850, 51, 52, -1, 54, 55, 56, 57, 27, 28,77929, 30, -1, -1, -1, -1, -1, -1, -1, 38,780-1, -1, 41, 42, 43, 27, 28, 29, 30, -1,78149, 50, 51, 52, -1, 54, 55, 56, -1, 41,78242, 43, 27, 28, 29, 30, 48, 49, 50, -1,78352, -1, 54, 55, 56, -1, 41, 42, 43, -1,784-1, -1, -1, -1, 49, 50, -1, 52, -1, 54,78555, 56786};787788/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing789symbol of state STATE-NUM. */790static const yytype_uint8 yystos[] =791{7920, 27, 28, 29, 30, 41, 42, 43, 49, 50,79352, 54, 55, 56, 63, 64, 68, 70, 71, 76,79479, 83, 84, 85, 55, 56, 70, 70, 27, 49,79559, 67, 70, 70, 1, 35, 58, 70, 73, 74,79675, 29, 38, 51, 64, 70, 71, 80, 82, 0,79735, 13, 14, 15, 16, 17, 18, 19, 22, 23,79824, 38, 39, 40, 41, 42, 43, 44, 45, 46,79948, 50, 51, 52, 54, 55, 56, 57, 66, 69,8004, 6, 7, 8, 9, 10, 11, 12, 20, 21,80125, 26, 37, 57, 66, 37, 29, 82, 27, 67,80259, 58, 58, 5, 61, 36, 35, 58, 35, 58,80329, 71, 71, 60, 52, 1, 3, 36, 70, 70,80470, 70, 70, 70, 70, 70, 70, 70, 70, 70,80570, 70, 70, 70, 70, 70, 70, 70, 70, 48,80665, 70, 29, 82, 29, 54, 64, 70, 70, 70,80770, 70, 70, 70, 70, 70, 70, 29, 70, 60,80870, 71, 77, 78, 70, 72, 70, 74, 74, 5,80981, 64, 80, 70, 36, 58, 5, 37, 60, 37,81058, 40, 35, 36, 58, 58, 70, 65, 70, 64,81164, 42, 78, 70, 58, 70, 35, 78812};813814/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */815static const yytype_uint8 yyr1[] =816{8170, 62, 63, 64, 64, 64, 64, 65, 65, 65,81865, 66, 66, 67, 67, 68, 68, 68, 68, 68,81968, 69, 69, 70, 70, 70, 70, 70, 70, 70,82070, 70, 70, 70, 70, 70, 70, 70, 70, 70,82170, 70, 70, 70, 70, 70, 70, 70, 70, 70,82270, 70, 70, 70, 70, 70, 70, 70, 70, 70,82370, 70, 70, 70, 70, 70, 70, 70, 70, 70,82470, 70, 70, 70, 70, 70, 70, 70, 70, 70,82571, 71, 71, 72, 72, 73, 73, 74, 74, 75,82675, 76, 76, 76, 76, 76, 76, 77, 78, 78,82778, 78, 79, 80, 80, 80, 80, 81, 80, 82,82882, 83, 84, 85, 85, 85, 85829};830831/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */832static const yytype_uint8 yyr2[] =833{8340, 2, 1, 0, 1, 2, 3, 0, 1, 3,8352, 5, 3, 1, 2, 1, 2, 2, 2, 3,8363, 1, 2, 1, 1, 1, 3, 1, 2, 1,8374, 1, 1, 1, 1, 1, 3, 3, 2, 2,8383, 3, 3, 3, 3, 3, 3, 3, 3, 2,8392, 3, 3, 3, 3, 3, 3, 3, 3, 3,8403, 3, 3, 3, 3, 3, 3, 3, 3, 3,8412, 2, 3, 2, 2, 2, 2, 1, 3, 3,8421, 2, 3, 1, 0, 1, 0, 1, 3, 3,8433, 2, 5, 3, 3, 3, 3, 4, 1, 3,8443, 5, 5, 1, 4, 2, 2, 0, 4, 1,8453, 4, 3, 6, 5, 3, 4846};847848849#define yyerrok (yyerrstatus = 0)850#define yyclearin (yychar = YYEMPTY)851#define YYEMPTY (-2)852#define YYEOF 0853854#define YYACCEPT goto yyacceptlab855#define YYABORT goto yyabortlab856#define YYERROR goto yyerrorlab857858859#define YYRECOVERING() (!!yyerrstatus)860861#define YYBACKUP(Token, Value) \862do \863if (yychar == YYEMPTY) \864{ \865yychar = (Token); \866yylval = (Value); \867YYPOPSTACK (yylen); \868yystate = *yyssp; \869goto yybackup; \870} \871else \872{ \873yyerror (&yylloc, lex, YY_("syntax error: cannot back up")); \874YYERROR; \875} \876while (0)877878/* Error token number */879#define YYTERROR 1880#define YYERRCODE 256881882883/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].884If N is 0, then set CURRENT to the empty location which ends885the previous symbol: RHS[0] (always defined). */886887#ifndef YYLLOC_DEFAULT888# define YYLLOC_DEFAULT(Current, Rhs, N) \889do \890if (N) \891{ \892(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \893(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \894(Current).last_line = YYRHSLOC (Rhs, N).last_line; \895(Current).last_column = YYRHSLOC (Rhs, N).last_column; \896} \897else \898{ \899(Current).first_line = (Current).last_line = \900YYRHSLOC (Rhs, 0).last_line; \901(Current).first_column = (Current).last_column = \902YYRHSLOC (Rhs, 0).last_column; \903} \904while (0)905#endif906907#define YYRHSLOC(Rhs, K) ((Rhs)[K])908909910/* Enable debugging if requested. */911#if PARI_DEBUG912913# ifndef YYFPRINTF914# include <stdio.h> /* INFRINGES ON USER NAME SPACE */915# define YYFPRINTF fprintf916# endif917918# define YYDPRINTF(Args) \919do { \920if (yydebug) \921YYFPRINTF Args; \922} while (0)923924925/* YY_LOCATION_PRINT -- Print the location on the stream.926This macro was not mandated originally: define only if we know927we won't break user code: when these are the locations we know. */928929#ifndef YY_LOCATION_PRINT930# if defined PARI_LTYPE_IS_TRIVIAL && PARI_LTYPE_IS_TRIVIAL931932/* Print *YYLOCP on YYO. Private, do not rely on its existence. */933934YY_ATTRIBUTE_UNUSED935static int936yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)937{938int res = 0;939int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;940if (0 <= yylocp->first_line)941{942res += YYFPRINTF (yyo, "%d", yylocp->first_line);943if (0 <= yylocp->first_column)944res += YYFPRINTF (yyo, ".%d", yylocp->first_column);945}946if (0 <= yylocp->last_line)947{948if (yylocp->first_line < yylocp->last_line)949{950res += YYFPRINTF (yyo, "-%d", yylocp->last_line);951if (0 <= end_col)952res += YYFPRINTF (yyo, ".%d", end_col);953}954else if (0 <= end_col && yylocp->first_column < end_col)955res += YYFPRINTF (yyo, "-%d", end_col);956}957return res;958}959960# define YY_LOCATION_PRINT(File, Loc) \961yy_location_print_ (File, &(Loc))962963# else964# define YY_LOCATION_PRINT(File, Loc) ((void) 0)965# endif966#endif967968969# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \970do { \971if (yydebug) \972{ \973YYFPRINTF (stderr, "%s ", Title); \974yy_symbol_print (stderr, \975Type, Value, Location, lex); \976YYFPRINTF (stderr, "\n"); \977} \978} while (0)979980981/*-----------------------------------.982| Print this symbol's value on YYO. |983`-----------------------------------*/984985static void986yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, char **lex)987{988FILE *yyoutput = yyo;989YYUSE (yyoutput);990YYUSE (yylocationp);991YYUSE (lex);992if (!yyvaluep)993return;994# ifdef YYPRINT995if (yytype < YYNTOKENS)996YYPRINT (yyo, yytoknum[yytype], *yyvaluep);997# endif998YYUSE (yytype);999}100010011002/*---------------------------.1003| Print this symbol on YYO. |1004`---------------------------*/10051006static void1007yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, char **lex)1008{1009YYFPRINTF (yyo, "%s %s (",1010yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);10111012YY_LOCATION_PRINT (yyo, *yylocationp);1013YYFPRINTF (yyo, ": ");1014yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, lex);1015YYFPRINTF (yyo, ")");1016}10171018/*------------------------------------------------------------------.1019| yy_stack_print -- Print the state stack from its BOTTOM up to its |1020| TOP (included). |1021`------------------------------------------------------------------*/10221023static void1024yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)1025{1026YYFPRINTF (stderr, "Stack now");1027for (; yybottom <= yytop; yybottom++)1028{1029int yybot = *yybottom;1030YYFPRINTF (stderr, " %d", yybot);1031}1032YYFPRINTF (stderr, "\n");1033}10341035# define YY_STACK_PRINT(Bottom, Top) \1036do { \1037if (yydebug) \1038yy_stack_print ((Bottom), (Top)); \1039} while (0)104010411042/*------------------------------------------------.1043| Report that the YYRULE is going to be reduced. |1044`------------------------------------------------*/10451046static void1047yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, char **lex)1048{1049unsigned long yylno = yyrline[yyrule];1050int yynrhs = yyr2[yyrule];1051int yyi;1052YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",1053yyrule - 1, yylno);1054/* The symbols being reduced. */1055for (yyi = 0; yyi < yynrhs; yyi++)1056{1057YYFPRINTF (stderr, " $%d = ", yyi + 1);1058yy_symbol_print (stderr,1059yystos[yyssp[yyi + 1 - yynrhs]],1060&yyvsp[(yyi + 1) - (yynrhs)]1061, &(yylsp[(yyi + 1) - (yynrhs)]) , lex);1062YYFPRINTF (stderr, "\n");1063}1064}10651066# define YY_REDUCE_PRINT(Rule) \1067do { \1068if (yydebug) \1069yy_reduce_print (yyssp, yyvsp, yylsp, Rule, lex); \1070} while (0)10711072/* Nonzero means print parse trace. It is left uninitialized so that1073multiple parsers can coexist. */1074int yydebug;1075#else /* !PARI_DEBUG */1076# define YYDPRINTF(Args)1077# define YY_SYMBOL_PRINT(Title, Type, Value, Location)1078# define YY_STACK_PRINT(Bottom, Top)1079# define YY_REDUCE_PRINT(Rule)1080#endif /* !PARI_DEBUG */108110821083/* YYINITDEPTH -- initial size of the parser's stacks. */1084#ifndef YYINITDEPTH1085# define YYINITDEPTH 2001086#endif10871088/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only1089if the built-in stack extension method is used).10901091Do not make this value too large; the results are undefined if1092YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)1093evaluated with infinite-precision integer arithmetic. */10941095#ifndef YYMAXDEPTH1096# define YYMAXDEPTH 100001097#endif109810991100#if YYERROR_VERBOSE11011102# ifndef yystrlen1103# if defined __GLIBC__ && defined _STRING_H1104# define yystrlen strlen1105# else1106/* Return the length of YYSTR. */1107static YYSIZE_T1108yystrlen (const char *yystr)1109{1110YYSIZE_T yylen;1111for (yylen = 0; yystr[yylen]; yylen++)1112continue;1113return yylen;1114}1115# endif1116# endif11171118# ifndef yystpcpy1119# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE1120# define yystpcpy stpcpy1121# else1122/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in1123YYDEST. */1124static char *1125yystpcpy (char *yydest, const char *yysrc)1126{1127char *yyd = yydest;1128const char *yys = yysrc;11291130while ((*yyd++ = *yys++) != '\0')1131continue;11321133return yyd - 1;1134}1135# endif1136# endif11371138# ifndef yytnamerr1139/* Copy to YYRES the contents of YYSTR after stripping away unnecessary1140quotes and backslashes, so that it's suitable for yyerror. The1141heuristic is that double-quoting is unnecessary unless the string1142contains an apostrophe, a comma, or backslash (other than1143backslash-backslash). YYSTR is taken from yytname. If YYRES is1144null, do not copy; instead, return the length of what the result1145would have been. */1146static YYSIZE_T1147yytnamerr (char *yyres, const char *yystr)1148{1149if (*yystr == '"')1150{1151YYSIZE_T yyn = 0;1152char const *yyp = yystr;11531154for (;;)1155switch (*++yyp)1156{1157case '\'':1158case ',':1159goto do_not_strip_quotes;11601161case '\\':1162if (*++yyp != '\\')1163goto do_not_strip_quotes;1164else1165goto append;11661167append:1168default:1169if (yyres)1170yyres[yyn] = *yyp;1171yyn++;1172break;11731174case '"':1175if (yyres)1176yyres[yyn] = '\0';1177return yyn;1178}1179do_not_strip_quotes: ;1180}11811182if (! yyres)1183return yystrlen (yystr);11841185return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);1186}1187# endif11881189/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message1190about the unexpected token YYTOKEN for the state stack whose top is1191YYSSP.11921193Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is1194not large enough to hold the message. In that case, also set1195*YYMSG_ALLOC to the required number of bytes. Return 2 if the1196required number of bytes is too large to store. */1197static int1198yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,1199yytype_int16 *yyssp, int yytoken)1200{1201YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);1202YYSIZE_T yysize = yysize0;1203enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };1204/* Internationalized format string. */1205const char *yyformat = YY_NULLPTR;1206/* Arguments of yyformat. */1207char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];1208/* Number of reported tokens (one for the "unexpected", one per1209"expected"). */1210int yycount = 0;12111212/* There are many possibilities here to consider:1213- If this state is a consistent state with a default action, then1214the only way this function was invoked is if the default action1215is an error action. In that case, don't check for expected1216tokens because there are none.1217- The only way there can be no lookahead present (in yychar) is if1218this state is a consistent state with a default action. Thus,1219detecting the absence of a lookahead is sufficient to determine1220that there is no unexpected or expected token to report. In that1221case, just report a simple "syntax error".1222- Don't assume there isn't a lookahead just because this state is a1223consistent state with a default action. There might have been a1224previous inconsistent state, consistent state with a non-default1225action, or user semantic action that manipulated yychar.1226- Of course, the expected token list depends on states to have1227correct lookahead information, and it depends on the parser not1228to perform extra reductions after fetching a lookahead from the1229scanner and before detecting a syntax error. Thus, state merging1230(from LALR or IELR) and default reductions corrupt the expected1231token list. However, the list is correct for canonical LR with1232one exception: it will still contain any token that will not be1233accepted due to an error action in a later state.1234*/1235if (yytoken != YYEMPTY)1236{1237int yyn = yypact[*yyssp];1238yyarg[yycount++] = yytname[yytoken];1239if (!yypact_value_is_default (yyn))1240{1241/* Start YYX at -YYN if negative to avoid negative indexes in1242YYCHECK. In other words, skip the first -YYN actions for1243this state because they are default actions. */1244int yyxbegin = yyn < 0 ? -yyn : 0;1245/* Stay within bounds of both yycheck and yytname. */1246int yychecklim = YYLAST - yyn + 1;1247int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;1248int yyx;12491250for (yyx = yyxbegin; yyx < yyxend; ++yyx)1251if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR1252&& !yytable_value_is_error (yytable[yyx + yyn]))1253{1254if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)1255{1256yycount = 1;1257yysize = yysize0;1258break;1259}1260yyarg[yycount++] = yytname[yyx];1261{1262YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);1263if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)1264yysize = yysize1;1265else1266return 2;1267}1268}1269}1270}12711272switch (yycount)1273{1274# define YYCASE_(N, S) \1275case N: \1276yyformat = S; \1277break1278default: /* Avoid compiler warnings. */1279YYCASE_(0, YY_("syntax error"));1280YYCASE_(1, YY_("syntax error, unexpected %s"));1281YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));1282YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));1283YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));1284YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));1285# undef YYCASE_1286}12871288{1289YYSIZE_T yysize1 = yysize + yystrlen (yyformat);1290if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)1291yysize = yysize1;1292else1293return 2;1294}12951296if (*yymsg_alloc < yysize)1297{1298*yymsg_alloc = 2 * yysize;1299if (! (yysize <= *yymsg_alloc1300&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))1301*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;1302return 1;1303}13041305/* Avoid sprintf, as that infringes on the user's name space.1306Don't have undefined behavior even if the translation1307produced a string with the wrong number of "%s"s. */1308{1309char *yyp = *yymsg;1310int yyi = 0;1311while ((*yyp = *yyformat) != '\0')1312if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)1313{1314yyp += yytnamerr (yyp, yyarg[yyi++]);1315yyformat += 2;1316}1317else1318{1319yyp++;1320yyformat++;1321}1322}1323return 0;1324}1325#endif /* YYERROR_VERBOSE */13261327/*-----------------------------------------------.1328| Release the memory associated to this symbol. |1329`-----------------------------------------------*/13301331static void1332yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, char **lex)1333{1334YYUSE (yyvaluep);1335YYUSE (yylocationp);1336YYUSE (lex);1337if (!yymsg)1338yymsg = "Deleting";1339YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);13401341YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN1342switch (yytype)1343{1344case 64: /* seq */1345#line 87 "../src/language/parse.y" /* yacc.c:1257 */1346{ pari_discarded++; }1347#line 1349 "../src/language/parse.c" /* yacc.c:1257 */1348break;13491350case 65: /* range */1351#line 87 "../src/language/parse.y" /* yacc.c:1257 */1352{ pari_discarded++; }1353#line 1355 "../src/language/parse.c" /* yacc.c:1257 */1354break;13551356case 66: /* matrix_index */1357#line 87 "../src/language/parse.y" /* yacc.c:1257 */1358{ pari_discarded++; }1359#line 1361 "../src/language/parse.c" /* yacc.c:1257 */1360break;13611362case 67: /* backticks */1363#line 87 "../src/language/parse.y" /* yacc.c:1257 */1364{ pari_discarded++; }1365#line 1367 "../src/language/parse.c" /* yacc.c:1257 */1366break;13671368case 68: /* history */1369#line 87 "../src/language/parse.y" /* yacc.c:1257 */1370{ pari_discarded++; }1371#line 1373 "../src/language/parse.c" /* yacc.c:1257 */1372break;13731374case 69: /* deriv */1375#line 87 "../src/language/parse.y" /* yacc.c:1257 */1376{ pari_discarded++; }1377#line 1379 "../src/language/parse.c" /* yacc.c:1257 */1378break;13791380case 70: /* expr */1381#line 87 "../src/language/parse.y" /* yacc.c:1257 */1382{ pari_discarded++; }1383#line 1385 "../src/language/parse.c" /* yacc.c:1257 */1384break;13851386case 71: /* lvalue */1387#line 87 "../src/language/parse.y" /* yacc.c:1257 */1388{ pari_discarded++; }1389#line 1391 "../src/language/parse.c" /* yacc.c:1257 */1390break;13911392case 72: /* exprno */1393#line 87 "../src/language/parse.y" /* yacc.c:1257 */1394{ pari_discarded++; }1395#line 1397 "../src/language/parse.c" /* yacc.c:1257 */1396break;13971398case 73: /* matrixeltsno */1399#line 87 "../src/language/parse.y" /* yacc.c:1257 */1400{ pari_discarded++; }1401#line 1403 "../src/language/parse.c" /* yacc.c:1257 */1402break;14031404case 74: /* matrixelts */1405#line 87 "../src/language/parse.y" /* yacc.c:1257 */1406{ pari_discarded++; }1407#line 1409 "../src/language/parse.c" /* yacc.c:1257 */1408break;14091410case 75: /* matrixlines */1411#line 87 "../src/language/parse.y" /* yacc.c:1257 */1412{ pari_discarded++; }1413#line 1415 "../src/language/parse.c" /* yacc.c:1257 */1414break;14151416case 76: /* matrix */1417#line 87 "../src/language/parse.y" /* yacc.c:1257 */1418{ pari_discarded++; }1419#line 1421 "../src/language/parse.c" /* yacc.c:1257 */1420break;14211422case 77: /* in */1423#line 87 "../src/language/parse.y" /* yacc.c:1257 */1424{ pari_discarded++; }1425#line 1427 "../src/language/parse.c" /* yacc.c:1257 */1426break;14271428case 78: /* inseq */1429#line 87 "../src/language/parse.y" /* yacc.c:1257 */1430{ pari_discarded++; }1431#line 1433 "../src/language/parse.c" /* yacc.c:1257 */1432break;14331434case 79: /* compr */1435#line 87 "../src/language/parse.y" /* yacc.c:1257 */1436{ pari_discarded++; }1437#line 1439 "../src/language/parse.c" /* yacc.c:1257 */1438break;14391440case 80: /* arg */1441#line 87 "../src/language/parse.y" /* yacc.c:1257 */1442{ pari_discarded++; }1443#line 1445 "../src/language/parse.c" /* yacc.c:1257 */1444break;14451446case 82: /* listarg */1447#line 87 "../src/language/parse.y" /* yacc.c:1257 */1448{ pari_discarded++; }1449#line 1451 "../src/language/parse.c" /* yacc.c:1257 */1450break;14511452case 83: /* funcid */1453#line 87 "../src/language/parse.y" /* yacc.c:1257 */1454{ pari_discarded++; }1455#line 1457 "../src/language/parse.c" /* yacc.c:1257 */1456break;14571458case 84: /* memberid */1459#line 87 "../src/language/parse.y" /* yacc.c:1257 */1460{ pari_discarded++; }1461#line 1463 "../src/language/parse.c" /* yacc.c:1257 */1462break;14631464case 85: /* definition */1465#line 87 "../src/language/parse.y" /* yacc.c:1257 */1466{ pari_discarded++; }1467#line 1469 "../src/language/parse.c" /* yacc.c:1257 */1468break;14691470default:1471break;1472}1473YY_IGNORE_MAYBE_UNINITIALIZED_END1474}14751476147714781479/*----------.1480| yyparse. |1481`----------*/14821483int1484yyparse (char **lex)1485{1486/* The lookahead symbol. */1487int yychar;148814891490/* The semantic value of the lookahead symbol. */1491/* Default value used for initialization, for pacifying older GCCs1492or non-GCC compilers. */1493YY_INITIAL_VALUE (static YYSTYPE yyval_default;)1494YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);14951496/* Location data for the lookahead symbol. */1497static YYLTYPE yyloc_default1498# if defined PARI_LTYPE_IS_TRIVIAL && PARI_LTYPE_IS_TRIVIAL1499= { 1, 1, 1, 1 }1500# endif1501;1502YYLTYPE yylloc = yyloc_default;15031504/* Number of syntax errors so far. */1505int yynerrs;15061507int yystate;1508/* Number of tokens to shift before error messages enabled. */1509int yyerrstatus;15101511/* The stacks and their tools:1512'yyss': related to states.1513'yyvs': related to semantic values.1514'yyls': related to locations.15151516Refer to the stacks through separate pointers, to allow yyoverflow1517to reallocate them elsewhere. */15181519/* The state stack. */1520yytype_int16 yyssa[YYINITDEPTH];1521yytype_int16 *yyss;1522yytype_int16 *yyssp;15231524/* The semantic value stack. */1525YYSTYPE yyvsa[YYINITDEPTH];1526YYSTYPE *yyvs;1527YYSTYPE *yyvsp;15281529/* The location stack. */1530YYLTYPE yylsa[YYINITDEPTH];1531YYLTYPE *yyls;1532YYLTYPE *yylsp;15331534/* The locations where the error started and ended. */1535YYLTYPE yyerror_range[3];15361537YYSIZE_T yystacksize;15381539int yyn;1540int yyresult;1541/* Lookahead token as an internal (translated) token number. */1542int yytoken = 0;1543/* The variables used to return semantic value and location from the1544action routines. */1545YYSTYPE yyval;1546YYLTYPE yyloc;15471548#if YYERROR_VERBOSE1549/* Buffer for error messages, and its allocated size. */1550char yymsgbuf[128];1551char *yymsg = yymsgbuf;1552YYSIZE_T yymsg_alloc = sizeof yymsgbuf;1553#endif15541555#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))15561557/* The number of symbols on the RHS of the reduced rule.1558Keep to zero when no symbol should be popped. */1559int yylen = 0;15601561yyssp = yyss = yyssa;1562yyvsp = yyvs = yyvsa;1563yylsp = yyls = yylsa;1564yystacksize = YYINITDEPTH;15651566YYDPRINTF ((stderr, "Starting parse\n"));15671568yystate = 0;1569yyerrstatus = 0;1570yynerrs = 0;1571yychar = YYEMPTY; /* Cause a token to be read. */15721573/* User initialization code. */1574#line 33 "../src/language/parse.y" /* yacc.c:1431 */1575{ yylloc.start=yylloc.end=*lex; }15761577#line 1579 "../src/language/parse.c" /* yacc.c:1431 */1578yylsp[0] = yylloc;1579goto yysetstate;158015811582/*------------------------------------------------------------.1583| yynewstate -- push a new state, which is found in yystate. |1584`------------------------------------------------------------*/1585yynewstate:1586/* In all cases, when you get here, the value and location stacks1587have just been pushed. So pushing a state here evens the stacks. */1588yyssp++;158915901591/*--------------------------------------------------------------------.1592| yynewstate -- set current state (the top of the stack) to yystate. |1593`--------------------------------------------------------------------*/1594yysetstate:1595*yyssp = (yytype_int16) yystate;15961597if (yyss + yystacksize - 1 <= yyssp)1598#if !defined yyoverflow && !defined YYSTACK_RELOCATE1599goto yyexhaustedlab;1600#else1601{1602/* Get the current used size of the three stacks, in elements. */1603YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);16041605# if defined yyoverflow1606{1607/* Give user a chance to reallocate the stack. Use copies of1608these so that the &'s don't force the real ones into1609memory. */1610YYSTYPE *yyvs1 = yyvs;1611yytype_int16 *yyss1 = yyss;1612YYLTYPE *yyls1 = yyls;16131614/* Each stack pointer address is followed by the size of the1615data in use in that stack, in bytes. This used to be a1616conditional around just the two extra args, but that might1617be undefined if yyoverflow is a macro. */1618yyoverflow (YY_("memory exhausted"),1619&yyss1, yysize * sizeof (*yyssp),1620&yyvs1, yysize * sizeof (*yyvsp),1621&yyls1, yysize * sizeof (*yylsp),1622&yystacksize);1623yyss = yyss1;1624yyvs = yyvs1;1625yyls = yyls1;1626}1627# else /* defined YYSTACK_RELOCATE */1628/* Extend the stack our own way. */1629if (YYMAXDEPTH <= yystacksize)1630goto yyexhaustedlab;1631yystacksize *= 2;1632if (YYMAXDEPTH < yystacksize)1633yystacksize = YYMAXDEPTH;16341635{1636yytype_int16 *yyss1 = yyss;1637union yyalloc *yyptr =1638(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));1639if (! yyptr)1640goto yyexhaustedlab;1641YYSTACK_RELOCATE (yyss_alloc, yyss);1642YYSTACK_RELOCATE (yyvs_alloc, yyvs);1643YYSTACK_RELOCATE (yyls_alloc, yyls);1644# undef YYSTACK_RELOCATE1645if (yyss1 != yyssa)1646YYSTACK_FREE (yyss1);1647}1648# endif16491650yyssp = yyss + yysize - 1;1651yyvsp = yyvs + yysize - 1;1652yylsp = yyls + yysize - 1;16531654YYDPRINTF ((stderr, "Stack size increased to %lu\n",1655(unsigned long) yystacksize));16561657if (yyss + yystacksize - 1 <= yyssp)1658YYABORT;1659}1660#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */16611662YYDPRINTF ((stderr, "Entering state %d\n", yystate));16631664if (yystate == YYFINAL)1665YYACCEPT;16661667goto yybackup;166816691670/*-----------.1671| yybackup. |1672`-----------*/1673yybackup:1674/* Do appropriate processing given the current state. Read a1675lookahead token if we need one and don't already have one. */16761677/* First try to decide what to do without reference to lookahead token. */1678yyn = yypact[yystate];1679if (yypact_value_is_default (yyn))1680goto yydefault;16811682/* Not known => get a lookahead token if don't already have one. */16831684/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */1685if (yychar == YYEMPTY)1686{1687YYDPRINTF ((stderr, "Reading a token: "));1688yychar = yylex (&yylval, &yylloc, lex);1689}16901691if (yychar <= YYEOF)1692{1693yychar = yytoken = YYEOF;1694YYDPRINTF ((stderr, "Now at end of input.\n"));1695}1696else1697{1698yytoken = YYTRANSLATE (yychar);1699YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);1700}17011702/* If the proper action on seeing token YYTOKEN is to reduce or to1703detect an error, take that action. */1704yyn += yytoken;1705if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)1706goto yydefault;1707yyn = yytable[yyn];1708if (yyn <= 0)1709{1710if (yytable_value_is_error (yyn))1711goto yyerrlab;1712yyn = -yyn;1713goto yyreduce;1714}17151716/* Count tokens shifted since error; after three, turn off error1717status. */1718if (yyerrstatus)1719yyerrstatus--;17201721/* Shift the lookahead token. */1722YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);17231724/* Discard the shifted token. */1725yychar = YYEMPTY;17261727yystate = yyn;1728YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN1729*++yyvsp = yylval;1730YY_IGNORE_MAYBE_UNINITIALIZED_END1731*++yylsp = yylloc;1732goto yynewstate;173317341735/*-----------------------------------------------------------.1736| yydefault -- do the default action for the current state. |1737`-----------------------------------------------------------*/1738yydefault:1739yyn = yydefact[yystate];1740if (yyn == 0)1741goto yyerrlab;1742goto yyreduce;174317441745/*-----------------------------.1746| yyreduce -- do a reduction. |1747`-----------------------------*/1748yyreduce:1749/* yyn is the number of a rule to reduce with. */1750yylen = yyr2[yyn];17511752/* If YYLEN is nonzero, implement the default value of the action:1753'$$ = $1'.17541755Otherwise, the following line sets YYVAL to garbage.1756This behavior is undocumented and Bison1757users should not rely upon it. Assigning to YYVAL1758unconditionally makes the parser a bit smaller, and it avoids a1759GCC warning that YYVAL may be used uninitialized. */1760yyval = yyvsp[1-yylen];17611762/* Default location. */1763YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);1764yyerror_range[1] = yyloc;1765YY_REDUCE_PRINT (yyn);1766switch (yyn)1767{1768case 2:1769#line 90 "../src/language/parse.y" /* yacc.c:1652 */1770{(yyval.val)=(yyvsp[0].val);}1771#line 1773 "../src/language/parse.c" /* yacc.c:1652 */1772break;17731774case 3:1775#line 93 "../src/language/parse.y" /* yacc.c:1652 */1776{(yyval.val)=NOARG((yyloc));}1777#line 1779 "../src/language/parse.c" /* yacc.c:1652 */1778break;17791780case 4:1781#line 94 "../src/language/parse.y" /* yacc.c:1652 */1782{(yyval.val)=(yyvsp[0].val);}1783#line 1785 "../src/language/parse.c" /* yacc.c:1652 */1784break;17851786case 5:1787#line 95 "../src/language/parse.y" /* yacc.c:1652 */1788{(yyval.val)=(yyvsp[-1].val); (yyloc)=(yylsp[-1]);}1789#line 1791 "../src/language/parse.c" /* yacc.c:1652 */1790break;17911792case 6:1793#line 96 "../src/language/parse.y" /* yacc.c:1652 */1794{(yyval.val)=newnode(Fseq,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}1795#line 1797 "../src/language/parse.c" /* yacc.c:1652 */1796break;17971798case 7:1799#line 99 "../src/language/parse.y" /* yacc.c:1652 */1800{ (yyval.val)=newnode(Frange,NORANGE((yyloc)),NORANGE((yyloc)),&(yyloc)); }1801#line 1803 "../src/language/parse.c" /* yacc.c:1652 */1802break;18031804case 8:1805#line 100 "../src/language/parse.y" /* yacc.c:1652 */1806{ (yyval.val)=newnode(Frange,(yyvsp[0].val),NORANGE((yyloc)),&(yyloc)); }1807#line 1809 "../src/language/parse.c" /* yacc.c:1652 */1808break;18091810case 9:1811#line 101 "../src/language/parse.y" /* yacc.c:1652 */1812{ (yyval.val)=newnode(Frange,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc)); }1813#line 1815 "../src/language/parse.c" /* yacc.c:1652 */1814break;18151816case 10:1817#line 102 "../src/language/parse.y" /* yacc.c:1652 */1818{ (yyval.val)=newnode(Frange,NORANGE((yyloc)),(yyvsp[0].val),&(yyloc)); }1819#line 1821 "../src/language/parse.c" /* yacc.c:1652 */1820break;18211822case 11:1823#line 105 "../src/language/parse.y" /* yacc.c:1652 */1824{(yyval.val)=newnode(Fmatrix,(yyvsp[-3].val),(yyvsp[-1].val),&(yyloc));}1825#line 1827 "../src/language/parse.c" /* yacc.c:1652 */1826break;18271828case 12:1829#line 106 "../src/language/parse.y" /* yacc.c:1652 */1830{(yyval.val)=newnode(Fmatrix,(yyvsp[-1].val),-1,&(yyloc));}1831#line 1833 "../src/language/parse.c" /* yacc.c:1652 */1832break;18331834case 13:1835#line 109 "../src/language/parse.y" /* yacc.c:1652 */1836{(yyval.val)=1;}1837#line 1839 "../src/language/parse.c" /* yacc.c:1652 */1838break;18391840case 14:1841#line 110 "../src/language/parse.y" /* yacc.c:1652 */1842{(yyval.val)=(yyvsp[-1].val)+1;}1843#line 1845 "../src/language/parse.c" /* yacc.c:1652 */1844break;18451846case 15:1847#line 113 "../src/language/parse.y" /* yacc.c:1652 */1848{(yyval.val)=newopcall(OPhist,-1,-1,&(yyloc));}1849#line 1851 "../src/language/parse.c" /* yacc.c:1652 */1850break;18511852case 16:1853#line 114 "../src/language/parse.y" /* yacc.c:1652 */1854{(yyval.val)=newopcall(OPhist,newintnode(&(yylsp[0])),-1,&(yyloc));}1855#line 1857 "../src/language/parse.c" /* yacc.c:1652 */1856break;18571858case 17:1859#line 115 "../src/language/parse.y" /* yacc.c:1652 */1860{(yyval.val)=newopcall(OPhist,newnode(Fsmall,-(yyvsp[0].val),-1,&(yyloc)),-1,&(yyloc));}1861#line 1863 "../src/language/parse.c" /* yacc.c:1652 */1862break;18631864case 18:1865#line 116 "../src/language/parse.y" /* yacc.c:1652 */1866{(yyval.val)=newopcall(OPhisttime,-1,-1,&(yyloc));}1867#line 1869 "../src/language/parse.c" /* yacc.c:1652 */1868break;18691870case 19:1871#line 117 "../src/language/parse.y" /* yacc.c:1652 */1872{(yyval.val)=newopcall(OPhisttime,newintnode(&(yylsp[0])),-1,&(yyloc));}1873#line 1875 "../src/language/parse.c" /* yacc.c:1652 */1874break;18751876case 20:1877#line 118 "../src/language/parse.y" /* yacc.c:1652 */1878{(yyval.val)=newopcall(OPhisttime,newnode(Fsmall,-(yyvsp[0].val),-1,&(yyloc)),-1,&(yyloc));}1879#line 1881 "../src/language/parse.c" /* yacc.c:1652 */1880break;18811882case 21:1883#line 121 "../src/language/parse.y" /* yacc.c:1652 */1884{(yyval.val) = 1;}1885#line 1887 "../src/language/parse.c" /* yacc.c:1652 */1886break;18871888case 22:1889#line 122 "../src/language/parse.y" /* yacc.c:1652 */1890{(yyval.val) = (yyvsp[-1].val)+1;}1891#line 1893 "../src/language/parse.c" /* yacc.c:1652 */1892break;18931894case 23:1895#line 125 "../src/language/parse.y" /* yacc.c:1652 */1896{(yyval.val)=newintnode(&(yylsp[0]));}1897#line 1899 "../src/language/parse.c" /* yacc.c:1652 */1898break;18991900case 24:1901#line 126 "../src/language/parse.y" /* yacc.c:1652 */1902{(yyval.val)=newconst(CSTreal,&(yyloc));}1903#line 1905 "../src/language/parse.c" /* yacc.c:1652 */1904break;19051906case 25:1907#line 127 "../src/language/parse.y" /* yacc.c:1652 */1908{(yyval.val)=newconst(CSTreal,&(yyloc));}1909#line 1911 "../src/language/parse.c" /* yacc.c:1652 */1910break;19111912case 26:1913#line 128 "../src/language/parse.y" /* yacc.c:1652 */1914{(yyval.val)=newnode(Ffunction,newconst(CSTmember,&(yylsp[0])),1915newintnode(&(yylsp[-2])),&(yyloc));}1916#line 1918 "../src/language/parse.c" /* yacc.c:1652 */1917break;19181919case 27:1920#line 130 "../src/language/parse.y" /* yacc.c:1652 */1921{(yyval.val)=newconst(CSTstr,&(yyloc));}1922#line 1924 "../src/language/parse.c" /* yacc.c:1652 */1923break;19241925case 28:1926#line 131 "../src/language/parse.y" /* yacc.c:1652 */1927{(yyval.val)=newconst(CSTquote,&(yyloc));}1928#line 1930 "../src/language/parse.c" /* yacc.c:1652 */1929break;19301931case 29:1932#line 132 "../src/language/parse.y" /* yacc.c:1652 */1933{(yyval.val)=(yyvsp[0].val);}1934#line 1936 "../src/language/parse.c" /* yacc.c:1652 */1935break;19361937case 30:1938#line 133 "../src/language/parse.y" /* yacc.c:1652 */1939{(yyval.val)=newnode(Fcall,(yyvsp[-3].val),(yyvsp[-1].val),&(yyloc));}1940#line 1942 "../src/language/parse.c" /* yacc.c:1652 */1941break;19421943case 31:1944#line 134 "../src/language/parse.y" /* yacc.c:1652 */1945{(yyval.val)=(yyvsp[0].val);}1946#line 1948 "../src/language/parse.c" /* yacc.c:1652 */1947break;19481949case 32:1950#line 135 "../src/language/parse.y" /* yacc.c:1652 */1951{(yyval.val)=(yyvsp[0].val);}1952#line 1954 "../src/language/parse.c" /* yacc.c:1652 */1953break;19541955case 33:1956#line 136 "../src/language/parse.y" /* yacc.c:1652 */1957{(yyval.val)=(yyvsp[0].val);}1958#line 1960 "../src/language/parse.c" /* yacc.c:1652 */1959break;19601961case 34:1962#line 137 "../src/language/parse.y" /* yacc.c:1652 */1963{(yyval.val)=(yyvsp[0].val);}1964#line 1966 "../src/language/parse.c" /* yacc.c:1652 */1965break;19661967case 35:1968#line 138 "../src/language/parse.y" /* yacc.c:1652 */1969{(yyval.val)=(yyvsp[0].val);}1970#line 1972 "../src/language/parse.c" /* yacc.c:1652 */1971break;19721973case 36:1974#line 139 "../src/language/parse.y" /* yacc.c:1652 */1975{(yyval.val)=newnode(Fassign,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}1976#line 1978 "../src/language/parse.c" /* yacc.c:1652 */1977break;19781979case 37:1980#line 140 "../src/language/parse.y" /* yacc.c:1652 */1981{(yyval.val)=newnode(Fassign,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}1982#line 1984 "../src/language/parse.c" /* yacc.c:1652 */1983break;19841985case 38:1986#line 141 "../src/language/parse.y" /* yacc.c:1652 */1987{(yyval.val)=newopcall(OPpp,(yyvsp[-1].val),-1,&(yyloc));}1988#line 1990 "../src/language/parse.c" /* yacc.c:1652 */1989break;19901991case 39:1992#line 142 "../src/language/parse.y" /* yacc.c:1652 */1993{(yyval.val)=newopcall(OPss,(yyvsp[-1].val),-1,&(yyloc));}1994#line 1996 "../src/language/parse.c" /* yacc.c:1652 */1995break;19961997case 40:1998#line 143 "../src/language/parse.y" /* yacc.c:1652 */1999{(yyval.val)=newopcall(OPme,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2000#line 2002 "../src/language/parse.c" /* yacc.c:1652 */2001break;20022003case 41:2004#line 144 "../src/language/parse.y" /* yacc.c:1652 */2005{(yyval.val)=newopcall(OPde,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2006#line 2008 "../src/language/parse.c" /* yacc.c:1652 */2007break;20082009case 42:2010#line 145 "../src/language/parse.y" /* yacc.c:1652 */2011{(yyval.val)=newopcall(OPdre,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2012#line 2014 "../src/language/parse.c" /* yacc.c:1652 */2013break;20142015case 43:2016#line 146 "../src/language/parse.y" /* yacc.c:1652 */2017{(yyval.val)=newopcall(OPeuce,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2018#line 2020 "../src/language/parse.c" /* yacc.c:1652 */2019break;20202021case 44:2022#line 147 "../src/language/parse.y" /* yacc.c:1652 */2023{(yyval.val)=newopcall(OPmode,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2024#line 2026 "../src/language/parse.c" /* yacc.c:1652 */2025break;20262027case 45:2028#line 148 "../src/language/parse.y" /* yacc.c:1652 */2029{(yyval.val)=newopcall(OPsle,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2030#line 2032 "../src/language/parse.c" /* yacc.c:1652 */2031break;20322033case 46:2034#line 149 "../src/language/parse.y" /* yacc.c:1652 */2035{(yyval.val)=newopcall(OPsre,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2036#line 2038 "../src/language/parse.c" /* yacc.c:1652 */2037break;20382039case 47:2040#line 150 "../src/language/parse.y" /* yacc.c:1652 */2041{(yyval.val)=newopcall(OPpe,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2042#line 2044 "../src/language/parse.c" /* yacc.c:1652 */2043break;20442045case 48:2046#line 151 "../src/language/parse.y" /* yacc.c:1652 */2047{(yyval.val)=newopcall(OPse,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2048#line 2050 "../src/language/parse.c" /* yacc.c:1652 */2049break;20502051case 49:2052#line 152 "../src/language/parse.y" /* yacc.c:1652 */2053{(yyval.val)=newopcall(OPnb,(yyvsp[0].val),-1,&(yyloc));}2054#line 2056 "../src/language/parse.c" /* yacc.c:1652 */2055break;20562057case 50:2058#line 153 "../src/language/parse.y" /* yacc.c:1652 */2059{(yyval.val)=newopcall(OPlength,(yyvsp[0].val),-1,&(yyloc));}2060#line 2062 "../src/language/parse.c" /* yacc.c:1652 */2061break;20622063case 51:2064#line 154 "../src/language/parse.y" /* yacc.c:1652 */2065{(yyval.val)=newopcall(OPor,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2066#line 2068 "../src/language/parse.c" /* yacc.c:1652 */2067break;20682069case 52:2070#line 155 "../src/language/parse.y" /* yacc.c:1652 */2071{(yyval.val)=newopcall(OPand,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2072#line 2074 "../src/language/parse.c" /* yacc.c:1652 */2073break;20742075case 53:2076#line 156 "../src/language/parse.y" /* yacc.c:1652 */2077{(yyval.val)=newopcall(OPand,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2078#line 2080 "../src/language/parse.c" /* yacc.c:1652 */2079break;20802081case 54:2082#line 157 "../src/language/parse.y" /* yacc.c:1652 */2083{(yyval.val)=newopcall(OPid,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2084#line 2086 "../src/language/parse.c" /* yacc.c:1652 */2085break;20862087case 55:2088#line 158 "../src/language/parse.y" /* yacc.c:1652 */2089{(yyval.val)=newopcall(OPeq,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2090#line 2092 "../src/language/parse.c" /* yacc.c:1652 */2091break;20922093case 56:2094#line 159 "../src/language/parse.y" /* yacc.c:1652 */2095{(yyval.val)=newopcall(OPne,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2096#line 2098 "../src/language/parse.c" /* yacc.c:1652 */2097break;20982099case 57:2100#line 160 "../src/language/parse.y" /* yacc.c:1652 */2101{(yyval.val)=newopcall(OPge,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2102#line 2104 "../src/language/parse.c" /* yacc.c:1652 */2103break;21042105case 58:2106#line 161 "../src/language/parse.y" /* yacc.c:1652 */2107{(yyval.val)=newopcall(OPg,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2108#line 2110 "../src/language/parse.c" /* yacc.c:1652 */2109break;21102111case 59:2112#line 162 "../src/language/parse.y" /* yacc.c:1652 */2113{(yyval.val)=newopcall(OPle,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2114#line 2116 "../src/language/parse.c" /* yacc.c:1652 */2115break;21162117case 60:2118#line 163 "../src/language/parse.y" /* yacc.c:1652 */2119{(yyval.val)=newopcall(OPl,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2120#line 2122 "../src/language/parse.c" /* yacc.c:1652 */2121break;21222123case 61:2124#line 164 "../src/language/parse.y" /* yacc.c:1652 */2125{(yyval.val)=newopcall(OPs,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2126#line 2128 "../src/language/parse.c" /* yacc.c:1652 */2127break;21282129case 62:2130#line 165 "../src/language/parse.y" /* yacc.c:1652 */2131{(yyval.val)=newopcall(OPp,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2132#line 2134 "../src/language/parse.c" /* yacc.c:1652 */2133break;21342135case 63:2136#line 166 "../src/language/parse.y" /* yacc.c:1652 */2137{(yyval.val)=newopcall(OPsl,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2138#line 2140 "../src/language/parse.c" /* yacc.c:1652 */2139break;21402141case 64:2142#line 167 "../src/language/parse.y" /* yacc.c:1652 */2143{(yyval.val)=newopcall(OPsr,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2144#line 2146 "../src/language/parse.c" /* yacc.c:1652 */2145break;21462147case 65:2148#line 168 "../src/language/parse.y" /* yacc.c:1652 */2149{(yyval.val)=newopcall(OPmod,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2150#line 2152 "../src/language/parse.c" /* yacc.c:1652 */2151break;21522153case 66:2154#line 169 "../src/language/parse.y" /* yacc.c:1652 */2155{(yyval.val)=newopcall(OPdr,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2156#line 2158 "../src/language/parse.c" /* yacc.c:1652 */2157break;21582159case 67:2160#line 170 "../src/language/parse.y" /* yacc.c:1652 */2161{(yyval.val)=newopcall(OPeuc,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2162#line 2164 "../src/language/parse.c" /* yacc.c:1652 */2163break;21642165case 68:2166#line 171 "../src/language/parse.y" /* yacc.c:1652 */2167{(yyval.val)=newopcall(OPd,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2168#line 2170 "../src/language/parse.c" /* yacc.c:1652 */2169break;21702171case 69:2172#line 172 "../src/language/parse.y" /* yacc.c:1652 */2173{(yyval.val)=newopcall(OPm,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2174#line 2176 "../src/language/parse.c" /* yacc.c:1652 */2175break;21762177case 70:2178#line 173 "../src/language/parse.y" /* yacc.c:1652 */2179{(yyval.val)=(yyvsp[0].val);}2180#line 2182 "../src/language/parse.c" /* yacc.c:1652 */2181break;21822183case 71:2184#line 174 "../src/language/parse.y" /* yacc.c:1652 */2185{(yyval.val)=newopcall(OPn,(yyvsp[0].val),-1,&(yyloc));}2186#line 2188 "../src/language/parse.c" /* yacc.c:1652 */2187break;21882189case 72:2190#line 175 "../src/language/parse.y" /* yacc.c:1652 */2191{(yyval.val)=newopcall(OPpow,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2192#line 2194 "../src/language/parse.c" /* yacc.c:1652 */2193break;21942195case 73:2196#line 176 "../src/language/parse.y" /* yacc.c:1652 */2197{(yyval.val)=newopcall(OPtrans,(yyvsp[-1].val),-1,&(yyloc));}2198#line 2200 "../src/language/parse.c" /* yacc.c:1652 */2199break;22002201case 74:2202#line 177 "../src/language/parse.y" /* yacc.c:1652 */2203{(yyval.val)=newopcall(OPderivn,(yyvsp[-1].val), newnode(Fsmall,(yyvsp[0].val),-1,&(yyloc)),&(yyloc));}2204#line 2206 "../src/language/parse.c" /* yacc.c:1652 */2205break;22062207case 75:2208#line 178 "../src/language/parse.y" /* yacc.c:1652 */2209{(yyval.val)=newopcall(OPfact,(yyvsp[-1].val),-1,&(yyloc));}2210#line 2212 "../src/language/parse.c" /* yacc.c:1652 */2211break;22122213case 76:2214#line 179 "../src/language/parse.y" /* yacc.c:1652 */2215{(yyval.val)=newnode(Fmatcoeff,(yyvsp[-1].val),(yyvsp[0].val),&(yyloc));}2216#line 2218 "../src/language/parse.c" /* yacc.c:1652 */2217break;22182219case 77:2220#line 180 "../src/language/parse.y" /* yacc.c:1652 */2221{(yyval.val)=(yyvsp[0].val);}2222#line 2224 "../src/language/parse.c" /* yacc.c:1652 */2223break;22242225case 78:2226#line 181 "../src/language/parse.y" /* yacc.c:1652 */2227{(yyval.val)=newnode(Ftag,(yyvsp[-2].val),0,&(yyloc));}2228#line 2230 "../src/language/parse.c" /* yacc.c:1652 */2229break;22302231case 79:2232#line 182 "../src/language/parse.y" /* yacc.c:1652 */2233{(yyval.val)=(yyvsp[-1].val);}2234#line 2236 "../src/language/parse.c" /* yacc.c:1652 */2235break;22362237case 80:2238#line 185 "../src/language/parse.y" /* yacc.c:1652 */2239{(yyval.val)=newnode(Fentry,newconst(CSTentry,&(yylsp[0])),-1,&(yyloc));}2240#line 2242 "../src/language/parse.c" /* yacc.c:1652 */2241break;22422243case 81:2244#line 186 "../src/language/parse.y" /* yacc.c:1652 */2245{(yyval.val)=newnode(Fmatcoeff,(yyvsp[-1].val),(yyvsp[0].val),&(yyloc));}2246#line 2248 "../src/language/parse.c" /* yacc.c:1652 */2247break;22482249case 82:2250#line 187 "../src/language/parse.y" /* yacc.c:1652 */2251{(yyval.val)=newnode(Ftag,(yyvsp[-2].val),newconst(CSTentry,&(yylsp[-1])),&(yyloc));}2252#line 2254 "../src/language/parse.c" /* yacc.c:1652 */2253break;22542255case 83:2256#line 190 "../src/language/parse.y" /* yacc.c:1652 */2257{(yyval.val)=(yyvsp[0].val);}2258#line 2260 "../src/language/parse.c" /* yacc.c:1652 */2259break;22602261case 84:2262#line 191 "../src/language/parse.y" /* yacc.c:1652 */2263{(yyval.val)=NOARG((yyloc));}2264#line 2266 "../src/language/parse.c" /* yacc.c:1652 */2265break;22662267case 85:2268#line 193 "../src/language/parse.y" /* yacc.c:1652 */2269{(yyval.val)=(yyvsp[0].val);}2270#line 2272 "../src/language/parse.c" /* yacc.c:1652 */2271break;22722273case 86:2274#line 194 "../src/language/parse.y" /* yacc.c:1652 */2275{(yyval.val)=NOARG((yyloc));}2276#line 2278 "../src/language/parse.c" /* yacc.c:1652 */2277break;22782279case 87:2280#line 197 "../src/language/parse.y" /* yacc.c:1652 */2281{(yyval.val)=(yyvsp[0].val);}2282#line 2284 "../src/language/parse.c" /* yacc.c:1652 */2283break;22842285case 88:2286#line 198 "../src/language/parse.y" /* yacc.c:1652 */2287{(yyval.val)=newnode(Fmatrixelts,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2288#line 2290 "../src/language/parse.c" /* yacc.c:1652 */2289break;22902291case 89:2292#line 201 "../src/language/parse.y" /* yacc.c:1652 */2293{(yyval.val)=newnode(Fmatrixlines,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2294#line 2296 "../src/language/parse.c" /* yacc.c:1652 */2295break;22962297case 90:2298#line 202 "../src/language/parse.y" /* yacc.c:1652 */2299{(yyval.val)=newnode(Fmatrixlines,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2300#line 2302 "../src/language/parse.c" /* yacc.c:1652 */2301break;23022303case 91:2304#line 205 "../src/language/parse.y" /* yacc.c:1652 */2305{(yyval.val)=newnode(Fvec,-1,-1,&(yyloc));}2306#line 2308 "../src/language/parse.c" /* yacc.c:1652 */2307break;23082309case 92:2310#line 206 "../src/language/parse.y" /* yacc.c:1652 */2311{(yyval.val)=newopcall(OPrange,(yyvsp[-3].val),(yyvsp[-1].val),&(yyloc));}2312#line 2314 "../src/language/parse.c" /* yacc.c:1652 */2313break;23142315case 93:2316#line 207 "../src/language/parse.y" /* yacc.c:1652 */2317{(yyval.val)=newnode(Fmat,-1,-1,&(yyloc));}2318#line 2320 "../src/language/parse.c" /* yacc.c:1652 */2319break;23202321case 94:2322#line 208 "../src/language/parse.y" /* yacc.c:1652 */2323{(yyval.val)=newnode(Fvec,(yyvsp[-1].val),-1,&(yyloc));}2324#line 2326 "../src/language/parse.c" /* yacc.c:1652 */2325break;23262327case 95:2328#line 209 "../src/language/parse.y" /* yacc.c:1652 */2329{(yyval.val)=newnode(Fmat,(yyvsp[-1].val),-1,&(yyloc));}2330#line 2332 "../src/language/parse.c" /* yacc.c:1652 */2331break;23322333case 96:2334#line 210 "../src/language/parse.y" /* yacc.c:1652 */2335{(yyval.val)=-1; YYABORT;}2336#line 2338 "../src/language/parse.c" /* yacc.c:1652 */2337break;23382339case 97:2340#line 213 "../src/language/parse.y" /* yacc.c:1652 */2341{(yyval.val)=newnode(Flistarg,(yyvsp[0].val),(yyvsp[-3].val),&(yyloc));}2342#line 2344 "../src/language/parse.c" /* yacc.c:1652 */2343break;23442345case 98:2346#line 216 "../src/language/parse.y" /* yacc.c:1652 */2347{(yyval.val)=newopcall(OPcompr,(yyvsp[0].val),-2,&(yyloc));}2348#line 2350 "../src/language/parse.c" /* yacc.c:1652 */2349break;23502351case 99:2352#line 217 "../src/language/parse.y" /* yacc.c:1652 */2353{(yyval.val)=newopcall3(OPcompr,(yyvsp[-2].val),-2,(yyvsp[0].val),&(yyloc));}2354#line 2356 "../src/language/parse.c" /* yacc.c:1652 */2355break;23562357case 100:2358#line 218 "../src/language/parse.y" /* yacc.c:1652 */2359{(yyval.val)=newopcall(OPcomprc,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2360#line 2362 "../src/language/parse.c" /* yacc.c:1652 */2361break;23622363case 101:2364#line 219 "../src/language/parse.y" /* yacc.c:1652 */2365{(yyval.val)=newopcall3(OPcomprc,(yyvsp[-4].val),(yyvsp[0].val),(yyvsp[-2].val),&(yyloc));}2366#line 2368 "../src/language/parse.c" /* yacc.c:1652 */2367break;23682369case 102:2370#line 222 "../src/language/parse.y" /* yacc.c:1652 */2371{(yyval.val)=addcurrexpr((yyvsp[-1].val),(yyvsp[-3].val),&(yyloc));}2372#line 2374 "../src/language/parse.c" /* yacc.c:1652 */2373break;23742375case 103:2376#line 225 "../src/language/parse.y" /* yacc.c:1652 */2377{(yyval.val)=(yyvsp[0].val);}2378#line 2380 "../src/language/parse.c" /* yacc.c:1652 */2379break;23802381case 104:2382#line 226 "../src/language/parse.y" /* yacc.c:1652 */2383{(yyval.val)=newnode(Fvararg,(yyvsp[-3].val),-1,&(yyloc));}2384#line 2386 "../src/language/parse.c" /* yacc.c:1652 */2385break;23862387case 105:2388#line 227 "../src/language/parse.y" /* yacc.c:1652 */2389{(yyval.val)=newnode(Frefarg,(yyvsp[0].val),-1,&(yyloc));}2390#line 2392 "../src/language/parse.c" /* yacc.c:1652 */2391break;23922393case 106:2394#line 228 "../src/language/parse.y" /* yacc.c:1652 */2395{(yyval.val)=newnode(Findarg,(yyvsp[0].val),-1,&(yyloc));}2396#line 2398 "../src/language/parse.c" /* yacc.c:1652 */2397break;23982399case 107:2400#line 229 "../src/language/parse.y" /* yacc.c:1652 */2401{if (!pari_once) { yyerrok; } pari_once=1;}2402#line 2404 "../src/language/parse.c" /* yacc.c:1652 */2403break;24042405case 108:2406#line 230 "../src/language/parse.y" /* yacc.c:1652 */2407{pari_once=0; (yyval.val)=newopcall(OPcat,(yyvsp[-3].val),(yyvsp[0].val),&(yyloc));}2408#line 2410 "../src/language/parse.c" /* yacc.c:1652 */2409break;24102411case 109:2412#line 233 "../src/language/parse.y" /* yacc.c:1652 */2413{(yyval.val)=(yyvsp[0].val);}2414#line 2416 "../src/language/parse.c" /* yacc.c:1652 */2415break;24162417case 110:2418#line 234 "../src/language/parse.y" /* yacc.c:1652 */2419{(yyval.val)=newnode(Flistarg,(yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2420#line 2422 "../src/language/parse.c" /* yacc.c:1652 */2421break;24222423case 111:2424#line 237 "../src/language/parse.y" /* yacc.c:1652 */2425{(yyval.val)=newnode(Ffunction,newconst(CSTentry,&(yylsp[-3])),(yyvsp[-1].val),&(yyloc));}2426#line 2428 "../src/language/parse.c" /* yacc.c:1652 */2427break;24282429case 112:2430#line 240 "../src/language/parse.y" /* yacc.c:1652 */2431{(yyval.val)=newnode(Ffunction,newconst(CSTmember,&(yylsp[0])),(yyvsp[-2].val),&(yyloc));}2432#line 2434 "../src/language/parse.c" /* yacc.c:1652 */2433break;24342435case 113:2436#line 244 "../src/language/parse.y" /* yacc.c:1652 */2437{(yyval.val)=newfunc(CSTentry,&(yylsp[-5]),(yyvsp[-3].val),(yyvsp[0].val),&(yyloc));}2438#line 2440 "../src/language/parse.c" /* yacc.c:1652 */2439break;24402441case 114:2442#line 246 "../src/language/parse.y" /* yacc.c:1652 */2443{(yyval.val)=newfunc(CSTmember,&(yylsp[-2]),newnode(Findarg,(yyvsp[-4].val),-1,&(yylsp[-4])),(yyvsp[0].val),&(yyloc));}2444#line 2446 "../src/language/parse.c" /* yacc.c:1652 */2445break;24462447case 115:2448#line 247 "../src/language/parse.y" /* yacc.c:1652 */2449{(yyval.val)=newnode(Flambda, (yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2450#line 2452 "../src/language/parse.c" /* yacc.c:1652 */2451break;24522453case 116:2454#line 248 "../src/language/parse.y" /* yacc.c:1652 */2455{(yyval.val)=newnode(Flambda, (yyvsp[-2].val),(yyvsp[0].val),&(yyloc));}2456#line 2458 "../src/language/parse.c" /* yacc.c:1652 */2457break;245824592460#line 2462 "../src/language/parse.c" /* yacc.c:1652 */2461default: break;2462}2463/* User semantic actions sometimes alter yychar, and that requires2464that yytoken be updated with the new translation. We take the2465approach of translating immediately before every use of yytoken.2466One alternative is translating here after every semantic action,2467but that translation would be missed if the semantic action invokes2468YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or2469if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an2470incorrect destructor might then be invoked immediately. In the2471case of YYERROR or YYBACKUP, subsequent parser actions might lead2472to an incorrect destructor call or verbose syntax error message2473before the lookahead is translated. */2474YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);24752476YYPOPSTACK (yylen);2477yylen = 0;2478YY_STACK_PRINT (yyss, yyssp);24792480*++yyvsp = yyval;2481*++yylsp = yyloc;24822483/* Now 'shift' the result of the reduction. Determine what state2484that goes to, based on the state we popped back to and the rule2485number reduced by. */2486{2487const int yylhs = yyr1[yyn] - YYNTOKENS;2488const int yyi = yypgoto[yylhs] + *yyssp;2489yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp2490? yytable[yyi]2491: yydefgoto[yylhs]);2492}24932494goto yynewstate;249524962497/*--------------------------------------.2498| yyerrlab -- here on detecting error. |2499`--------------------------------------*/2500yyerrlab:2501/* Make sure we have latest lookahead translation. See comments at2502user semantic actions for why this is necessary. */2503yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);25042505/* If not already recovering from an error, report this error. */2506if (!yyerrstatus)2507{2508++yynerrs;2509#if ! YYERROR_VERBOSE2510yyerror (&yylloc, lex, YY_("syntax error"));2511#else2512# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \2513yyssp, yytoken)2514{2515char const *yymsgp = YY_("syntax error");2516int yysyntax_error_status;2517yysyntax_error_status = YYSYNTAX_ERROR;2518if (yysyntax_error_status == 0)2519yymsgp = yymsg;2520else if (yysyntax_error_status == 1)2521{2522if (yymsg != yymsgbuf)2523YYSTACK_FREE (yymsg);2524yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);2525if (!yymsg)2526{2527yymsg = yymsgbuf;2528yymsg_alloc = sizeof yymsgbuf;2529yysyntax_error_status = 2;2530}2531else2532{2533yysyntax_error_status = YYSYNTAX_ERROR;2534yymsgp = yymsg;2535}2536}2537yyerror (&yylloc, lex, yymsgp);2538if (yysyntax_error_status == 2)2539goto yyexhaustedlab;2540}2541# undef YYSYNTAX_ERROR2542#endif2543}25442545yyerror_range[1] = yylloc;25462547if (yyerrstatus == 3)2548{2549/* If just tried and failed to reuse lookahead token after an2550error, discard it. */25512552if (yychar <= YYEOF)2553{2554/* Return failure if at end of input. */2555if (yychar == YYEOF)2556YYABORT;2557}2558else2559{2560yydestruct ("Error: discarding",2561yytoken, &yylval, &yylloc, lex);2562yychar = YYEMPTY;2563}2564}25652566/* Else will try to reuse lookahead token after shifting the error2567token. */2568goto yyerrlab1;256925702571/*---------------------------------------------------.2572| yyerrorlab -- error raised explicitly by YYERROR. |2573`---------------------------------------------------*/2574yyerrorlab:2575/* Pacify compilers when the user code never invokes YYERROR and the2576label yyerrorlab therefore never appears in user code. */2577if (0)2578YYERROR;25792580/* Do not reclaim the symbols of the rule whose action triggered2581this YYERROR. */2582YYPOPSTACK (yylen);2583yylen = 0;2584YY_STACK_PRINT (yyss, yyssp);2585yystate = *yyssp;2586goto yyerrlab1;258725882589/*-------------------------------------------------------------.2590| yyerrlab1 -- common code for both syntax error and YYERROR. |2591`-------------------------------------------------------------*/2592yyerrlab1:2593yyerrstatus = 3; /* Each real token shifted decrements this. */25942595for (;;)2596{2597yyn = yypact[yystate];2598if (!yypact_value_is_default (yyn))2599{2600yyn += YYTERROR;2601if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)2602{2603yyn = yytable[yyn];2604if (0 < yyn)2605break;2606}2607}26082609/* Pop the current state because it cannot handle the error token. */2610if (yyssp == yyss)2611YYABORT;26122613yyerror_range[1] = *yylsp;2614yydestruct ("Error: popping",2615yystos[yystate], yyvsp, yylsp, lex);2616YYPOPSTACK (1);2617yystate = *yyssp;2618YY_STACK_PRINT (yyss, yyssp);2619}26202621YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN2622*++yyvsp = yylval;2623YY_IGNORE_MAYBE_UNINITIALIZED_END26242625yyerror_range[2] = yylloc;2626/* Using YYLLOC is tempting, but would change the location of2627the lookahead. YYLOC is available though. */2628YYLLOC_DEFAULT (yyloc, yyerror_range, 2);2629*++yylsp = yyloc;26302631/* Shift the error token. */2632YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);26332634yystate = yyn;2635goto yynewstate;263626372638/*-------------------------------------.2639| yyacceptlab -- YYACCEPT comes here. |2640`-------------------------------------*/2641yyacceptlab:2642yyresult = 0;2643goto yyreturn;264426452646/*-----------------------------------.2647| yyabortlab -- YYABORT comes here. |2648`-----------------------------------*/2649yyabortlab:2650yyresult = 1;2651goto yyreturn;265226532654#if !defined yyoverflow || YYERROR_VERBOSE2655/*-------------------------------------------------.2656| yyexhaustedlab -- memory exhaustion comes here. |2657`-------------------------------------------------*/2658yyexhaustedlab:2659yyerror (&yylloc, lex, YY_("memory exhausted"));2660yyresult = 2;2661/* Fall through. */2662#endif266326642665/*-----------------------------------------------------.2666| yyreturn -- parsing is finished, return the result. |2667`-----------------------------------------------------*/2668yyreturn:2669if (yychar != YYEMPTY)2670{2671/* Make sure we have latest lookahead translation. See comments at2672user semantic actions for why this is necessary. */2673yytoken = YYTRANSLATE (yychar);2674yydestruct ("Cleanup: discarding lookahead",2675yytoken, &yylval, &yylloc, lex);2676}2677/* Do not reclaim the symbols of the rule whose action triggered2678this YYABORT or YYACCEPT. */2679YYPOPSTACK (yylen);2680YY_STACK_PRINT (yyss, yyssp);2681while (yyssp != yyss)2682{2683yydestruct ("Cleanup: popping",2684yystos[*yyssp], yyvsp, yylsp, lex);2685YYPOPSTACK (1);2686}2687#ifndef yyoverflow2688if (yyss != yyssa)2689YYSTACK_FREE (yyss);2690#endif2691#if YYERROR_VERBOSE2692if (yymsg != yymsgbuf)2693YYSTACK_FREE (yymsg);2694#endif2695return yyresult;2696}2697#line 251 "../src/language/parse.y" /* yacc.c:1918 */2698269927002701