pkgsrc/lang/nawk/files/ytab.h
ryoon 5965fd777b Update to 20121220
* Works fine under Debian GNU/Linux 7.4, NetBSD/amd64 6.99.36
* Merge pkgsrc specific changes

Changelog:
Dec 20, 2012:
	fiddled makefile to get correct yacc and bison flags.  pick yacc
	(linux) or bison (mac) as necessary.

	added  __attribute__((__noreturn__)) to a couple of lines in
	proto.h, to silence someone's enthusiastic checker.

	fixed obscure call by value bug in split(a[1],a) reported on
	9fans.  the management of temporary values is just a mess; i
	took a shortcut by making an extra string copy.  thanks
	to paul patience and arnold robbins for passing it on and for
	proposed patches.

	tiny fiddle in setfval to eliminate -0 results in T.expr, which
	has irritated me for 20+ years.

Aug 10, 2011:
	another fix to avoid core dump with delete(ARGV); again, many thanks
	to ruslan ermilov.

Aug 7, 2011:
	split(s, a, //) now behaves the same as split(s, a, "")

Jun 12, 2011:
	/pat/, \n /pat/ {...} is now legal, though bad style to use.

	added checks to new -v code that permits -vnospace; thanks to
	ruslan ermilov for spotting this and providing the patch.

	removed fixed limit on number of open files; thanks to aleksey
	cheusov and christos zoulos.

	fixed day 1 bug that resurrected deleted elements of ARGV when
	used as filenames (in lib.c).

	minor type fiddles to make gcc -Wall -pedantic happier (but not
	totally so); turned on -fno-strict-aliasing in makefile.

May 6, 2011:
	added #ifdef for isblank.
	now allows -ffoo as well as -f foo arguments.
	(thanks, ruslan)

May 1, 2011:
	after advice from todd miller, kevin lo, ruslan ermilov,
	and arnold robbins, changed srand() to return the previous
	seed (which is 1 on the first call of srand).  the seed is
	an Awkfloat internally though converted to unsigned int to
	pass to the library srand().  thanks, everyone.

	fixed a subtle (and i hope low-probability) overflow error
	in fldbld, by adding space for one extra \0.  thanks to
	robert bassett for spotting this one and providing a fix.

	removed the files related to compilation on windows.  i no
	longer have anything like a current windows environment, so
	i can't test any of it.

May 23, 2010:
	fixed long-standing overflow bug in run.c; many thanks to
	nelson beebe for spotting it and providing the fix.

	fixed bug that didn't parse -vd=1 properly; thanks to santiago
	vila for spotting it.

Feb 8, 2010:
	i give up.  replaced isblank with isspace in b.c; there are
	no consistent header files.

Nov 26, 2009:
	fixed a long-standing issue with when FS takes effect.  a
	change to FS is now noticed immediately for subsequent splits.

	changed the name getline() to awkgetline() to avoid yet another
	name conflict somewhere.

Feb 11, 2009:
	temporarily for now defined HAS_ISBLANK, since that seems to
	be the best way through the thicket.  isblank arrived in C99,
	but seems to be arriving at different systems at different
	times.

Oct 8, 2008:
	fixed typo in b.c that set tmpvec wrongly.  no one had ever
	run into the problem, apparently.  thanks to alistair crooks.

Oct 23, 2007:
	minor fix in lib.c: increase inputFS to 100, change malloc
	for fields to n+1.

	fixed memory fault caused by out of order test in setsval.

	thanks to david o'brien, freebsd, for both fixes.

May 1, 2007:
	fiddle in makefile to fix for BSD make; thanks to igor sobrado.

Mar 31, 2007:
	fixed some null pointer refs calling adjbuf.

Feb 21, 2007:
	fixed a bug in matching the null RE in sub and gsub.  thanks to al aho
	who actually did the fix (in b.c), and to wolfgang seeberg for finding
	it and providing a very compact test case.

	fixed quotation in b.c; thanks to Hal Pratt and the Princeton Dante
	Project.

	removed some no-effect asserts in run.c.

	fiddled maketab.c to not complain about bison-generated values.

	removed the obsolete -V argument; fixed --version to print the
	version and exit.

	fixed wording and an outright error in the usage message; thanks to igor
	sobrado and jason mcintyre.

	fixed a bug in -d that caused core dump if no program followed.

Jan 1, 2007:
	dropped mac.code from makefile; there are few non-MacOSX
	mac's these days.

Jan 17, 2006:
	system() not flagged as unsafe in the unadvertised -safe option.
	found it while enhancing tests before shipping the ;login: article.
	practice what you preach.

	removed the 9-years-obsolete -mr and -mf flags.

	added -version and --version options.

	core dump on linux with BEGIN {nextfile}, now fixed.

	removed some #ifdef's in run.c and lex.c that appear to no
	longer be necessary.
2014-03-12 14:20:43 +00:00

104 lines
2 KiB
C

/* $NetBSD: ytab.h,v 1.2 2014/03/12 14:20:43 ryoon Exp $ */
/* A Bison parser, made by GNU Bison 1.875. */
typedef union {
Node *p;
Cell *cp;
int i;
char *s;
} YYSTYPE;
extern YYSTYPE yylval;
#define FIRSTTOKEN 57346
#define PROGRAM 57347
#define PASTAT 57348
#define PASTAT2 57349
#define XBEGIN 57350
#define XEND 57351
#define NL 57352
#define ARRAY 57353
#define MATCH 57354
#define NOTMATCH 57355
#define MATCHOP 57356
#define FINAL 57357
#define DOT 57358
#define ALL 57359
#define CCL 57360
#define NCCL 57361
#define CHAR 57362
#define OR 57363
#define STAR 57364
#define QUEST 57365
#define PLUS 57366
#define EMPTYRE 57367
#define AND 57368
#define BOR 57369
#define APPEND 57370
#define EQ 57371
#define GE 57372
#define GT 57373
#define LE 57374
#define LT 57375
#define NE 57376
#define IN 57377
#define ARG 57378
#define BLTIN 57379
#define BREAK 57380
#define CLOSE 57381
#define CONTINUE 57382
#define DELETE 57383
#define DO 57384
#define EXIT 57385
#define FOR 57386
#define FUNC 57387
#define SUB 57388
#define GSUB 57389
#define IF 57390
#define INDEX 57391
#define LSUBSTR 57392
#define MATCHFCN 57393
#define NEXT 57394
#define NEXTFILE 57395
#define ADD 57396
#define MINUS 57397
#define MULT 57398
#define DIVIDE 57399
#define MOD 57400
#define ASSIGN 57401
#define ASGNOP 57402
#define ADDEQ 57403
#define SUBEQ 57404
#define MULTEQ 57405
#define DIVEQ 57406
#define MODEQ 57407
#define POWEQ 57408
#define PRINT 57409
#define PRINTF 57410
#define SPRINTF 57411
#define ELSE 57412
#define INTEST 57413
#define CONDEXPR 57414
#define POSTINCR 57415
#define PREINCR 57416
#define POSTDECR 57417
#define PREDECR 57418
#define VAR 57419
#define IVAR 57420
#define VARNF 57421
#define CALL 57422
#define NUMBER 57423
#define STRING 57424
#define REGEXPR 57425
#define GETLINE 57426
#define RETURN 57427
#define SPLIT 57428
#define SUBSTR 57429
#define WHILE 57430
#define CAT 57431
#define NOT 57432
#define UMINUS 57433
#define POWER 57434
#define DECR 57435
#define INCR 57436
#define INDIRECT 57437
#define LASTTOKEN 57438