summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorAndreas Scherer <andreas_tex@freenet.de>2022-05-26 22:39:42 +0000
committerAndreas Scherer <andreas_tex@freenet.de>2022-05-26 22:39:42 +0000
commit1c12ef55b22a2ee41cdfd4d94e0caccc47aaf76d (patch)
treecf8cfd992b44e130d7181fb0e8f1ab96f29ef493 /Build
parentd24edaf46a7cdf4fc46d1be65ce6448ca54a0c39 (diff)
[CWEB] Unambiguous production rules 83 and 121.
Rule 121 is a trivial concretization. Rule 83 is changed to correctly format 'trivial' CWEB code like @c #include <stdio.h> @# main() {} that got clobbered as in 'queen.w' from The Stanford GraphBase. As always, thanks to Github contributor @texdraft! git-svn-id: svn://tug.org/texlive/trunk@63408 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/cwebdir/ChangeLog10
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwill-mini.ch4
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwill-w2c.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/cweav-w2c.ch2
-rw-r--r--Build/source/texk/web2c/cwebdir/cweave.w8
-rw-r--r--Build/source/texk/web2c/cwebdir/prod-cweave.w4
-rw-r--r--Build/source/texk/web2c/cwebdir/prod-twill.w4
-rw-r--r--Build/source/texk/web2c/cwebdir/prod.w4
8 files changed, 24 insertions, 14 deletions
diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog
index d54b5361dc4..5031c82f375 100644
--- a/Build/source/texk/web2c/cwebdir/ChangeLog
+++ b/Build/source/texk/web2c/cwebdir/ChangeLog
@@ -1,3 +1,13 @@
+2022-05-26 Andreas Scherer <https://ascherer.github.io>
+
+ * ctwill-mini.ch,
+ * ctwill-w2c.ch,
+ * cweav-w2c.ch,
+ * cweave.w,
+ * prod-cweave.w,
+ * prod-twill.w,
+ * prod.w: Unambiguous prductions 83 and 121.
+
2022-05-23 Andreas Scherer <https://ascherer.github.io>
* Makefile,
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
index d9efec059fd..4eb62d9cc64 100644
--- a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
+++ b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
@@ -1566,9 +1566,9 @@ Section 233--234.
if ((a<indent && !(b==big_cancel&&a==' ')) @|
|| (a>big_force && a!=dindent)) break;
switch (a) {
+ case dindent: c++; @=/* fall through */@>@;
case indent: c++; break;
case outdent: c--; break;
- case dindent: c+=2; break;
case opt: a=get_output();
}
}
@@ -1608,9 +1608,9 @@ Section 233--234.
if ((a<indent && !(b==big_cancel&&a==' ')) @|
|| (a>big_force && a!=dindent)) break;
switch (a) {
+ case dindent: c++; @=/* fall through */@>@;
case indent: c++; break;
case outdent: c--; break;
- case dindent: c+=2; break;
case opt: a=get_output();
}
}
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
index 7532d541100..79a7c326077 100644
--- a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
@@ -618,7 +618,7 @@ static void print_text(text_pointer p);
@ @c
#if 0
-@t\4\4@>static void
+static void
print_text( /* prints a token list for debugging; not used in |main| */
@z
diff --git a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
index 9a3b4b885f7..8da07cb330a 100644
--- a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
+++ b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
@@ -290,7 +290,7 @@ static void print_text(text_pointer p);
@ @c
#if 0
-@t\4\4@>static void
+static void
print_text( /* prints a token list for debugging; not used in |main| */
@z
diff --git a/Build/source/texk/web2c/cwebdir/cweave.w b/Build/source/texk/web2c/cwebdir/cweave.w
index 5a8e0eaca65..4fb3ca68e9f 100644
--- a/Build/source/texk/web2c/cwebdir/cweave.w
+++ b/Build/source/texk/web2c/cwebdir/cweave.w
@@ -2979,8 +2979,8 @@ if (cat1==semi) {
else reduce(pp,0,exp,-2,82);
@ @<Cases for |insert|@>=
-if (cat1)
- squash(pp,2,cat1,0,83);
+if (cat1==function)
+ squash(pp,2,function,0,83);
@ @<Cases for |prelangle|@>=
init_mathness=cur_mathness=yes_math;
@@ -3106,7 +3106,7 @@ else if (cat1==ubinop && (cat2==ubinop || cat2==cast)) {
}
@ @<Cases for |delete_like|@>=
-if (cat1==lpar && cat2==rpar) {
+if (cat1==lbrack && cat2==rbrack) {
big_app2(pp); app_str("\\,"); big_app1(pp+2);
@.\\,@>
reduce(pp,3,delete_like,0,121);
@@ -3931,9 +3931,9 @@ make_output(void) /* outputs the equivalents of tokens */
if ((a<indent && !(b==big_cancel&&a==' ')) @|
|| (a>big_force && a!=dindent)) break;
switch (a) {
+ case dindent: c++; @=/* fall through */@>@;
case indent: c++; break;
case outdent: c--; break;
- case dindent: c+=2; break;
case opt: a=get_output();
}
}
diff --git a/Build/source/texk/web2c/cwebdir/prod-cweave.w b/Build/source/texk/web2c/cwebdir/prod-cweave.w
index 972e686a668..6b104d5ae0e 100644
--- a/Build/source/texk/web2c/cwebdir/prod-cweave.w
+++ b/Build/source/texk/web2c/cwebdir/prod-cweave.w
@@ -212,7 +212,7 @@ We use \\{in}, \\{out}, \\{back}, \\{bsp}, and \\{din} as shorthands for
\+& |section_scrap| |semi| & |stmt|\hfill $MS$ |force|
&$\langle\,$section name$\,\rangle$;\cr
\+& |section_scrap| & |exp| &$\langle\,$section name$\,\rangle$\cr
-\+& |insert| \\{any} & \\{any} & \.{\v\#include\v}\cr
+\+& |insert| |function| & |function| & \#\&{include} before \\{main}\cr
\+& |prelangle| & |binop| \hfill \.< & $<$ not in template\cr
\+& |prerangle| & |binop| \hfill \.> & $>$ not in template\cr
\+& |langle| |prerangle| & |cast| \hfill $L\.{\\,}P$ & $\langle\,\rangle$\cr
@@ -269,7 +269,7 @@ We use \\{in}, \\{out}, \\{back}, \\{bsp}, and \\{din} as shorthands for
|typedef_like| \alt |cast| |ubinop| \hfill
\alt $C=\.\{U\.\}C$ $U_2=\.\{U_1\.\}U_2$ \unskip &
\&{typedef} |*|{}|*|(\&{CPtr})\cr
-\+& |delete_like| |lpar| |rpar| & |delete_like|\hfill $DL\.{\\,}R$
+\+& |delete_like| |lbrack| |rbrack| & |delete_like|\hfill $DL\.{\\,}R$
& \&{delete}[\,] \cr
\+& |delete_like| |exp| & |exp| \hfill $D\.\ E$ & \&{delete} $p$ \cr
\+\dagit& |question| |exp| \alt |colon| |base| & |binop|
diff --git a/Build/source/texk/web2c/cwebdir/prod-twill.w b/Build/source/texk/web2c/cwebdir/prod-twill.w
index 72f1f50dc9f..f43dfec6406 100644
--- a/Build/source/texk/web2c/cwebdir/prod-twill.w
+++ b/Build/source/texk/web2c/cwebdir/prod-twill.w
@@ -212,7 +212,7 @@ We use \\{in}, \\{out}, \\{back}, \\{bsp}, and \\{din} as shorthands for
\+& |section_scrap| |semi| & |stmt|\hfill $MS$ |force|
&$\langle\,$section name$\,\rangle$;\cr
\+& |section_scrap| & |exp| &$\langle\,$section name$\,\rangle$\cr
-\+& |insert| \\{any} & \\{any} & \.{\v\#include\v}\cr
+\+& |insert| |function| & |function| & \#\&{include} before \\{main}\cr
\+& |prelangle| & |binop| \hfill \.< & $<$ not in template\cr
\+& |prerangle| & |binop| \hfill \.> & $>$ not in template\cr
\+& |langle| |prerangle| & |cast| \hfill $L\.{\\,}P$ & $\langle\,\rangle$\cr
@@ -264,7 +264,7 @@ We use \\{in}, \\{out}, \\{back}, \\{bsp}, and \\{din} as shorthands for
\+\dag202\enspace& |typedef_like| |int_like| |raw_int| & |typedef_like| |int_like| |exp| &
\&{typedef} \&{int} \&{foo}\cr
\global\prodno=121
-\+& |delete_like| |lpar| |rpar| & |delete_like|\hfill $DL\.{\\,}R$
+\+& |delete_like| |lbrack| |rbrack| & |delete_like|\hfill $DL\.{\\,}R$
& \&{delete}[\,] \cr
\+& |delete_like| |exp| & |exp| \hfill $D\.\ E$ & \&{delete} $p$ \cr
\+\dagit& |question| |exp| \alt |colon| |base| & |binop|
diff --git a/Build/source/texk/web2c/cwebdir/prod.w b/Build/source/texk/web2c/cwebdir/prod.w
index 73365e01c0a..243aa6f7255 100644
--- a/Build/source/texk/web2c/cwebdir/prod.w
+++ b/Build/source/texk/web2c/cwebdir/prod.w
@@ -212,7 +212,7 @@ We use \\{in}, \\{out}, \\{back}, \\{bsp}, and \\{din} as shorthands for
\+& |section_scrap| |semi| & |stmt|\hfill $MS$ |force|
&$\langle\,$section name$\,\rangle$;\cr
\+& |section_scrap| & |exp| &$\langle\,$section name$\,\rangle$\cr
-\+& |insert| \\{any} & \\{any} & \.{\v\#include\v}\cr
+\+& |insert| |function| & |function| & \#\&{include} before \\{main}\cr
\+& |prelangle| & |binop| \hfill \.< & $<$ not in template\cr
\+& |prerangle| & |binop| \hfill \.> & $>$ not in template\cr
\+& |langle| |prerangle| & |cast| \hfill $L\.{\\,}P$ & $\langle\,\rangle$\cr
@@ -269,7 +269,7 @@ We use \\{in}, \\{out}, \\{back}, \\{bsp}, and \\{din} as shorthands for
|typedef_like| \alt |cast| |ubinop| \hfill
\alt $C=\.\{U\.\}C$ $U_2=\.\{U_1\.\}U_2$ \unskip &
\&{typedef} |*|{}|*|(\&{CPtr})\cr
-\+& |delete_like| |lpar| |rpar| & |delete_like|\hfill $DL\.{\\,}R$
+\+& |delete_like| |lbrack| |rbrack| & |delete_like|\hfill $DL\.{\\,}R$
& \&{delete}[\,] \cr
\+& |delete_like| |exp| & |exp| \hfill $D\.\ E$ & \&{delete} $p$ \cr
\+\dagit& |question| |exp| \alt |colon| |base| & |binop|