X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/0d863452f5cac86322a90184dc68dbf446006ed7..92cf6698b7b791604a155ab95762f0b29a351068:/perly.h diff --git a/perly.h b/perly.h index 7c6ec99..daa777b 100644 --- a/perly.h +++ b/perly.h @@ -1,8 +1,16 @@ +/* -*- buffer-read-only: t -*- + !!!!!!! DO NOT EDIT THIS FILE !!!!!!! + This file is built by regen_perly.pl from perly.y. + Any changes made here will be lost! + */ + #ifdef PERL_CORE -/* A Bison parser, made by GNU Bison 2.1. */ +/* A Bison parser, made by GNU Bison 2.3. */ + +/* Skeleton interface for Bison's Yacc-like parsers in C -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + 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 @@ -19,10 +27,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. */ +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE @@ -30,158 +46,219 @@ /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { - WORD = 258, - METHOD = 259, - FUNCMETH = 260, - THING = 261, - PMFUNC = 262, - PRIVATEREF = 263, - FUNC0SUB = 264, - UNIOPSUB = 265, - LSTOPSUB = 266, - LABEL = 267, - FORMAT = 268, - SUB = 269, - ANONSUB = 270, - PACKAGE = 271, - USE = 272, - WHILE = 273, - UNTIL = 274, - IF = 275, - UNLESS = 276, - ELSE = 277, - ELSIF = 278, - CONTINUE = 279, - FOR = 280, - GIVEN = 281, - WHEN = 282, - DEFAULT = 283, - LOOPEX = 284, - DOTDOT = 285, - FUNC0 = 286, - FUNC1 = 287, - FUNC = 288, - UNIOP = 289, - LSTOP = 290, - RELOP = 291, - EQOP = 292, - MULOP = 293, - ADDOP = 294, - DOLSHARP = 295, - DO = 296, - HASHBRACK = 297, - NOAMP = 298, - LOCAL = 299, - MY = 300, - MYSUB = 301, - REQUIRE = 302, - COLONATTR = 303, - PREC_LOW = 304, - DOROP = 305, - OROP = 306, - ANDOP = 307, - NOTOP = 308, - ASSIGNOP = 309, - DORDOR = 310, - OROR = 311, - ANDAND = 312, - BITOROP = 313, - BITANDOP = 314, - SHIFTOP = 315, - MATCHOP = 316, - REFGEN = 317, - UMINUS = 318, - POWOP = 319, - POSTDEC = 320, - POSTINC = 321, - PREDEC = 322, - PREINC = 323, - ARROW = 324 + GRAMPROG = 258, + GRAMEXPR = 259, + GRAMBLOCK = 260, + GRAMBARESTMT = 261, + GRAMFULLSTMT = 262, + GRAMSTMTSEQ = 263, + WORD = 264, + METHOD = 265, + FUNCMETH = 266, + THING = 267, + PMFUNC = 268, + PRIVATEREF = 269, + QWLIST = 270, + FUNC0OP = 271, + FUNC0SUB = 272, + UNIOPSUB = 273, + LSTOPSUB = 274, + PLUGEXPR = 275, + PLUGSTMT = 276, + LABEL = 277, + FORMAT = 278, + SUB = 279, + ANONSUB = 280, + PACKAGE = 281, + USE = 282, + WHILE = 283, + UNTIL = 284, + IF = 285, + UNLESS = 286, + ELSE = 287, + ELSIF = 288, + CONTINUE = 289, + FOR = 290, + GIVEN = 291, + WHEN = 292, + DEFAULT = 293, + LOOPEX = 294, + DOTDOT = 295, + YADAYADA = 296, + FUNC0 = 297, + FUNC1 = 298, + FUNC = 299, + UNIOP = 300, + LSTOP = 301, + RELOP = 302, + EQOP = 303, + MULOP = 304, + ADDOP = 305, + DOLSHARP = 306, + DO = 307, + HASHBRACK = 308, + NOAMP = 309, + LOCAL = 310, + MY = 311, + MYSUB = 312, + REQUIRE = 313, + COLONATTR = 314, + FORMLBRACK = 315, + FORMRBRACK = 316, + PREC_LOW = 317, + DOROP = 318, + OROP = 319, + ANDOP = 320, + NOTOP = 321, + ASSIGNOP = 322, + DORDOR = 323, + OROR = 324, + ANDAND = 325, + BITOROP = 326, + BITANDOP = 327, + SHIFTOP = 328, + MATCHOP = 329, + REFGEN = 330, + UMINUS = 331, + POWOP = 332, + POSTDEC = 333, + POSTINC = 334, + PREDEC = 335, + PREINC = 336, + ARROW = 337, + PEG = 338 }; #endif /* Tokens. */ -#define WORD 258 -#define METHOD 259 -#define FUNCMETH 260 -#define THING 261 -#define PMFUNC 262 -#define PRIVATEREF 263 -#define FUNC0SUB 264 -#define UNIOPSUB 265 -#define LSTOPSUB 266 -#define LABEL 267 -#define FORMAT 268 -#define SUB 269 -#define ANONSUB 270 -#define PACKAGE 271 -#define USE 272 -#define WHILE 273 -#define UNTIL 274 -#define IF 275 -#define UNLESS 276 -#define ELSE 277 -#define ELSIF 278 -#define CONTINUE 279 -#define FOR 280 -#define GIVEN 281 -#define WHEN 282 -#define DEFAULT 283 -#define LOOPEX 284 -#define DOTDOT 285 -#define FUNC0 286 -#define FUNC1 287 -#define FUNC 288 -#define UNIOP 289 -#define LSTOP 290 -#define RELOP 291 -#define EQOP 292 -#define MULOP 293 -#define ADDOP 294 -#define DOLSHARP 295 -#define DO 296 -#define HASHBRACK 297 -#define NOAMP 298 -#define LOCAL 299 -#define MY 300 -#define MYSUB 301 -#define REQUIRE 302 -#define COLONATTR 303 -#define PREC_LOW 304 -#define DOROP 305 -#define OROP 306 -#define ANDOP 307 -#define NOTOP 308 -#define ASSIGNOP 309 -#define DORDOR 310 -#define OROR 311 -#define ANDAND 312 -#define BITOROP 313 -#define BITANDOP 314 -#define SHIFTOP 315 -#define MATCHOP 316 -#define REFGEN 317 -#define UMINUS 318 -#define POWOP 319 -#define POSTDEC 320 -#define POSTINC 321 -#define PREDEC 322 -#define PREINC 323 -#define ARROW 324 +#define GRAMPROG 258 +#define GRAMEXPR 259 +#define GRAMBLOCK 260 +#define GRAMBARESTMT 261 +#define GRAMFULLSTMT 262 +#define GRAMSTMTSEQ 263 +#define WORD 264 +#define METHOD 265 +#define FUNCMETH 266 +#define THING 267 +#define PMFUNC 268 +#define PRIVATEREF 269 +#define QWLIST 270 +#define FUNC0OP 271 +#define FUNC0SUB 272 +#define UNIOPSUB 273 +#define LSTOPSUB 274 +#define PLUGEXPR 275 +#define PLUGSTMT 276 +#define LABEL 277 +#define FORMAT 278 +#define SUB 279 +#define ANONSUB 280 +#define PACKAGE 281 +#define USE 282 +#define WHILE 283 +#define UNTIL 284 +#define IF 285 +#define UNLESS 286 +#define ELSE 287 +#define ELSIF 288 +#define CONTINUE 289 +#define FOR 290 +#define GIVEN 291 +#define WHEN 292 +#define DEFAULT 293 +#define LOOPEX 294 +#define DOTDOT 295 +#define YADAYADA 296 +#define FUNC0 297 +#define FUNC1 298 +#define FUNC 299 +#define UNIOP 300 +#define LSTOP 301 +#define RELOP 302 +#define EQOP 303 +#define MULOP 304 +#define ADDOP 305 +#define DOLSHARP 306 +#define DO 307 +#define HASHBRACK 308 +#define NOAMP 309 +#define LOCAL 310 +#define MY 311 +#define MYSUB 312 +#define REQUIRE 313 +#define COLONATTR 314 +#define FORMLBRACK 315 +#define FORMRBRACK 316 +#define PREC_LOW 317 +#define DOROP 318 +#define OROP 319 +#define ANDOP 320 +#define NOTOP 321 +#define ASSIGNOP 322 +#define DORDOR 323 +#define OROR 324 +#define ANDAND 325 +#define BITOROP 326 +#define BITANDOP 327 +#define SHIFTOP 328 +#define MATCHOP 329 +#define REFGEN 330 +#define UMINUS 331 +#define POWOP 332 +#define POSTDEC 333 +#define POSTINC 334 +#define PREDEC 335 +#define PREINC 336 +#define ARROW 337 +#define PEG 338 +#ifdef PERL_IN_TOKE_C +static bool +S_is_opval_token(int type) { + switch (type) { + case FUNC0OP: + case FUNC0SUB: + case FUNCMETH: + case LSTOPSUB: + case METHOD: + case PLUGEXPR: + case PLUGSTMT: + case PMFUNC: + case PRIVATEREF: + case QWLIST: + case THING: + case UNIOPSUB: + case WORD: + return 1; + } + return 0; +} +#endif /* PERL_IN_TOKE_C */ #endif /* PERL_CORE */ -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 30 "perly.y" -typedef union YYSTYPE { - I32 ival; +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +{ + I32 ival; /* __DEFAULT__ (marker for regen_perly.pl; + must always be 1st union member) */ char *pval; OP *opval; GV *gvval; -} YYSTYPE; -/* Line 1447 of yacc.c. */ -#line 183 "perly.h" +#ifdef PERL_IN_MADLY_C + TOKEN* p_tkval; + TOKEN* i_tkval; +#else + char *p_tkval; + I32 i_tkval; +#endif +#ifdef PERL_MAD + TOKEN* tkval; +#endif +} +/* Line 1529 of yacc.c. */ + YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -190,4 +267,7 @@ typedef union YYSTYPE { - +/* Generated from: + * 580d1bac82838fb0ae1e092010e776fb247f0d4cb68834a166507fae86707700 perly.y + * 4a3ced51fe6585f6ec59e65e1ffd74bc976c498b0e6992eaab337219fee72e51 regen_perly.pl + * ex: set ro: */