Module Name:    src
Committed By:   christos
Date:           Sun Aug 18 14:10:43 UTC 2024

Modified Files:
        src/external/historical/nawk/bin: Makefile
        src/external/historical/nawk/bin/awk: Makefile
Added Files:
        src/external/historical/nawk/dist: proctab.c
Removed Files:
        src/external/historical/nawk/bin/maketab: Makefile Makefile.maketab

Log Message:
remove maketab and go back to using a pre-fabricated proctab.c. Not worth
going all the way an creating a tool for it.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/external/historical/nawk/bin/Makefile
cvs rdiff -u -r1.2 -r1.3 src/external/historical/nawk/bin/awk/Makefile
cvs rdiff -u -r1.1 -r0 src/external/historical/nawk/bin/maketab/Makefile \
    src/external/historical/nawk/bin/maketab/Makefile.maketab
cvs rdiff -u -r0 -r1.8 src/external/historical/nawk/dist/proctab.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/historical/nawk/bin/Makefile
diff -u src/external/historical/nawk/bin/Makefile:1.12 src/external/historical/nawk/bin/Makefile:1.13
--- src/external/historical/nawk/bin/Makefile:1.12	Sat Aug 17 18:22:28 2024
+++ src/external/historical/nawk/bin/Makefile	Sun Aug 18 10:10:42 2024
@@ -1,7 +1,7 @@
-#	$NetBSD: Makefile,v 1.12 2024/08/17 22:22:28 christos Exp $
+#	$NetBSD: Makefile,v 1.13 2024/08/18 14:10:42 christos Exp $
 
 .include <bsd.own.mk>
 
-SUBDIR = maketab .WAIT awk
+SUBDIR = awk
 
 .include <bsd.subdir.mk>

Index: src/external/historical/nawk/bin/awk/Makefile
diff -u src/external/historical/nawk/bin/awk/Makefile:1.2 src/external/historical/nawk/bin/awk/Makefile:1.3
--- src/external/historical/nawk/bin/awk/Makefile:1.2	Sat Aug 17 19:21:55 2024
+++ src/external/historical/nawk/bin/awk/Makefile	Sun Aug 18 10:10:43 2024
@@ -1,19 +1,10 @@
-#	$NetBSD: Makefile,v 1.2 2024/08/17 23:21:55 mrg Exp $
+#	$NetBSD: Makefile,v 1.3 2024/08/18 14:10:43 christos Exp $
 
 WARNS?= 4
 CWARNFLAGS.clang+=	-Wno-self-assign
 
 .include <bsd.own.mk>
 
-.if !defined(HOSTPROG)
-MAKETABDIR != cd ${.CURDIR}/../maketab && ${PRINTOBJDIR}
-MAKETAB = ${MAKETABDIR}/maketab
-.else
-MAKETABDIR != cd ${NETBSDSRCDIR}/tools/maketab && ${PRINTOBJDIR}
-MAKETAB = ${MAKETABDIR}/${_TOOL_PREFIX}maketab
-.endif
-
-
 BINDIR?= /usr/bin
 DIST=	${.CURDIR}/../../dist
 .PATH:	${DIST}
@@ -44,9 +35,4 @@ TEXINFO=        awk.info
 .include <bsd.info.mk>
 .endif
 
-proctab.c: ${MAKETAB} awkgram.h
-	${.ALLSRC} > ${.TARGET}
-
-CLEANFILES += proctab.c
-
 .include <bsd.prog.mk>

Added files:

Index: src/external/historical/nawk/dist/proctab.c
diff -u /dev/null src/external/historical/nawk/dist/proctab.c:1.8
--- /dev/null	Sun Aug 18 10:10:43 2024
+++ src/external/historical/nawk/dist/proctab.c	Sun Aug 18 10:10:43 2024
@@ -0,0 +1,213 @@
+#include <stdio.h>
+#include "awk.h"
+#include "awkgram.h"
+
+static const char * const printname[96] = {
+	"FIRSTTOKEN",	/* 257 */
+	"PROGRAM",	/* 258 */
+	"PASTAT",	/* 259 */
+	"PASTAT2",	/* 260 */
+	"XBEGIN",	/* 261 */
+	"XEND",	/* 262 */
+	"NL",	/* 263 */
+	"ARRAY",	/* 264 */
+	"MATCH",	/* 265 */
+	"NOTMATCH",	/* 266 */
+	"MATCHOP",	/* 267 */
+	"FINAL",	/* 268 */
+	"DOT",	/* 269 */
+	"ALL",	/* 270 */
+	"CCL",	/* 271 */
+	"NCCL",	/* 272 */
+	"CHAR",	/* 273 */
+	"OR",	/* 274 */
+	"STAR",	/* 275 */
+	"QUEST",	/* 276 */
+	"PLUS",	/* 277 */
+	"EMPTYRE",	/* 278 */
+	"ZERO",	/* 279 */
+	"AND",	/* 280 */
+	"BOR",	/* 281 */
+	"APPEND",	/* 282 */
+	"EQ",	/* 283 */
+	"GE",	/* 284 */
+	"GT",	/* 285 */
+	"LE",	/* 286 */
+	"LT",	/* 287 */
+	"NE",	/* 288 */
+	"IN",	/* 289 */
+	"ARG",	/* 290 */
+	"BLTIN",	/* 291 */
+	"BREAK",	/* 292 */
+	"CLOSE",	/* 293 */
+	"CONTINUE",	/* 294 */
+	"DELETE",	/* 295 */
+	"DO",	/* 296 */
+	"EXIT",	/* 297 */
+	"FOR",	/* 298 */
+	"FUNC",	/* 299 */
+	"GENSUB",	/* 300 */
+	"SUB",	/* 301 */
+	"GSUB",	/* 302 */
+	"IF",	/* 303 */
+	"INDEX",	/* 304 */
+	"LSUBSTR",	/* 305 */
+	"MATCHFCN",	/* 306 */
+	"NEXT",	/* 307 */
+	"NEXTFILE",	/* 308 */
+	"ADD",	/* 309 */
+	"MINUS",	/* 310 */
+	"MULT",	/* 311 */
+	"DIVIDE",	/* 312 */
+	"MOD",	/* 313 */
+	"ASSIGN",	/* 314 */
+	"ASGNOP",	/* 315 */
+	"ADDEQ",	/* 316 */
+	"SUBEQ",	/* 317 */
+	"MULTEQ",	/* 318 */
+	"DIVEQ",	/* 319 */
+	"MODEQ",	/* 320 */
+	"POWEQ",	/* 321 */
+	"PRINT",	/* 322 */
+	"PRINTF",	/* 323 */
+	"SPRINTF",	/* 324 */
+	"ELSE",	/* 325 */
+	"INTEST",	/* 326 */
+	"CONDEXPR",	/* 327 */
+	"POSTINCR",	/* 328 */
+	"PREINCR",	/* 329 */
+	"POSTDECR",	/* 330 */
+	"PREDECR",	/* 331 */
+	"VAR",	/* 332 */
+	"IVAR",	/* 333 */
+	"VARNF",	/* 334 */
+	"CALL",	/* 335 */
+	"NUMBER",	/* 336 */
+	"STRING",	/* 337 */
+	"REGEXPR",	/* 338 */
+	"GETLINE",	/* 339 */
+	"RETURN",	/* 340 */
+	"SPLIT",	/* 341 */
+	"SUBSTR",	/* 342 */
+	"WHILE",	/* 343 */
+	"CAT",	/* 344 */
+	"NOT",	/* 345 */
+	"UMINUS",	/* 346 */
+	"UPLUS",	/* 347 */
+	"POWER",	/* 348 */
+	"DECR",	/* 349 */
+	"INCR",	/* 350 */
+	"INDIRECT",	/* 351 */
+	"LASTTOKEN",	/* 352 */
+};
+
+
+Cell *(*proctab[96])(Node **, int) = {
+	nullproc,	/* FIRSTTOKEN */
+	program,	/* PROGRAM */
+	pastat,	/* PASTAT */
+	dopa2,	/* PASTAT2 */
+	nullproc,	/* XBEGIN */
+	nullproc,	/* XEND */
+	nullproc,	/* NL */
+	array,	/* ARRAY */
+	matchop,	/* MATCH */
+	matchop,	/* NOTMATCH */
+	nullproc,	/* MATCHOP */
+	nullproc,	/* FINAL */
+	nullproc,	/* DOT */
+	nullproc,	/* ALL */
+	nullproc,	/* CCL */
+	nullproc,	/* NCCL */
+	nullproc,	/* CHAR */
+	nullproc,	/* OR */
+	nullproc,	/* STAR */
+	nullproc,	/* QUEST */
+	nullproc,	/* PLUS */
+	nullproc,	/* EMPTYRE */
+	nullproc,	/* ZERO */
+	boolop,	/* AND */
+	boolop,	/* BOR */
+	nullproc,	/* APPEND */
+	relop,	/* EQ */
+	relop,	/* GE */
+	relop,	/* GT */
+	relop,	/* LE */
+	relop,	/* LT */
+	relop,	/* NE */
+	instat,	/* IN */
+	arg,	/* ARG */
+	bltin,	/* BLTIN */
+	jump,	/* BREAK */
+	closefile,	/* CLOSE */
+	jump,	/* CONTINUE */
+	awkdelete,	/* DELETE */
+	dostat,	/* DO */
+	jump,	/* EXIT */
+	forstat,	/* FOR */
+	nullproc,	/* FUNC */
+	gensub,	/* GENSUB */
+	dosub,	/* SUB */
+	dosub,	/* GSUB */
+	ifstat,	/* IF */
+	sindex,	/* INDEX */
+	nullproc,	/* LSUBSTR */
+	matchop,	/* MATCHFCN */
+	jump,	/* NEXT */
+	jump,	/* NEXTFILE */
+	arith,	/* ADD */
+	arith,	/* MINUS */
+	arith,	/* MULT */
+	arith,	/* DIVIDE */
+	arith,	/* MOD */
+	assign,	/* ASSIGN */
+	nullproc,	/* ASGNOP */
+	assign,	/* ADDEQ */
+	assign,	/* SUBEQ */
+	assign,	/* MULTEQ */
+	assign,	/* DIVEQ */
+	assign,	/* MODEQ */
+	assign,	/* POWEQ */
+	printstat,	/* PRINT */
+	awkprintf,	/* PRINTF */
+	awksprintf,	/* SPRINTF */
+	nullproc,	/* ELSE */
+	intest,	/* INTEST */
+	condexpr,	/* CONDEXPR */
+	incrdecr,	/* POSTINCR */
+	incrdecr,	/* PREINCR */
+	incrdecr,	/* POSTDECR */
+	incrdecr,	/* PREDECR */
+	nullproc,	/* VAR */
+	nullproc,	/* IVAR */
+	getnf,	/* VARNF */
+	call,	/* CALL */
+	nullproc,	/* NUMBER */
+	nullproc,	/* STRING */
+	nullproc,	/* REGEXPR */
+	awkgetline,	/* GETLINE */
+	jump,	/* RETURN */
+	split,	/* SPLIT */
+	substr,	/* SUBSTR */
+	whilestat,	/* WHILE */
+	cat,	/* CAT */
+	boolop,	/* NOT */
+	arith,	/* UMINUS */
+	arith,	/* UPLUS */
+	arith,	/* POWER */
+	nullproc,	/* DECR */
+	nullproc,	/* INCR */
+	indirect,	/* INDIRECT */
+	nullproc,	/* LASTTOKEN */
+};
+
+const char *tokname(int n)
+{
+	static char buf[100];
+
+	if (n < FIRSTTOKEN || n > LASTTOKEN) {
+		snprintf(buf, sizeof(buf), "token %d", n);
+		return buf;
+	}
+	return printname[n-FIRSTTOKEN];
+}

Reply via email to