texlive[61610] Build/source/texk/web2c/cwebdir: [CWEB] Increase array

commits+ascherer at tug.org commits+ascherer at tug.org
Sat Jan 15 13:07:27 CET 2022


Revision: 61610
          http://tug.org/svn/texlive?view=revision&revision=61610
Author:   ascherer
Date:     2022-01-15 13:07:27 +0100 (Sat, 15 Jan 2022)
Log Message:
-----------
[CWEB] Increase array sizes in CWEB 4.6.1.

Without affecting CWEB in TeX Live, various array sizes in 'original'
CWEB (release 4.6.1) were increased so that both CTANGLE and CWEAVE (but
unfortunately _not_ CTWILL) can process CTEX.W in Martin Ruckert's WEB2W
project (https://w3-o.cs.hm.edu/users/ruckert/public_html/web2w/index.html).

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/cwebdir/ChangeLog
    trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch
    trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h
    trunk/Build/source/texk/web2c/cwebdir/common.c
    trunk/Build/source/texk/web2c/cwebdir/common.h
    trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch
    trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch
    trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
    trunk/Build/source/texk/web2c/cwebdir/ctangle.c
    trunk/Build/source/texk/web2c/cwebdir/ctangle.w
    trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
    trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch
    trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
    trunk/Build/source/texk/web2c/cwebdir/cweave.w
    trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch
    trunk/Build/source/texk/web2c/cwebdir/cwebman.tex

Modified: trunk/Build/source/texk/web2c/cwebdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ChangeLog	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ChangeLog	2022-01-15 12:07:27 UTC (rev 61610)
@@ -1,3 +1,21 @@
+2022-01-15  Andreas Scherer  <https://ascherer.github.io>
+
+	* comm-pc.ch,
+	* comm-w2c.h,
+	* common.c,
+	* common.h,
+	* ctang-bs.ch,
+	* ctang-pc.ch,
+	* ctang-w2c.ch,
+	* ctangle.c,
+	* ctangle.w,
+	* ctwill-w2c.ch,
+	* cweav-pc.ch,
+	* cweav-w2c.ch,
+	* cweave.w,
+	* cwebman.tex,
+	* cwebman-w2c.ch: Increase sizes in CWEB 4.6.1.
+
 2021-12-26  Andreas Scherer  <https://ascherer.github.io>
 
 	* Makefile,

Modified: trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/comm-pc.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -8,7 +8,7 @@
 that allows >64K arrays.
 
 @x section 16
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
 @y
 @d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
 @z

Modified: trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/comm-w2c.h	2022-01-15 12:07:27 UTC (rev 61610)
@@ -251,9 +251,8 @@
 extern void print_stats(void);@/
 extern void cb_show_banner(void);
 
-@ The following parameters were sufficient in the original \.{WEB} to
-handle \TEX/, so they should be sufficient for most applications of
-\.{CWEB}.
+@ The following parameters are sufficient to handle \TEX/ (converted to
+\.{CWEB}), so they should be sufficient for most applications of \.{CWEB}.
 
 @d buf_size 1000 /* maximum length of input line, plus one */
 @d longest_name 10000 /* file names, section names, and section texts

Modified: trunk/Build/source/texk/web2c/cwebdir/common.c
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/common.c	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/common.c	2022-01-15 12:07:27 UTC (rev 61610)
@@ -82,13 +82,13 @@
 #define new_line putchar('\n') 
 #define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout)  \
 
-#define buf_size 100
+#define buf_size 200
 #define longest_name 10000 \
 
 #define long_buf_size (buf_size+longest_name) 
-#define max_bytes 90000 \
+#define max_bytes 100000 \
 
-#define max_names 4000 \
+#define max_names 5000 \
 
 #define max_sections 2000 \
 

Modified: trunk/Build/source/texk/web2c/cwebdir/common.h
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/common.h	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/common.h	2022-01-15 12:07:27 UTC (rev 61610)
@@ -226,17 +226,16 @@
 extern void common_init(void);@/
 extern void print_stats(void);
 
-@ The following parameters were sufficient in the original \.{WEB} to
-handle \TEX/, so they should be sufficient for most applications of
-\.{CWEB}.
+@ The following parameters are sufficient to handle \TEX/ (converted to
+\.{CWEB}), so they should be sufficient for most applications of \.{CWEB}.
 
- at d buf_size 100 /* maximum length of input line, plus one */
+ at d buf_size 200 /* maximum length of input line, plus one */
 @d longest_name 10000 /* file names, section names, and section texts
    shouldn't be longer than this */
 @d long_buf_size (buf_size+longest_name) /* for \.{CWEAVE} */
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
   index entries, and section names; must be less than $2^{24}$ */
- at d max_names 4000 /* number of identifiers, strings, section names;
+ at d max_names 5000 /* number of identifiers, strings, section names;
   must be less than 10240 */
 @d max_sections 2000 /* greater than the total number of sections */
 

Modified: trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctang-bs.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -98,7 +98,7 @@
 
 
 @x Section 20.
-@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@ @d max_texts 4000 /* number of replacement texts, must be less than 10240 */
 @d max_toks 270000 /* number of bytes in compressed \CEE/ code */
 @y
 @ (This is a modified version of \.{CTANGLE}, and in fact one of the parameters

Modified: trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctang-pc.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -14,7 +14,7 @@
 @d banner "This is CTANGLE (Version 4.6pc)"
 @z
 @x section 17
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
   index entries, and section names; must be less than $2^{24}$ */
 @y (note that CWEAVE itself needs only about 42K toks)
 @d max_bytes (unsigned)60000 /* the number of bytes in identifiers,

Modified: trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -60,7 +60,7 @@
 @z
 
 @x
-@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@ @d max_texts 4000 /* number of replacement texts, must be less than 10240 */
 @d max_toks 270000 /* number of bytes in compressed \CEE/ code */
 @y
 @ @d max_texts 10239 /* number of replacement texts, must be less than 10240 */

Modified: trunk/Build/source/texk/web2c/cwebdir/ctangle.c
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctangle.c	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctangle.c	2022-01-15 12:07:27 UTC (rev 61610)
@@ -84,17 +84,17 @@
 #define new_line putchar('\n') 
 #define term_write(a,b) fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout)  \
 
-#define buf_size 100
+#define buf_size 200
 #define longest_name 10000 \
 
 #define long_buf_size (buf_size+longest_name) 
-#define max_bytes 90000 \
+#define max_bytes 100000 \
 
-#define max_names 4000 \
+#define max_names 5000 \
 
 #define max_sections 2000 \
 
-#define max_texts 2500
+#define max_texts 4000
 #define max_toks 270000
 #define equiv equiv_or_xref \
 

Modified: trunk/Build/source/texk/web2c/cwebdir/ctangle.w
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctangle.w	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctangle.w	2022-01-15 12:07:27 UTC (rev 61610)
@@ -126,7 +126,7 @@
 } text;
 typedef text *text_pointer;
 
-@ @d max_texts 2500 /* number of replacement texts, must be less than 10240 */
+@ @d max_texts 4000 /* number of replacement texts, must be less than 10240 */
 @d max_toks 270000 /* number of bytes in compressed \CEE/ code */
 @<Private...@>=
 static text text_info[max_texts];

Modified: trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -84,7 +84,7 @@
 Volumes B and~D of {\sl Computers {\char`\&} Typesetting\/} in 1985.
 \.{CTWILL} was hacked together hastily in June, 1992, to generate pages for
 Knuth's book about the Stanford GraphBase, and updated even more hastily
-in March, 1993 to generate final copy for that book.  The main idea was to
+in March, 1993, to generate final copy for that book.  The main idea was to
 extend \.{CWEAVE} so that ``mini-indexes'' could appear.
 No time was available to make \.{CTWILL} into a refined or complete system,
 nor even to fully update the program documentation below. Subsequent changes
@@ -123,8 +123,8 @@
 @z
 
 @x
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
- at d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
+ at d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
 @y
 @d max_refs 65535 /* number of cross-references; must be less than 65536 */
 @d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@@ -146,9 +146,9 @@
 @z
 
 @x
- at d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+ at d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
   must be less than 65536 */
- at d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+ at d max_texts 8000 /* number of phrases in \CEE/ texts being parsed;
   must be less than 10240 */
 @y
 @d max_toks 65535 /* number of symbols in \CEE/ texts being parsed;

Modified: trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cweav-pc.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -17,12 +17,12 @@
 @z
 
 @x section 17
- at d max_bytes 90000 /* the number of bytes in identifiers,
+ at d max_bytes 100000 /* the number of bytes in identifiers,
 @y
 @d max_bytes (unsigned)60000 /* the number of bytes in identifiers,
 @z
 @x
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
 @y
 @d max_refs 10000 /* number of cross-references; must be less than 65536 */
 @z

Modified: trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -60,8 +60,8 @@
 @z
 
 @x
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
- at d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
+ at d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
 @y
 @d max_refs 65535 /* number of cross-references; must be less than 65536 */
 @d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
@@ -74,9 +74,9 @@
 @z
 
 @x
- at d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+ at d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
   must be less than 65536 */
- at d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+ at d max_texts 8000 /* number of phrases in \CEE/ texts being parsed;
   must be less than 10240 */
 @y
 @d max_toks 65535 /* number of symbols in \CEE/ texts being parsed;

Modified: trunk/Build/source/texk/web2c/cwebdir/cweave.w
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cweave.w	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cweave.w	2022-01-15 12:07:27 UTC (rev 61610)
@@ -111,13 +111,13 @@
 
 @i common.h
 
-@ The following parameters were sufficient in the original \.{WEAVE} to
-handle \TEX/, so they should be sufficient for most applications of \.{CWEAVE}.
+@ The following parameters are sufficient to handle \TEX/ (converted to
+\.{CWEB}), so they should be sufficient for most applications of \.{CWEAVE}.
 
 @d line_length 80 /* lines of \TEX/ output have at most this many characters;
   should be less than 256 */
- at d max_refs 20000 /* number of cross-references; must be less than 65536 */
- at d max_scraps 2000 /* number of tokens in \CEE/ texts being parsed */
+ at d max_refs 30000 /* number of cross-references; must be less than 65536 */
+ at d max_scraps 5000 /* number of tokens in \CEE/ texts being parsed */
 
 @* Data structures exclusive to {\tt CWEAVE}.
 As explained in \.{common.w}, the field of a |name_info| structure
@@ -335,9 +335,9 @@
 unused location of |tok_start| is called |text_ptr|.
 Thus, we usually have |*text_ptr==tok_ptr|.
 
- at d max_toks 20000 /* number of symbols in \CEE/ texts being parsed;
+ at d max_toks 30000 /* number of symbols in \CEE/ texts being parsed;
   must be less than 65536 */
- at d max_texts 4000 /* number of phrases in \CEE/ texts being parsed;
+ at d max_texts 8000 /* number of phrases in \CEE/ texts being parsed;
   must be less than 10240 */
 
 @<Private...@>=
@@ -3765,7 +3765,7 @@
 } output_state;
 typedef output_state *stack_pointer;
 
-@ @d stack_size 400 /* number of simultaneous output levels */
+@ @d stack_size 2000 /* number of simultaneous output levels */
 @d cur_end cur_state.end_field /* current ending location in |tok_mem| */
 @d cur_tok cur_state.tok_field /* location of next output token in |tok_mem| */
 @d cur_mode cur_state.mode_field /* current mode of interpretation */

Modified: trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch	2022-01-15 12:07:27 UTC (rev 61610)
@@ -220,10 +220,10 @@
 the program sources at \.{ftp://ftp.cs.stanford.edu/pub/ctwill}.
 @y
 the program sources at
-\pdfURL{\.{ftp://ftp.cs.stanford.edu/pub/ctwill}}%
-          {ftp://ftp.cs.stanford.edu/pub/ctwill}.%
-\cwebfootnote{\TeX~Live comes with an up-to-date \.{ctwill} executable -- and
-its associated helpers -- out of the box.}
+\pdfURL{\.{http://ftp.cs.stanford.edu/pub/ctwill}}%
+          {http://ftp.cs.stanford.edu/pub/ctwill}.%
+\cwebfootnote{\TeX~Live comes with an up-to-date
+\.{ctwill} executable -- and its associated helpers -- out of the box.}
 @z
 
 @x

Modified: trunk/Build/source/texk/web2c/cwebdir/cwebman.tex
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cwebman.tex	2022-01-15 00:48:31 UTC (rev 61609)
+++ trunk/Build/source/texk/web2c/cwebdir/cwebman.tex	2022-01-15 12:07:27 UTC (rev 61610)
@@ -1600,8 +1600,8 @@
 \point 9. Data for the table of contents is written to a file that
 is read after the indexes have been \TEX/ed; there's one line of data
 for every starred section. The file \.{common.toc} might look like this:
-$$\lpile{\.{\\ZZ \{Introduction\}\{0\}\{1\}\{28\}\{\}}\cr
-  \.{\\ZZ \{The character set\}\{2\}\{5\}\{29\}\{\}}\cr}$$
+$$\lpile{\.{\\ZZ \{Introduction\}\{0\}\{1\}\{29\}\{\}}\cr
+  \.{\\ZZ \{The character set\}\{1\}\{21\}\{35\}\{\}}\cr}$$
 and so on. The \.{\\topofcontents} macro could
 redefine \.{\\ZZ} so that the information appears in any desired format.
 (See also point~19 below.)



More information about the tex-live-commits mailing list.