1
From ba576b3bb5d3003325a5a1bfb48a7a5d8c74934a Mon Sep 17 00:00:00 2001
2
From: Jari Aalto <jari.aalto@cante.net>
3
Date: Fri, 18 Nov 2011 15:31:45 +0200
4
Subject: [PATCH] Web/common.c: miscellaneous
6
Content-Type: text/plain; charset="utf-8"
7
Content-Transfer-Encoding: 8bit
9
Signed-off-by: Jari Aalto <jari.aalto@cante.net>
11
Web/common.c | 1776 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
12
1 files changed, 1528 insertions(+), 248 deletions(-)
14
diff --git a/Web/common.c b/Web/common.c
15
index 41bad7d..65c8906 100644
21
- created with UNIX on "Thursday, September 24, 1998 at 16:12." \
22
- COMMAND LINE: "Web/ftangle Web/common -A -# --F -= 1.62/Web/common.c"\
23
- RUN TIME: "Friday, September 25, 1998 at 8:02."\
24
- WEB FILE: "Web/common.web"\
26
+ created with UNIX on "Friday, September 25, 1998 at 8:02." \
27
+ COMMAND LINE: "./ftangle ./common -uCONFIG -mCONFIG -mGCC -= common.c"\
28
+ RUN TIME: "Tuesday, December 14, 1999 at 0:39."\
29
+ WEB FILE: "./common.web"\
33
#define COMMON_FCNS_ \
35
-#define VERSION "1.61"
36
+#define VERSION "1.62"
37
#define RELEASE_DATE "September 23, 1998" \
40
@@ -94,17 +94,17 @@ its present value of %lu characters."),buf_size); \
42
#define MARK(type,delim,len)mark_cmnt(type,delim,len,p) \
44
-#define BLANK_OUT(d)MEMSET((d)->pos,040,(d)->len) \
45
+#define BLANK_OUT(d)MEMSET((d)->pos,' ',(d)->len) \
47
#define is_C_style_cmnt (C_style_cmnt= ((short_cmnt= Cpp_comments&&*lp== \
48
-057&&*(lp+1)==057))||(*lp==057&&*(lp+1)==052)) \
49
+'/'&&*(lp+1)=='/'))||(*lp=='/'&&*(lp+1)=='*')) \
51
#define start_comment (is_C_style_cmnt||(*lp==(char)begin_comment0) \
52
||(*lp==(char)begin_comment1)) \
54
#define start_Rcomment ((R_style_cmnt= BOOLEAN(*lp==cmnt_char&& \
55
*(lp+1)!=cmnt_char&&*(lp-1)!=cmnt_char&& \
56
-!(*(lp-1)==0100)))||is_C_style_cmnt) \
57
+!(*(lp-1)=='@')))||is_C_style_cmnt) \
59
#define k0 cur0_prms->K0
60
#define found_at cur0_prms->Found_at
61
@@ -136,15 +136,15 @@ if(*end==BP_MARKER&&np!=npmax)end= ((BP*)end)->byte_start \
63
#define hash_size 353 \
65
-#define stringg (eight_bits)02 \
66
+#define stringg (eight_bits)'\2' \
68
-#define constant (eight_bits)03
69
+#define constant (eight_bits)'\3'
70
#define begin_Xmeta or_or
71
#define end_Xmeta star_star
72
-#define cdir (eight_bits)06
73
-#define colon_colon (eight_bits)011 \
74
+#define cdir (eight_bits)'\6'
75
+#define colon_colon (eight_bits)'\11' \
77
-#define join (eight_bits)0177 \
78
+#define join (eight_bits)'\177' \
81
#define TOKEN1(a)((a)<ID0) \
82
@@ -167,84 +167,84 @@ if(*end==BP_MARKER&&np!=npmax)end= ((BP*)end)->byte_start \
86
-#define begin_comment0 (eight_bits)0376
87
-#define begin_comment1 (eight_bits)0375 \
88
+#define begin_comment0 (eight_bits)'\xFE'
89
+#define begin_comment1 (eight_bits)'\xFD' \
91
-#define module_number (eight_bits)0201
92
-#define identifier (eight_bits)0202
93
-#define id_keyword (eight_bits)0203 \
94
+#define module_number (eight_bits)'\201'
95
+#define identifier (eight_bits)'\202'
96
+#define id_keyword (eight_bits)'\203' \
98
-#define L_switch (eight_bits)0257
99
-#define begin_FORTRAN (eight_bits)0260
100
-#define begin_RATFOR (eight_bits)0261
101
-#define begin_C (eight_bits)0262
102
-#define begin_LITERAL (eight_bits)0263 \
103
+#define L_switch (eight_bits)'\257'
104
+#define begin_FORTRAN (eight_bits)'\260'
105
+#define begin_RATFOR (eight_bits)'\261'
106
+#define begin_C (eight_bits)'\262'
107
+#define begin_LITERAL (eight_bits)'\263' \
109
-#define verbatim (eight_bits)0264 \
110
+#define verbatim (eight_bits)'\264' \
113
-#define invisible_cmnt (eight_bits)0265
114
-#define compiler_directive (eight_bits)0266
115
-#define Compiler_Directive (eight_bits)0267 \
116
+#define invisible_cmnt (eight_bits)'\265'
117
+#define compiler_directive (eight_bits)'\266'
118
+#define Compiler_Directive (eight_bits)'\267' \
120
-#define keyword_name (eight_bits)0270 \
121
+#define keyword_name (eight_bits)'\270' \
123
-#define no_index (eight_bits)0300
124
-#define yes_index (eight_bits)0301 \
125
+#define no_index (eight_bits)'\300'
126
+#define yes_index (eight_bits)'\301' \
128
-#define ascii_constant (eight_bits)0302
129
-#define begin_vcmnt (eight_bits)0303
130
-#define big_line_break (eight_bits)0304 \
131
+#define ascii_constant (eight_bits)'\302'
132
+#define begin_vcmnt (eight_bits)'\303'
133
+#define big_line_break (eight_bits)'\304' \
135
-#define begin_bp (eight_bits)0305
136
-#define insert_bp (eight_bits)0306 \
137
+#define begin_bp (eight_bits)'\305'
138
+#define insert_bp (eight_bits)'\306' \
140
-#define begin_meta (eight_bits)017
141
-#define end_meta (eight_bits)027 \
142
+#define begin_meta (eight_bits)'\17'
143
+#define end_meta (eight_bits)'\27' \
145
-#define TeX_string (eight_bits)0307
146
-#define xref_roman (eight_bits)0310
147
-#define xref_typewriter (eight_bits)0311
148
-#define xref_wildcard (eight_bits)0312 \
149
+#define TeX_string (eight_bits)'\307'
150
+#define xref_roman (eight_bits)'\310'
151
+#define xref_typewriter (eight_bits)'\311'
152
+#define xref_wildcard (eight_bits)'\312' \
154
-#define control_text (eight_bits)0313 \
155
+#define control_text (eight_bits)'\313' \
157
-#define begin_nuweb (eight_bits)0314
158
-#define no_mac_expand (eight_bits)0315
159
-#define set_line_info (eight_bits)0316
160
-#define short_fcn (eight_bits)0317 \
161
+#define begin_nuweb (eight_bits)'\314'
162
+#define no_mac_expand (eight_bits)'\315'
163
+#define set_line_info (eight_bits)'\316'
164
+#define short_fcn (eight_bits)'\317' \
166
-#define formatt (eight_bits)0320 \
167
+#define formatt (eight_bits)'\320' \
169
-#define limbo_text (eight_bits)0323
170
-#define op_def (eight_bits)0324
171
-#define macro_def (eight_bits)0325 \
172
+#define limbo_text (eight_bits)'\323'
173
+#define op_def (eight_bits)'\324'
174
+#define macro_def (eight_bits)'\325' \
176
-#define ignore_defn (eight_bits)0327 \
177
+#define ignore_defn (eight_bits)'\327' \
179
-#define new_output_file (eight_bits)0331 \
180
+#define new_output_file (eight_bits)'\331' \
182
-#define definition (eight_bits)0332
183
-#define undefinition (eight_bits)0333
184
-#define WEB_definition (eight_bits)0334 \
185
+#define definition (eight_bits)'\332'
186
+#define undefinition (eight_bits)'\333'
187
+#define WEB_definition (eight_bits)'\334' \
189
-#define m_ifdef (eight_bits)0335
190
-#define m_ifndef (eight_bits)0336
191
-#define m_if (eight_bits)0337
192
-#define m_else (eight_bits)0340
193
-#define m_elif (eight_bits)0341
194
-#define m_endif (eight_bits)0342
195
-#define m_for (eight_bits)0343
196
-#define m_endfor (eight_bits)0344
197
-#define m_line (eight_bits)0345
198
-#define m_undef (eight_bits)0346 \
199
+#define m_ifdef (eight_bits)'\335'
200
+#define m_ifndef (eight_bits)'\336'
201
+#define m_if (eight_bits)'\337'
202
+#define m_else (eight_bits)'\340'
203
+#define m_elif (eight_bits)'\341'
204
+#define m_endif (eight_bits)'\342'
205
+#define m_for (eight_bits)'\343'
206
+#define m_endfor (eight_bits)'\344'
207
+#define m_line (eight_bits)'\345'
208
+#define m_undef (eight_bits)'\346' \
210
-#define end_of_buffer (eight_bits)0347 \
211
+#define end_of_buffer (eight_bits)'\347' \
213
-#define begin_code (eight_bits)0350
214
-#define module_name (eight_bits)0351 \
215
+#define begin_code (eight_bits)'\350'
216
+#define module_name (eight_bits)'\351' \
218
-#define new_module (eight_bits)0352 \
219
+#define new_module (eight_bits)'\352' \
221
#define MAX_ERR_BUF 160 \
223
@@ -317,9 +317,13 @@ if(mp+(n)>buf_end) \
224
OVERFLW("Keyword buffer","") \
226
#define CUR_QUOTE ((eight_bits)(single_quote||(!double_quote&&R77_or_F)? \
231
+#line 44 "./common.web"
234
+#line 16 "./typedefs.hweb"
238
@@ -331,6 +335,9 @@ OVERFLW("Keyword buffer","") \
244
+#line 42 "./typedefs.hweb"
247
#if(part == 0 || part == 1)
248
@@ -344,19 +351,32 @@ OVERFLW("Keyword buffer","") \
253
+#line 45 "./common.web"
257
+#line 440 "./typedefs.hweb"
259
#include "typedefs.h"
263
+#line 65 "./common.web"
265
+#line 8 "./xrefs.hweb"
269
+#line 72 "./common.web"
274
+#line 47 "./common.web"
277
+#line 84 "./common.web"
281
@@ -366,6 +386,9 @@ extern unsigned _stklen= STKLEN;
287
+#line 184 "./common.web"
290
IN_COMMON ASCII xord[last_text_char+1];
291
@@ -374,17 +397,26 @@ ASCII xxord[last_text_char+1];
293
IN_COMMON outer_char xchr[0200];
297
+#line 475 "./common.web"
300
extern DOTS dots0[],mcmds[];
305
+#line 483 "./common.web"
308
IN_COMMON BUF_SIZE delta_dots;
309
IN_COMMON BUF_SIZE ndots;
310
IN_COMMON DOTS HUGE*dots,HUGE*dots_end,HUGE*next_dot;
314
+#line 661 "./common.web"
317
IN_COMMON BUF_SIZE buf_size;
318
@@ -408,20 +440,32 @@ ASCII HUGE*pos;
319
IN_COMMON CMNT_DATA posns[CMNT_MARKS],HUGE*pcmnt CSET(posns),
320
HUGE*pcmnt_end CSET(posns+CMNT_MARKS);
324
+#line 1504 "./common.web"
327
IN_COMMON ASCII HUGE*pk;
331
+#line 1549 "./common.web"
334
IN_COMMON ASCII HUGE*lp,HUGE*semi_pos;
335
IN_COMMON boolean found_text,text,C_style_cmnt,short_cmnt,R_style_cmnt;
339
+#line 1693 "./common.web"
342
IN_COMMON ASCII HUGE*last_pos;
343
IN_COMMON ASCII cmnt_char;
347
+#line 2443 "./common.web"
350
IN_COMMON sixteen_bits module_count;
351
@@ -440,6 +484,9 @@ IN_COMMON boolean no_more_input CSET(NO);
357
+#line 3325 "./common.web"
361
@@ -512,16 +559,25 @@ IN_COMMON boolean no_more_input CSET(NO);
367
+#line 3678 "./common.web"
370
IN_COMMON name_pointer name_ptr;
371
IN_COMMON ASCII HUGE*byte_ptr;
375
+#line 4962 "./common.web"
378
IN_COMMON ASCII HUGE*pformat,HUGE*pdefault,HUGE*pdata,
379
HUGE*pbp,HUGE*pinclude,HUGE*ppragma,HUGE*pcontains;
383
+#line 4996 "./common.web"
386
IN_COMMON outer_char outp_buf[MAX_OUTPUT_LINE_LENGTH];
387
@@ -536,17 +592,26 @@ IN_COMMON outer_char prefix_end_char CSET(PREFIX_END_CHAR);
389
IN_COMMON boolean all_std CSET(NO);
393
+#line 6559 "./common.web"
396
IN_COMMON STMT_LBL max_stmt CSET(STARTING_DO_NUM);
401
+#line 7419 "./common.web"
404
IN_COMMON double g_ratio CSET(G_RATIO);
405
IN_COMMON unsigned short marginal_cases CSET(MARGINAL_CASES);
406
IN_COMMON CASE_TYPE max_spread CSET(MAX_SPREAD);
410
+#line 8869 "./common.web"
413
IN_COMMON CONST char*day[]
414
@@ -562,6 +627,9 @@ IN_COMMON CONST char*month[]
420
+#line 8943 "./common.web"
424
@@ -593,7 +661,11 @@ return t1-t0;
429
+#line 48 "./common.web"
432
+#line 79 "./xrefs.hweb"
435
typedef struct xref_info0
436
@@ -609,12 +681,18 @@ typedef ASCII HUGE*XREF_POINTER;
442
+#line 27 "./tokens.hweb"
445
typedef sixteen_bits Token;
446
typedef Token HUGE*token_pointer;
447
typedef token_pointer HUGE*text_pointer;
451
+#line 44 "./scraps.hweb"
455
@@ -626,15 +704,23 @@ eight_bits mathness;
460
+#line 77 "./common.web"
464
+#line 55 "./scraps.hweb"
469
typedef scrap HUGE*scrap_pointer;
473
+#line 46 "./stacks.hweb"
475
+#line 47 "./stacks.hweb"
478
eight_bits HUGE*end_field;
479
@@ -649,6 +735,9 @@ eight_bits HUGE*macro_buf,HUGE*mp,HUGE*macro_buf_end;
481
typedef output_state HUGE*stack_pointer;
485
+#line 19 "./trunc.hweb"
489
@@ -679,7 +768,11 @@ ASCII HUGE*id,HUGE*id_end;
490
BP HUGE*first,HUGE*last;
491
struct Trunc HUGE*next;
493
+#line 3628 "./common.web"
497
+#line 5713 "./common.web"
501
@@ -694,24 +787,38 @@ IN_COMMON SECT_INFO HUGE*sect_info;
502
IN_COMMON outer_char HUGE*HUGE*mod_names;
503
IN_COMMON outer_char HUGE*HUGE*next_mod_name,HUGE*HUGE*last_mod_name;
506
+#line 49 "./common.web"
509
+#line 761 "./common.web"
512
IN_COMMON long start_line CSET(1);
514
IN_COMMON long end_line CSET(LONG_MAX);
518
+#line 2576 "./common.web"
521
IN_COMMON int stored_line_length;
522
IN_COMMON ASCII HUGE*stored_line;
526
+#line 2624 "./common.web"
529
IN_COMMON outer_char last_include_file[MAX_FILE_NAME_LENGTH]CSET(""),
530
this_include_file[MAX_FILE_NAME_LENGTH]CSET("");
533
+#line 50 "./common.web"
536
+#line 426 "./typedefs.hweb"
540
@@ -725,10 +832,16 @@ this_include_file[MAX_FILE_NAME_LENGTH]CSET("");
546
+#line 47 "./xrefs.hweb"
549
EXTERN boolean change_exists;
553
+#line 111 "./xrefs.hweb"
557
@@ -746,7 +859,11 @@ EXTERN boolean defd_switch;
558
EXTERN NAME_TYPE defd_type SET(NEVER_DEFINED);
559
EXTERN boolean typd_switch;
560
EXTERN boolean index_short;
561
+#line 8 "./tokens.hweb"
565
+#line 37 "./tokens.hweb"
568
EXTERN long max_toks;
569
@@ -764,7 +881,11 @@ EXTERN text_pointer text_ptr;
571
EXTERN token_pointer mx_tok_ptr;
572
EXTERN text_pointer mx_text_ptr;
573
+#line 8 "./scraps.hweb"
577
+#line 67 "./scraps.hweb"
580
EXTERN long max_scraps;
581
@@ -779,6 +900,9 @@ EXTERN scrap_pointer hi_ptr;
583
EXTERN scrap_pointer mx_scr_ptr;
587
+#line 82 "./stacks.hweb"
590
EXTERN output_state cur_state;
591
@@ -788,12 +912,19 @@ EXTERN long stck_size;
592
EXTERN output_state HUGE*stack;
593
EXTERN stack_pointer stck_end;
594
EXTERN stack_pointer stck_ptr;
595
+#line 70 "./common.web"
599
+#line 1356 "./common.web"
602
IN_COMMON ASCII string_char;
603
IN_COMMON boolean in_char_string;
607
+#line 2196 "./common.web"
610
IN_COMMON INPUT_PARAMS change_params0
611
@@ -802,35 +933,55 @@ IN_COMMON INPUT_PARAMS change_params0
617
+#line 2695 "./common.web"
620
IN_COMMON BUF_SIZE max_ifiles;
621
IN_COMMON outer_char**ifiles;
622
IN_COMMON int num_ifiles;
626
+#line 3051 "./common.web"
629
IN_COMMON BUF_SIZE max_keywords;
630
IN_COMMON RCS HUGE*rcs;
631
IN_COMMON unsigned num_keywords;
635
+#line 10 "./mem.hweb"
637
+#line 11 "./mem.hweb"
640
#include SFILE(y_type.h)
642
+#line 3163 "./common.web"
646
+#line 3168 "./common.web"
649
IN_COMMON BUF_SIZE total_mem CSET(0);
651
IN_COMMON BUF_SIZE max_mem CSET(0);
655
+#line 3312 "./common.web"
658
IN_COMMON boolean show_mem CSET(SHOW_MEM);
659
IN_COMMON BUF_SIZE show_size CSET(10000);
663
+#line 3398 "./common.web"
667
@@ -914,6 +1065,9 @@ DFLT_MAX_TOKS_W,UL(65536L)},
669
IN_COMMON size_t sizeof_mem CSET(sizeof(mem));
673
+#line 3895 "./common.web"
676
IN_COMMON boolean info_option CSET(NO);
677
@@ -926,6 +1080,9 @@ IN_COMMON RSRVD rsrvd
678
IN_COMMON outer_char HUGE*style_args CSET(NULL);
679
IN_STYLE ASCII HUGE*at_codes;
683
+#line 4204 "./common.web"
686
IN_COMMON CONST char*origin_name[]
687
@@ -934,12 +1091,18 @@ IN_COMMON CONST char*origin_name[]
693
+#line 5044 "./common.web"
696
IN_COMMON boolean found_web,found_change;
697
IN_COMMON outer_char wbflnm0[MAX_FILE_NAME_LENGTH];
702
+#line 5147 "./common.web"
706
@@ -952,51 +1115,79 @@ IN_COMMON outer_char HUGE*HUGE*pn0;
707
IN_COMMON outer_char HUGE*HUGE*pn1;
708
IN_COMMON FILE*ini_file CSET(NULL);
712
+#line 5366 "./common.web"
715
IN_COMMON INCL_PATHS incl;
716
IN_COMMON INCL_PATHS hdr_incl;
720
+#line 5912 "./common.web"
723
jmp_buf top_of_get_arg;
727
+#line 6138 "./common.web"
730
IN_COMMON outer_char style_file_name[MAX_FILE_NAME_LENGTH]
731
CSET(STYLE_FILE_NAME);
732
IN_COMMON boolean renamed_style CSET(NO);
736
+#line 6175 "./common.web"
739
IN_COMMON boolean doing_cmd_line;
740
IN_COMMON boolean cmd_prms;
744
+#line 7691 "./common.web"
747
IN_COMMON ASCII HUGE*fbuffer,HUGE*flimit,HUGE*floc;
752
+#line 7760 "./common.web"
755
IN_COMMON BUF_SIZE starting_memory CSET(ULONG_MAX);
760
+#line 8096 "./common.web"
763
IN_COMMON outer_char*extra_args;
765
IN_COMMON boolean mod_warning_flag CSET(NEVER_USED);
769
+#line 9221 "./common.web"
772
IN_COMMON boolean single_quote CSET(NO),double_quote CSET(NO);
775
+#line 51 "./common.web"
782
+#line 204 "./common.web"
786
@@ -1011,6 +1202,8 @@ translate_ASCII= YES;
791
+#line 243 "./common.web"
794
STRNCPY(xchr," !\"#$%&'()*+,-./0123456789\
795
@@ -1019,11 +1212,17 @@ sizeof(xchr));
798
xchr[tab_mark]= '\t';
803
+#line 411 "./common.web"
807
+#line 253 "./common.web"
810
+#line 260 "./common.web"
814
@@ -1032,9 +1231,9 @@ int i;
816
for(i= first_text_char;i<=last_text_char;i++)
820
#ifdef scramble_ASCII
826
@@ -1058,10 +1257,16 @@ xord[(eight_bits)XCHR_[i]]= (ASCII)i;
831
+#line 254 "./common.web"
836
+#line 218 "./common.web"
839
+#line 4729 "./common.web"
843
@@ -1069,34 +1274,41 @@ int k;
847
-for(k= 0101;k<=0132;k++)
848
+for(k= 'A';k<='Z';k++)
851
-for(k= 0141;k<=0172;k++)
852
+for(k= 'a';k<='z';k++)
855
-TeX[0134]= TeX_escape;
856
-TeX[0173]= TeX_bgroup;
857
-TeX[0175]= TeX_egroup;
858
-TeX[044]= TeX_math_shift;
859
-TeX[046]= TeX_alignment_tab;
861
-TeX[043]= TeX_parameter;
862
-TeX[0136]= TeX_superscript;
863
-TeX[0137]= TeX_subscript;
864
+TeX['\\']= TeX_escape;
865
+TeX['{']= TeX_bgroup;
866
+TeX['}']= TeX_egroup;
867
+TeX['$']= TeX_math_shift;
868
+TeX['&']= TeX_alignment_tab;
870
+TeX['#']= TeX_parameter;
871
+TeX['^']= TeX_superscript;
872
+TeX['_']= TeX_subscript;
874
-TeX[040]= TeX[tab_mark]= TeX_space;
875
-TeX[0176]= TeX_active;
876
-TeX[045]= TeX_comment;
877
+TeX[' ']= TeX[tab_mark]= TeX_space;
878
+TeX['~']= TeX_active;
879
+TeX['%']= TeX_comment;
880
TeX[0177]= TeX_invalid;
884
+#line 219 "./common.web"
887
+#line 2221 "./common.web"
890
ALLOC(INPUT_PRMS,prms,"id",max_include_depth,1);
895
+#line 3708 "./common.web"
898
hash= GET_MEM("hash",hash_size,name_pointer);
899
@@ -1104,6 +1316,9 @@ hash_end= hash+hash_size-1;
901
for(h= hash;h<=hash_end;*h++= NULL);
905
+#line 4969 "./common.web"
908
pformat= x__to_ASCII(OC("format"));
909
@@ -1121,19 +1336,29 @@ conv_dot(dots0);
915
+#line 6551 "./common.web"
918
SET_VAL(mbuf_size,"mb");
922
+#line 7865 "./common.web"
925
init_buf(&sput_buf,10);
930
+#line 220 "./common.web"
935
+#line 4761 "./common.web"
939
@@ -1331,10 +1556,16 @@ translate_ASCII= YES;
940
global_params= params;
944
+#line 223 "./common.web"
948
+#line 8594 "./common.web"
952
+#line 8619 "./common.web"
956
@@ -1348,6 +1579,8 @@ for(k= 0;k<NUM_LANGUAGES;k++)
957
new_fname(params.outp_nm+k,NULL,NULL);
961
+#line 8596 "./common.web"
965
@@ -1356,6 +1589,8 @@ if(found_web)
967
ini_input_prms(WEB_FILE,(outer_char HUGE*)"",ABORT_ON_ERROR);
970
+#line 8671 "./common.web"
973
outer_char temp1[100],temp2[1000],
974
@@ -1393,6 +1628,8 @@ STRCAT(cmd_ln_buf,temp1);
975
STRCAT(cmd_ln_buf,temp2);
979
+#line 8604 "./common.web"
983
@@ -1407,6 +1644,8 @@ ini_language(XORD(*LANGUAGE_CODE(GLOBAL_LANGUAGE)));
984
global_params= params;
988
+#line 225 "./common.web"
992
@@ -1414,6 +1653,8 @@ banner();
997
+#line 490 "./common.web"
1001
@@ -1432,6 +1673,9 @@ confusion(OC("dots allocation"),OC("Invalid dot code"));
1007
+#line 2230 "./common.web"
1010
BUF_SIZE cur_prms_units;
1011
@@ -1444,20 +1688,32 @@ prms= (INPUT_PRMS*)REALLOC(prms,
1012
(DFLT_MAX_INCLUDE_DEPTH+1)*sizeof(INPUT_PRMS));
1017
+#line 2462 "./common.web"
1020
ALLOC(boolean,chngd_module,"m",max_modules,0);
1024
+#line 2702 "./common.web"
1027
ALLOC(outer_char*,ifiles,"if",max_ifiles,0);
1032
+#line 3058 "./common.web"
1035
ALLOC(RCS,rcs,"rk",max_keywords,0);
1040
+#line 3615 "./common.web"
1043
ALLOC(ASCII,byte_mem,"b",max_bytes,0);
1044
@@ -1470,11 +1726,18 @@ name_end= name_dir+max_names-1;
1045
ALLOC(ASCII,mod_text,"ln",longest_name,1);
1046
mod_end= mod_text+longest_name;
1048
+#line 8 "./trunc.hweb"
1052
+#line 5728 "./common.web"
1055
ALLOC(SECT_INFO,sect_info,"m",max_modules,0);
1059
+#line 8854 "./common.web"
1063
@@ -1484,7 +1747,11 @@ max_margs++;
1068
+#line 232 "./common.web"
1071
+#line 3684 "./common.web"
1074
CAST(name_pointer,name_dir)->byte_start= byte_ptr= byte_mem;
1075
@@ -1493,11 +1760,18 @@ name_ptr= name_dir+1;
1076
CAST(name_pointer,name_ptr)->byte_start= byte_mem;
1081
+#line 4027 "./common.web"
1087
+#line 233 "./common.web"
1090
+#line 3910 "./common.web"
1093
if(rsrvd.args)see_reserved(&rsrvd);
1094
@@ -1507,6 +1781,8 @@ if(!found_web&&info_option&&!at_codes)
1099
+#line 234 "./common.web"
1102
more_includes(&incl,wt_style.Idir);
1103
@@ -1515,6 +1791,9 @@ if(found_web)
1109
+#line 299 "./common.web"
1113
@@ -1538,6 +1817,9 @@ else
1114
return(ASCII HUGE*)p0;
1119
+#line 325 "./common.web"
1123
@@ -1578,6 +1860,9 @@ else
1124
return(ASCII HUGE*)p0;
1129
+#line 366 "./common.web"
1133
@@ -1593,6 +1878,9 @@ for(p= (ASCII HUGE*)p0;*p;p++)
1134
return(ASCII HUGE*)p0;
1139
+#line 383 "./common.web"
1143
@@ -1607,6 +1895,9 @@ for(p= (outer_char HUGE*)p0;*p;p++)*p= XCHR(*(ASCII HUGE*)p);
1144
return(outer_char HUGE*)p0;
1149
+#line 422 "./common.web"
1153
@@ -1619,10 +1910,13 @@ if(m4&&is_in(incl_likes,id_first,id_loc))return YES;
1155
if(program==tangle)return NO;
1157
-if(!(*id_first==044||*id_first==0137))return NO;
1158
+if(!(*id_first=='$'||*id_first=='_'))return NO;
1159
return is_in(WEB_incl_likes,id_first,id_loc);
1164
+#line 439 "./common.web"
1166
SRTN conv_bi FCN((b))
1167
BUILT_IN HUGE*b C1("")
1168
@@ -1639,6 +1933,9 @@ for(;d->code!=0;d++)
1169
d->symbol= x__to_ASCII((outer_char*)d->symbol);
1174
+#line 457 "./common.web"
1178
@@ -1656,6 +1953,9 @@ return YES;
1184
+#line 510 "./common.web"
1188
@@ -1671,6 +1971,9 @@ p[k]= A_TO_UPPER(p[k]);
1194
+#line 528 "./common.web"
1198
@@ -1683,10 +1986,10 @@ ASCII temp[MAX_DOT_LENGTH];
1201
for(p= loc,n= 0;n<MAX_DOT_LENGTH;n++,p++)
1202
-if(*p==056||!isAlpha(*p))
1203
+if(*p=='.'||!isAlpha(*p))
1206
-if(*p!=056||p==loc)
1207
+if(*p!='.'||p==loc)
1211
@@ -1696,6 +1999,9 @@ return BOOLEAN(CHOICE(dot_code(dots,uppercase(temp,n),temp+n,dot_const),
1217
+#line 557 "./common.web"
1221
@@ -1748,6 +2054,9 @@ next_dot->len= 0;
1227
+#line 611 "./common.web"
1231
@@ -1766,6 +2075,9 @@ return 0;
1237
+#line 692 "./common.web"
1241
@@ -1810,14 +2122,19 @@ return NO;
1243
if(column_mode&&FORTRAN_LIKE(language)&&
1244
PTR_DIFF(size_t,limit,cur_buffer)==2&&
1245
-((!auto_semi&&(cur_buffer[1]==073||cur_buffer[1]==040))||
1246
-(auto_semi&&cur_buffer[1]==073&&(cur_buffer[0]=='C'||
1247
-cur_buffer[0]==0143||cur_buffer[0]==052))))
1248
+((!auto_semi&&(cur_buffer[1]==';'||cur_buffer[1]==' '))||
1249
+(auto_semi&&cur_buffer[1]==';'&&(cur_buffer[0]=='C'||
1250
+cur_buffer[0]=='c'||cur_buffer[0]=='*'))))
1256
+#line 746 "./common.web"
1260
+#line 768 "./common.web"
1263
register ASCII HUGE*k;
1264
@@ -1860,12 +2177,17 @@ puts("\"");
1269
+#line 748 "./common.web"
1278
+#line 816 "./common.web"
1282
@@ -1874,9 +2196,13 @@ rd_free_form(VOID)
1283
register int c= '\0';
1284
register ASCII HUGE*k;
1287
+#line 830 "./common.web"
1290
if(num_in_buffer!=0)
1292
+#line 1011 "./common.web"
1295
STRNCPY(cur_buffer,k0,num_in_buffer);
1296
@@ -1885,19 +2211,26 @@ limit= cur_buffer+num_in_buffer-N_END;
1301
+#line 833 "./common.web"
1305
if(feof(cur0_prms->File))
1309
+#line 857 "./common.web"
1316
+#line 867 "./common.web"
1318
while(k<=buffer_end&&(c= getc(cur0_prms->File))!=EOF&&c!='\n')
1319
-if((*(k++)= XORD(c))!=040)limit= k;
1320
+if((*(k++)= XORD(c))!=' ')limit= k;
1324
@@ -1912,15 +2245,25 @@ if(c==EOF&&limit==cur_buffer)
1329
+#line 839 "./common.web"
1333
+#line 843 "./common.web"
1338
+#line 824 "./common.web"
1346
+#line 940 "./common.web"
1350
@@ -1940,6 +2283,8 @@ in_char_string= NO;
1352
for(k= limit;;k= k0= (limit+= N_END),first_line= NO,cur_line++)
1353
if(num_in_buffer==0)
1355
+#line 1020 "./common.web"
1359
@@ -1955,9 +2300,13 @@ goto concatenate_cmnts;
1364
+#line 1121 "./common.web"
1369
+#line 1218 "./common.web"
1373
@@ -1986,12 +2335,14 @@ break;
1378
+#line 1124 "./common.web"
1381
while(k<=buffer_end&&(c= getc(cur0_prms->File))!=EOF&&c!='\n')
1382
if(c=='\t'&&k<=buffer_end-6)
1389
@@ -2000,7 +2351,7 @@ outer_char c1;
1392
c= XCHR(interior_semi);
1393
-else if(point_comments&&(*k0!=0100)&&
1394
+else if(point_comments&&(*k0!='@')&&
1395
(escaped_char= BOOLEAN(c=='\\')))
1397
c= getc(cur0_prms->File);
1398
@@ -2015,7 +2366,7 @@ c= '\\';
1401
if((*(k++)= CHOICE(IS_POINT(c)&&!escaped_char,
1402
-(ASCII)begin_comment1,XORD(c)))!=040)
1403
+(ASCII)begin_comment1,XORD(c)))!=' ')
1407
@@ -2030,18 +2381,20 @@ if(c==EOF&&limit==cur_buffer)return NO;
1412
+#line 1035 "./common.web"
1417
-MEMSET(limit,040,N_END);
1418
+MEMSET(limit,' ',N_END);
1423
-at_line= BOOLEAN(*k0==0100&&*(k0+1)!=057);
1424
+at_line= BOOLEAN(*k0=='@'&&*(k0+1)!='/');
1426
-if(at_line&&(*(k0+1)==052||*(k0+1)==040))
1427
+if(at_line&&(*(k0+1)=='*'||*(k0+1)==' '))
1431
@@ -2065,6 +2418,8 @@ continue;
1434
if(!(at_line||scanning_C_cmnt))
1436
+#line 1172 "./common.web"
1439
boolean is_cmnt= NO,Fortran_cmnt= NO,C_cmnt= NO;
1440
@@ -2075,9 +2430,9 @@ ASCII HUGE*p= k0;
1450
case(ASCII)begin_comment0:
1451
case(ASCII)begin_comment1:
1452
is_cmnt= Fortran_cmnt= YES;
1453
@@ -2086,11 +2441,11 @@ break;
1461
-if((*p==057&&(*(p+1)==052
1462
-||(*(p+1)==057&&Cpp_comments&&!ignore_C)))
1463
+if((*p=='/'&&(*(p+1)=='*'
1464
+||(*(p+1)=='/'&&Cpp_comments&&!ignore_C)))
1465
||*p==(ASCII)begin_comment0
1466
||*p==(ASCII)begin_comment1)
1467
is_cmnt= C_cmnt= YES;
1468
@@ -2098,6 +2453,8 @@ break;
1473
+#line 1250 "./common.web"
1477
@@ -2111,7 +2468,7 @@ goto concatenate_cmnts;
1481
-MEMSET(k0-N_END,040,N_END);
1482
+MEMSET(k0-N_END,' ',N_END);
1486
@@ -2131,12 +2488,16 @@ continue;
1491
+#line 1205 "./common.web"
1497
-if(limit-k0>=5&&!(k0[5]==040||k0[5]==060))
1498
+if(limit-k0>=5&&!(k0[5]==' '||k0[5]=='0'))
1500
+#line 1289 "./common.web"
1503
register ASCII HUGE*l;
1504
@@ -2155,7 +2516,7 @@ continue;
1507
for(l= k0;l<k0+5;++l)
1513
@@ -2166,15 +2527,19 @@ break;
1515
if(stuff_in_1_5)goto neither_cmnt_nor_continuation;
1524
+#line 1211 "./common.web"
1530
+#line 1070 "./common.web"
1534
@@ -2197,6 +2562,8 @@ continue;
1539
+#line 1098 "./common.web"
1543
@@ -2214,13 +2581,21 @@ cur_line--;
1548
+#line 1092 "./common.web"
1553
+#line 959 "./common.web"
1557
+#line 984 "./common.web"
1561
+#line 1011 "./common.web"
1564
STRNCPY(cur_buffer,k0,num_in_buffer);
1565
@@ -2229,6 +2604,8 @@ limit= cur_buffer+num_in_buffer-N_END;
1570
+#line 986 "./common.web"
1574
@@ -2251,22 +2628,30 @@ last_was_empty= BOOLEAN(limit==cur_buffer);
1579
+#line 961 "./common.web"
1584
-if(*cur_buffer==0100&&!(limit==cur_buffer+1||*(cur_buffer+1)==052||
1585
-*(cur_buffer+1)==040))
1586
+if(*cur_buffer=='@'&&!(limit==cur_buffer+1||*(cur_buffer+1)=='*'||
1587
+*(cur_buffer+1)==' '))
1588
for(k= cur_buffer+2;k<limit;++k)
1595
+#line 973 "./common.web"
1605
+#line 1326 "./common.web"
1609
@@ -2296,6 +2681,9 @@ pcmnt->len= 0;
1615
+#line 1365 "./common.web"
1619
@@ -2322,9 +2710,11 @@ p= limit;
1620
MARK(SHORT_CMNT,END,0);
1627
if(!scanning_C_cmnt)
1629
+#line 1430 "./common.web"
1633
@@ -2343,20 +2733,22 @@ break;
1638
+#line 1394 "./common.web"
1644
if(in_char_string||scanning_C_cmnt)
1647
-if(*(p+1)==057&&Cpp_comments&&!ignore_C)
1648
+if(*(p+1)=='/'&&Cpp_comments&&!ignore_C)
1650
MARK(SHORT_CMNT,START,2);
1652
MARK(SHORT_CMNT,END,0);
1654
-else if(*(p+1)==052)
1655
+else if(*(p+1)=='*')
1657
MARK(LONG_CMNT,START,2);
1659
@@ -2364,11 +2756,11 @@ p++;
1668
-if(scanning_C_cmnt&&*(p+1)==057)
1669
+if(scanning_C_cmnt&&*(p+1)=='/')
1671
MARK(LONG_CMNT,END,2);
1673
@@ -2378,6 +2770,9 @@ break;
1679
+#line 1452 "./common.web"
1683
@@ -2394,7 +2789,7 @@ for(d= posns+1;d<pcmnt;d+= 2)
1686
for(l= d->pos+d->len;l<(d+1)->pos;l++)
1692
@@ -2406,8 +2801,8 @@ if(d->type==SHORT_CMNT)
1695
*((d-1)->pos)= begin_comment0;
1702
else if(d->type==(d+1)->type)
1703
@@ -2418,6 +2813,8 @@ d->type= (d+1)->type= NO_CMNT;
1708
+#line 1555 "./common.web"
1711
boolean text_after= NO;
1712
@@ -2426,10 +2823,10 @@ if(pcmnt>posns)
1714
if(!scanning_C_cmnt)
1715
for(l= limit-1;l>(pcmnt-1)->pos+(pcmnt-1)->len;l--)
1725
@@ -2464,9 +2861,11 @@ lmin= (pcmnt-1)->pos+(pcmnt-1)->len;
1727
for(l= pcmnt->pos-1;l>=lmin;l--)
1732
semi_pos= pcmnt->pos;
1734
+#line 1628 "./common.web"
1737
*(semi_pos+1)= (ASCII)(((pcmnt+1)->type==LONG_CMNT?begin_comment0:
1738
@@ -2476,32 +2875,38 @@ begin_comment1));
1742
-if(semi_pos>cur_buffer&&*(semi_pos-1)==0100)
1743
+if(semi_pos>cur_buffer&&*(semi_pos-1)=='@')
1745
-*(semi_pos--)= 0100;
1746
+*(semi_pos--)= '@';
1754
+#line 1650 "./common.web"
1757
for(lp= semi_pos-1;lp>cur_buffer;lp--)
1759
-if(*lp==040)continue;
1760
+if(*lp==' ')continue;
1762
-if(*lp==057&&*(--lp)==0100)
1763
+if(*lp=='/'&&*(--lp)=='@')
1766
-*lp= 073;*(lp+1)= 0100;*(lp+2)= 057;
1768
+*lp= ';';*(lp+1)= '@';*(lp+2)= '/';
1775
+#line 1645 "./common.web"
1780
+#line 1603 "./common.web"
1782
goto done_auto_insert;
1784
@@ -2514,9 +2919,9 @@ pcmnt-= 2;
1787
for(l= limit-1;l>=cur_buffer;l--)
1796
@@ -2525,11 +2930,16 @@ done_auto_insert:
1801
+#line 1492 "./common.web"
1809
+#line 1667 "./common.web"
1813
@@ -2542,9 +2952,13 @@ boolean found_semi;
1818
+#line 830 "./common.web"
1821
if(num_in_buffer!=0)
1823
+#line 1011 "./common.web"
1826
STRNCPY(cur_buffer,k0,num_in_buffer);
1827
@@ -2553,19 +2967,26 @@ limit= cur_buffer+num_in_buffer-N_END;
1832
+#line 833 "./common.web"
1836
if(feof(cur0_prms->File))
1840
+#line 857 "./common.web"
1847
+#line 867 "./common.web"
1849
while(k<=buffer_end&&(c= getc(cur0_prms->File))!=EOF&&c!='\n')
1850
-if((*(k++)= XORD(c))!=040)limit= k;
1851
+if((*(k++)= XORD(c))!=' ')limit= k;
1855
@@ -2580,18 +3001,27 @@ if(c==EOF&&limit==cur_buffer)
1860
+#line 839 "./common.web"
1864
+#line 843 "./common.web"
1869
+#line 1679 "./common.web"
1874
-if(*cur_buffer==0100&&(limit==cur_buffer+1
1875
-||*(cur_buffer+1)==052||*(cur_buffer+1)==040))
1876
+if(*cur_buffer=='@'&&(limit==cur_buffer+1
1877
+||*(cur_buffer+1)=='*'||*(cur_buffer+1)==' '))
1881
+#line 1702 "./common.web"
1884
last_was_continued= continuing_line;
1885
@@ -2600,9 +3030,9 @@ continuing_line= NO;
1886
if(limit==cur_buffer)
1889
-limit[0]= limit[1]= limit[2]= limit[3]= 040;
1890
+limit[0]= limit[1]= limit[2]= limit[3]= ' ';
1895
found_semi= found_text= text= NO;
1897
@@ -2610,31 +3040,31 @@ semi_pos= NULL;
1901
-if(!free_form_input&&!(*cur_buffer==0100&&*(cur_buffer+1)==043))
1902
+if(!free_form_input&&!(*cur_buffer=='@'&&*(cur_buffer+1)=='#'))
1904
for(lp= cur_buffer;;)
1905
if(!skip_Rtext()||!skp_cmnt())break;
1909
-case 053:case 055:case 052:case 075:case 0173:case 0175:
1910
-case 0136:case 046:case 0174:case 050:case 072:
1911
-case 076:case 074:case 0133:case 054:case 0134:
1912
+case '+':case '-':case '*':case '=':case '{':case '}':
1913
+case '^':case '&':case '|':case '(':case ':':
1914
+case '>':case '<':case '[':case ',':case '\\':
1915
continuing_line= YES;
1921
if(last_pos>cur_buffer)
1926
if(isAlpha(c)||isDigit(c)||
1929
goto not_continuation;
1933
continuing_line= YES;
1936
@@ -2647,7 +3077,9 @@ break;
1940
-if(!text&&semi_pos!=NULL)
1941
+if(!text&&semi_pos!=NULL)/* 100: */
1942
+#line 1628 "./common.web"
1945
*(semi_pos+1)= (ASCII)(((pcmnt+1)->type==LONG_CMNT?begin_comment0:
1947
@@ -2656,50 +3088,63 @@ begin_comment1));
1951
-if(semi_pos>cur_buffer&&*(semi_pos-1)==0100)
1952
+if(semi_pos>cur_buffer&&*(semi_pos-1)=='@')
1954
-*(semi_pos--)= 0100;
1955
+*(semi_pos--)= '@';
1963
+#line 1650 "./common.web"
1966
for(lp= semi_pos-1;lp>cur_buffer;lp--)
1968
-if(*lp==040)continue;
1969
+if(*lp==' ')continue;
1971
-if(*lp==057&&*(--lp)==0100)
1972
+if(*lp=='/'&&*(--lp)=='@')
1975
-*lp= 073;*(lp+1)= 0100;*(lp+2)= 057;
1977
+*lp= ';';*(lp+1)= '@';*(lp+2)= '/';
1984
+#line 1645 "./common.web"
1989
+#line 1757 "./common.web"
1991
-else if(found_text&&limit>cur_buffer)*limit++= 073;
1992
+else if(found_text&&limit>cur_buffer)*limit++= ';';
2000
+#line 1687 "./common.web"
2008
+#line 1800 "./common.web"
2010
boolean skip_Rtext(VOID)
2012
-static ASCII blank= 040;
2013
+static ASCII blank= ' ';
2016
+#line 1836 "./common.web"
2019
if(scanning_C_cmnt)return YES;
2020
@@ -2707,10 +3152,12 @@ if(scanning_C_cmnt)return YES;
2024
-if(!(*lp==040||*lp==tab_mark))break;
2025
+if(!(*lp==' '||*lp==tab_mark))break;
2027
if(lp>=limit)return NO;
2030
+#line 1805 "./common.web"
2034
@@ -2729,18 +3176,21 @@ if(start_Rcomment)
2037
*lp= cmnt_char= begin_comment0;
2038
-*limit++= 052;*limit++= 057;
2039
+*limit++= '*';*limit++= '/';
2041
if(++lp<limit)return YES;
2044
-if(*lp!=040&&*lp!=tab_mark)
2045
+if(*lp!=' '&&*lp!=tab_mark)
2054
+#line 1848 "./common.web"
2056
boolean skp_cmnt(VOID)
2058
@@ -2764,11 +3214,11 @@ for(++lp;lp<limit;lp++)
2060
if(*lp==(ASCII)begin_comment0||*lp==(ASCII)begin_comment1)
2067
-if(*lp==052&&*(lp+1)==057)
2068
+if(*lp=='*'&&*(lp+1)=='/')
2071
if(lp<=limit)return YES;
2072
@@ -2781,14 +3231,17 @@ else
2074
for(++lp;lp<limit;lp++)
2075
if(*lp==(ASCII)begin_comment1)
2079
-*(limit-2)= 052;*(limit-1)= 057;
2080
+*(limit-2)= '*';*(limit-1)= '/';
2088
+#line 1941 "./common.web"
2092
@@ -2806,6 +3259,8 @@ column_mode= change_params.Column_mode;
2097
+#line 1978 "./common.web"
2101
@@ -2820,17 +3275,23 @@ goto done_priming;
2103
if(limit<cur_buffer+2)continue;
2105
-if(cur_buffer[0]!=0100)continue;
2106
+if(cur_buffer[0]!='@')continue;
2109
+#line 2056 "./common.web"
2112
-if((cur_buffer[1]>=0130&&cur_buffer[1]<=0132)||cur_buffer[1]==0111)
2113
-cur_buffer[1]+= 0172-0132;
2114
+if((cur_buffer[1]>='X'&&cur_buffer[1]<='Z')||cur_buffer[1]=='I')
2115
+cur_buffer[1]+= 'z'-'Z';
2118
+#line 1994 "./common.web"
2121
+#line 2063 "./common.web"
2124
-if(cur_buffer[1]==0151)
2125
+if(cur_buffer[1]=='i')
2129
@@ -2838,19 +3299,23 @@ err0_print(ERR_C,OC("Sorry, no includes allowed in change file"),0);
2134
+#line 1995 "./common.web"
2136
-if((c= cur_buffer[1])==0170)break;
2137
+if((c= cur_buffer[1])=='x')break;
2139
-if(c==0171||c==0172)
2144
err0_print(ERR_C,OC("Where is the matching @x?"),0);
2149
+#line 2008 "./common.web"
2154
if(limit==cur_buffer+2)
2156
err0_print(ERR_C,OC("Missing language character after @L"),0);
2157
@@ -2858,51 +3323,71 @@ else c= cur_buffer[2];
2162
+#line 95 "./typedefs.hweb"
2168
+#line 2017 "./common.web"
2170
language= change_params.Language=
2171
-(cur_buffer[2]==053)?C_PLUS_PLUS:C;
2172
+(cur_buffer[2]=='+')?C_PLUS_PLUS:C;
2173
column_mode= change_params.Column_mode= NO;
2177
+#line 98 "./typedefs.hweb"
2183
+#line 2023 "./common.web"
2185
if(!RAT_OK("Language change ignored"))continue;
2187
language= change_params.Language=
2188
-(cur_buffer[2]==071)?RATFOR_90:RATFOR;
2189
+(cur_buffer[2]=='9')?RATFOR_90:RATFOR;
2193
+#line 101 "./typedefs.hweb"
2199
+#line 2030 "./common.web"
2201
language= change_params.Language=
2202
-(cur_buffer[2]==071)?FORTRAN_90:FORTRAN;
2203
+(cur_buffer[2]=='9')?FORTRAN_90:FORTRAN;
2207
+#line 107 "./typedefs.hweb"
2215
+#line 2035 "./common.web"
2217
language= change_params.Language= LITERAL;continue;
2220
+#line 104 "./typedefs.hweb"
2226
+#line 2038 "./common.web"
2228
language= change_params.Language= TEX;continue;
2232
column_mode= change_params.Column_mode= YES;continue;
2236
column_mode= change_params.Column_mode= NO;continue;
2239
@@ -2913,10 +3398,16 @@ continue;
2244
+#line 2004 "./common.web"
2249
+#line 1959 "./common.web"
2252
+#line 2074 "./common.web"
2256
@@ -2932,6 +3423,8 @@ goto done_priming;
2258
while(limit==cur_buffer);
2261
+#line 1960 "./common.web"
2265
@@ -2945,6 +3438,9 @@ changing= NO;
2266
cur0_prms= cur_prms.web;
2271
+#line 2096 "./common.web"
2275
@@ -2967,19 +3463,27 @@ change_limit= NULL;changing= NO;prn_where= YES;
2280
+#line 2138 "./common.web"
2283
-if(limit>cur_buffer+1&&cur_buffer[0]==0100)
2284
+if(limit>cur_buffer+1&&cur_buffer[0]=='@')
2287
+#line 2056 "./common.web"
2290
-if((cur_buffer[1]>=0130&&cur_buffer[1]<=0132)||cur_buffer[1]==0111)
2291
-cur_buffer[1]+= 0172-0132;
2292
+if((cur_buffer[1]>='X'&&cur_buffer[1]<='Z')||cur_buffer[1]=='I')
2293
+cur_buffer[1]+= 'z'-'Z';
2296
+#line 2142 "./common.web"
2299
+#line 2063 "./common.web"
2302
-if(cur_buffer[1]==0151)
2303
+if(cur_buffer[1]=='i')
2307
@@ -2987,16 +3491,18 @@ err0_print(ERR_C,OC("Sorry, no includes allowed in change file"),0);
2312
+#line 2143 "./common.web"
2315
-if(cur_buffer[1]==0170||cur_buffer[1]==0172)
2316
+if(cur_buffer[1]=='x'||cur_buffer[1]=='z')
2320
err0_print(ERR_C,OC("Where is the matching @y?"),0);
2323
-else if(cur_buffer[1]==0171)
2324
+else if(cur_buffer[1]=='y')
2328
@@ -3009,6 +3515,8 @@ return;
2333
+#line 2118 "./common.web"
2335
changing= NO;prn_where= YES;
2337
@@ -3029,10 +3537,14 @@ if(LINES_DONT_MATCH)n++;
2342
+#line 56 "./common.web"
2348
+#line 2171 "./common.web"
2352
@@ -3042,31 +3554,46 @@ FCLOSE(prms[WEB_FILE].web.File);
2353
FCLOSE(prms[WEB_FILE].change.File);
2355
ini_input_prms(WEB_FILE,(outer_char HUGE*)"",ABORT_ON_ERROR);
2357
+#line 2191 "./common.web"
2360
-limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= 040
2361
+limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= ' '
2364
+#line 2180 "./common.web"
2368
+#line 2205 "./common.web"
2371
cur0_prms= cur_prms.change;
2373
change_params= change_params0;
2374
prime_the_change_buffer();
2376
+#line 2191 "./common.web"
2379
-limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= 040
2380
+limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= ' '
2383
+#line 2211 "./common.web"
2388
+#line 2182 "./common.web"
2391
incl_depth= WEB_FILE;
2392
input_has_ended= NO;
2397
+#line 2243 "./common.web"
2401
@@ -3108,6 +3635,9 @@ STRCPY(this_include_file,web_level?
2407
+#line 2285 "./common.web"
2411
@@ -3158,6 +3688,9 @@ return NO;
2417
+#line 2339 "./common.web"
2421
@@ -3206,6 +3739,9 @@ path= p1+1;
2427
+#line 2391 "./common.web"
2431
@@ -3248,12 +3784,17 @@ return file_ptr;
2437
+#line 2469 "./common.web"
2445
+#line 2584 "./common.web"
2449
@@ -3267,7 +3808,7 @@ return NO;
2450
STRNCPY(cur_buffer,stored_line,stored_line_length);
2451
FREE_MEM(stored_line,"stored_line",stored_line_length,ASCII);
2452
limit= cur_buffer+stored_line_length;
2458
@@ -3280,12 +3821,16 @@ else
2463
+#line 2475 "./common.web"
2468
chngd_module[module_count]= YES;
2471
+#line 2888 "./common.web"
2475
@@ -3342,6 +3887,8 @@ if(return_toggle)
2476
no_more_input= input_has_ended;
2477
input_has_ended= NO;
2480
+#line 2559 "./common.web"
2484
@@ -3353,11 +3900,13 @@ STRNCPY(stored_line,cur_buffer,stored_line_length);
2486
get_fname(prms[1].web.File_name);
2487
loc= limit= cur_buffer;
2488
-*limit++= 0100;*limit++= '\001';*limit= 040;
2489
+*limit++= '@';*limit++= '\001';*limit= ' ';
2495
+#line 2944 "./common.web"
2499
@@ -3368,10 +3917,14 @@ if(cur_buffer[0]==change_buffer[0])
2500
if(change_limit>change_buffer)chk_change();
2504
+#line 2481 "./common.web"
2510
+#line 3109 "./common.web"
2513
if(!input_ln(CHANGE_FILE))
2514
@@ -3379,21 +3932,27 @@ if(!input_ln(CHANGE_FILE))
2516
err0_print(ERR_C,OC("Change file ended without @z"),0);
2518
-cur_buffer[0]= 0100;cur_buffer[1]= 0172;limit= cur_buffer+2;
2519
+cur_buffer[0]= '@';cur_buffer[1]= 'z';limit= cur_buffer+2;
2522
if(limit>cur_buffer+1)
2523
-if(cur_buffer[0]==0100)
2524
+if(cur_buffer[0]=='@')
2527
+#line 2056 "./common.web"
2530
-if((cur_buffer[1]>=0130&&cur_buffer[1]<=0132)||cur_buffer[1]==0111)
2531
-cur_buffer[1]+= 0172-0132;
2532
+if((cur_buffer[1]>='X'&&cur_buffer[1]<='Z')||cur_buffer[1]=='I')
2533
+cur_buffer[1]+= 'z'-'Z';
2536
+#line 3121 "./common.web"
2539
+#line 2063 "./common.web"
2542
-if(cur_buffer[1]==0151)
2543
+if(cur_buffer[1]=='i')
2547
@@ -3401,21 +3960,25 @@ err0_print(ERR_C,OC("Sorry, no includes allowed in change file"),0);
2552
+#line 3122 "./common.web"
2555
-if(cur_buffer[1]==0170||cur_buffer[1]==0171)
2556
+if(cur_buffer[1]=='x'||cur_buffer[1]=='y')
2559
err0_print(ERR_C,OC("Where is the matching @z?"),0);
2562
-else if(cur_buffer[1]==0172)
2563
+else if(cur_buffer[1]=='z')
2565
prime_the_change_buffer();prn_where= YES;
2571
+#line 2485 "./common.web"
2575
@@ -3425,9 +3988,11 @@ chngd_module[module_count]= YES;goto restart;
2579
-loc= cur_buffer;*limit= 040;
2580
+loc= cur_buffer;*limit= ' ';
2584
+#line 2559 "./common.web"
2588
@@ -3439,21 +4004,25 @@ STRNCPY(stored_line,cur_buffer,stored_line_length);
2590
get_fname(prms[1].web.File_name);
2591
loc= limit= cur_buffer;
2592
-*limit++= 0100;*limit++= '\001';*limit= 040;
2593
+*limit++= '@';*limit++= '\001';*limit= ' ';
2599
+#line 2497 "./common.web"
2602
-if(*cur_buffer==0100)
2603
+if(*cur_buffer=='@')
2604
switch(*(cur_buffer+1))
2611
+#line 2512 "./common.web"
2614
-if(*(cur_buffer+1)==0111&&(skip_includes||
2615
+if(*(cur_buffer+1)=='I'&&(skip_includes||
2616
(program==weave&&toggle_includes&&CUR_FILE==WEB_FILE)))
2619
@@ -3464,6 +4033,8 @@ goto restart;
2620
else if(toggle_includes&&CUR_FILE==WEB_FILE)
2624
+#line 2559 "./common.web"
2628
@@ -3475,15 +4046,19 @@ STRNCPY(stored_line,cur_buffer,stored_line_length);
2630
get_fname(prms[1].web.File_name);
2631
loc= limit= cur_buffer;
2632
-*limit++= 0100;*limit++= '\001';*limit= 040;
2633
+*limit++= '@';*limit++= '\001';*limit= ' ';
2639
+#line 2525 "./common.web"
2645
+#line 2630 "./common.web"
2648
boolean found_include;
2649
@@ -3510,6 +4085,8 @@ err0_print(ERR_C,OC("Include file name not given"),0);
2654
+#line 2708 "./common.web"
2658
@@ -3533,6 +4110,8 @@ STRCPY(ifiles[num_ifiles],cur_file_name);
2663
+#line 2654 "./common.web"
2666
if(!get_fname(change_file_name))
2667
@@ -3552,19 +4131,27 @@ if(found_include)
2668
if(ini_input_prms(CUR_FILE,incl.list,DONT_ABORT_ON_ERROR))
2670
if(cur_prms.change->File!=prms[incl_depth-1].change.File)
2672
+#line 2205 "./common.web"
2675
cur0_prms= cur_prms.change;
2677
change_params= change_params0;
2678
prime_the_change_buffer();
2680
+#line 2191 "./common.web"
2683
-limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= 040
2684
+limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= ' '
2687
+#line 2211 "./common.web"
2692
+#line 2673 "./common.web"
2694
else*cur_prms.change= prms[incl_depth-1].change;
2696
@@ -3584,8 +4171,12 @@ incl_depth--;
2701
+#line 2529 "./common.web"
2705
+#line 2504 "./common.web"
2709
@@ -3593,6 +4184,9 @@ break;
2710
return(boolean)(!input_has_ended);
2715
+#line 2733 "./common.web"
2719
@@ -3605,26 +4199,28 @@ outer_char HUGE*k;
2723
-while(loc<=limit&&(*loc==040||*loc==011||*loc==042))loc++;
2724
+while(loc<=limit&&(*loc==' '||*loc=='\t'||*loc=='"'))loc++;
2728
if(loc>=limit)return NO;
2731
+#line 2772 "./common.web"
2747
for(loc+= 2;loc<=limit;loc++)
2748
-if(*loc==052&&*(loc+1)==057)
2749
+if(*loc=='*'&&*(loc+1)=='/')
2753
@@ -3636,21 +4232,29 @@ err0_print(ERR_C,OC("Can't continue comments on @i lines"),0);
2758
+#line 2751 "./common.web"
2761
k= file_name;j= loc;
2764
-while(*loc!=040&&*loc!=011&&*loc!=042)*k++= XCHR(*loc++);
2765
+while(*loc!=' '&&*loc!='\t'&&*loc!='"')*k++= XCHR(*loc++);
2771
+#line 2765 "./common.web"
2773
add_prefix(file_name);
2780
+#line 2799 "./common.web"
2784
@@ -3671,6 +4275,9 @@ STRCPY(file_name,temp);
2790
+#line 2822 "./common.web"
2794
@@ -3739,6 +4346,9 @@ STRCPY(name,temp);
2800
+#line 2958 "./common.web"
2804
@@ -3752,7 +4362,7 @@ return NO;
2808
-limbo_material= BOOLEAN(cur_buffer[0]==0100&&cur_buffer[1]==0172);
2809
+limbo_material= BOOLEAN(cur_buffer[0]=='@'&&cur_buffer[1]=='z');
2813
@@ -3770,7 +4380,7 @@ find_keywords(cur_buffer,limit);
2817
-while(!(cur_buffer[0]==0100&&cur_buffer[1]==0170));
2818
+while(!(cur_buffer[0]=='@'&&cur_buffer[1]=='x'));
2822
@@ -3784,6 +4394,9 @@ return NO;
2828
+#line 3007 "./common.web"
2832
@@ -3795,38 +4408,41 @@ ASCII HUGE*pk,HUGE*pk_end,HUGE*ptext,HUGE*ptext_end;
2836
-pk= (ASCII HUGE*)STRCHR(p,044);
2837
+pk= (ASCII HUGE*)STRCHR(p,'$');
2842
-pk_end= (ASCII HUGE*)STRCHR(pk,072);
2843
+pk_end= (ASCII HUGE*)STRCHR(pk,':');
2852
-ptext_end= (ASCII HUGE*)STRCHR(pk_end+1,044);
2853
+ptext_end= (ASCII HUGE*)STRCHR(pk_end+1,'$');
2858
-if(ptext_end[-1]!=040)
2859
+if(ptext_end[-1]!=' ')
2863
-for(ptext= pk_end+2;*ptext==040;ptext++)
2864
+for(ptext= pk_end+2;*ptext==' ';ptext++)
2868
-for(ptext_end--;*ptext_end==040;ptext_end--)
2869
+for(ptext_end--;*ptext_end==' ';ptext_end--)
2872
add_keyword(pk+1,pk_end,ptext,ptext_end+1);
2877
+#line 3064 "./common.web"
2881
@@ -3871,6 +4487,9 @@ STRCPY(prcs->txt,pt);
2887
+#line 3139 "./common.web"
2891
@@ -3888,6 +4507,9 @@ err0_print(ERR_C,OC("Change file entry did not match"),0);
2897
+#line 3175 "./common.web"
2901
@@ -3943,6 +4565,9 @@ show_alloc('+',why,nunits,(BUF_SIZE)nsize,nbytes,p,total_mem);
2907
+#line 3231 "./common.web"
2911
@@ -3962,6 +4587,9 @@ printf("(%s total)\n",commas(total_mem));
2917
+#line 3259 "./common.web"
2921
@@ -3980,6 +4608,9 @@ PTR_BASE
2922
printf(ptr_string,p,(char HUGE*)p+nbytes);
2927
+#line 3279 "./common.web"
2931
@@ -4007,6 +4638,9 @@ show_alloc('-',why,nunits,(BUF_SIZE)nsize,nbytes,p,total_mem);
2937
+#line 3485 "./common.web"
2941
@@ -4048,6 +4682,9 @@ mark_harmless;
2947
+#line 3530 "./common.web"
2951
@@ -4069,6 +4706,9 @@ else
2952
return get_mem0(abbrev,(*pnunits)+dn,nsize);
2957
+#line 3552 "./common.web"
2960
find_abbrev FCN((abbrev))
2961
@@ -4086,6 +4726,9 @@ confusion(OC("find_abbrev"),OC("Bad alloc abbreviation \"%s\""),abbrev);
2967
+#line 3573 "./common.web"
2971
@@ -4120,6 +4763,9 @@ return new_ptr;
2977
+#line 3633 "./common.web"
2981
@@ -4160,6 +4806,9 @@ n= PTR_DIFF(int,p1,p0);
2987
+#line 3719 "./common.web"
2991
@@ -4183,13 +4832,19 @@ for(last= first;*last!='\0';last++)
2994
l= PTR_DIFF(int,last,first);
2996
+#line 3977 "./common.web"
3001
while(++i<last)h= (h+h+*i)%hash_size;
3004
+#line 3742 "./common.web"
3007
+#line 3986 "./common.web"
3011
@@ -4202,9 +4857,13 @@ p->link= hash[h];hash[h]= p;
3016
+#line 3743 "./common.web"
3021
+#line 4002 "./common.web"
3024
if(byte_ptr+l>byte_end)OVERFLW("bytes","b");
3025
@@ -4217,6 +4876,8 @@ if(program==weave)
3030
+#line 3746 "./common.web"
3033
if(!(p->Language&(boolean)language))
3034
@@ -4246,6 +4907,9 @@ default:;
3040
+#line 3780 "./common.web"
3044
@@ -4299,12 +4963,16 @@ STRCPY(a,s);
3045
i= first= to_ASCII((outer_char*)a);
3049
+#line 3977 "./common.web"
3054
while(++i<last)h= (h+h+*i)%hash_size;
3057
+#line 3833 "./common.web"
3060
while(p&&!(STRNCMP(first,p->byte_start,l)==0))
3061
@@ -4321,7 +4989,11 @@ FREE_MEM(a,"find_s",l+1,ASCII);
3065
+#line 8 "./t_codes.hweb"
3069
+#line 3852 "./common.web"
3073
@@ -4332,6 +5004,9 @@ eight_bits a1 C1("")
3074
return find_n(IDENTIFIER(a0,a1));
3079
+#line 3863 "./common.web"
3083
@@ -4363,6 +5038,9 @@ if(!prsrvd||prsrvd->keywords)
3084
pr_lan("keyword ",np->keyword);
3089
+#line 3922 "./common.web"
3093
@@ -4391,10 +5069,14 @@ printf("(none)");
3097
+#line 3951 "./common.web"
3104
+#line 3956 "./common.web"
3108
@@ -4412,6 +5094,9 @@ putchar('\n');
3114
+#line 4042 "./common.web"
3118
@@ -4443,6 +5128,9 @@ return NULL;
3119
return install_node(q,c,k,PTR_DIFF(int,l,k)+1);
3124
+#line 4075 "./common.web"
3128
@@ -4461,6 +5149,9 @@ else if(*j<*k)return LESS;
3129
else return GREATER;
3134
+#line 4101 "./common.web"
3138
@@ -4483,6 +5174,9 @@ STRNCPY(byte_ptr,j,name_len);
3144
+#line 4129 "./common.web"
3148
@@ -4519,6 +5213,9 @@ err0_print(ERR_C,OC("Ambiguous prefix"),0);
3154
+#line 4165 "./common.web"
3158
@@ -4533,6 +5230,9 @@ r= prefix_lookup((ASCII HUGE*)s,(ASCII HUGE*)(s+STRLEN(s)));
3159
return r?prn_id(r):0;
3164
+#line 4213 "./common.web"
3168
@@ -4599,6 +5299,8 @@ printf(".");
3171
if(err_origin==ERR_S)
3173
+#line 4384 "./common.web"
3176
CONST outer_char HUGE*k,HUGE*l;
3177
@@ -4624,8 +5326,12 @@ putchar(*k>127?' ':*k);
3182
+#line 4279 "./common.web"
3186
+#line 4304 "./common.web"
3190
@@ -4663,7 +5369,7 @@ l= cur_buffer+MAX_ERR_BUF;
3193
for(k= cur_buffer;k<l;k++)
3198
putchar(*k>127?' ':XCHR(*k));
3199
@@ -4687,13 +5393,15 @@ putchar(*k>127?' ':XCHR(*k));
3203
-if(*limit==0174)putchar('|');
3204
+if(*limit=='|')putchar('|');
3212
+#line 4281 "./common.web"
3216
@@ -4708,6 +5416,9 @@ free_buf(&sput_buf);
3222
+#line 4413 "./common.web"
3226
@@ -4753,6 +5464,9 @@ return wrap_up();
3232
+#line 4467 "./common.web"
3236
@@ -4788,6 +5502,9 @@ I'M CONFUSED; this shouldn't happen. PLEASE REPORT THIS!!! "),OC(temp));
3242
+#line 4500 "./common.web"
3246
@@ -4811,6 +5528,9 @@ fatal(ERR_NULL,OC("!!! Sorry, CAPACITY EXCEEDED: "),OC("Too many %s. Current n
3252
+#line 4527 "./common.web"
3256
@@ -4825,6 +5545,9 @@ of %i;",name,value);
3262
+#line 4547 "./common.web"
3266
@@ -4844,6 +5567,8 @@ see_statistics();
3271
+#line 4609 "./common.web"
3274
if(msg_level>=SHORT_INFO
3275
@@ -4887,7 +5612,11 @@ CLR_PRINTF(ALWAYS,program_name,("]\n"));
3280
+#line 4566 "./common.web"
3283
+#line 4597 "./common.web"
3286
if(cur_prms.web&&cur_prms.web->File)
3287
@@ -4899,6 +5628,8 @@ fclose(cur_prms.change->File);
3292
+#line 4567 "./common.web"
3295
SET_COLOR(ordinary);
3296
@@ -4926,6 +5657,9 @@ exit(1);
3302
+#line 4654 "./common.web"
3306
@@ -4945,6 +5679,9 @@ else
3312
+#line 4675 "./common.web"
3316
@@ -4956,6 +5693,9 @@ fatal(ERR_C,OC("Output error"),OC("from %s (quota exceeded?)."),fcn);
3322
+#line 4691 "./common.web"
3326
@@ -5002,6 +5742,9 @@ fflush(stdout);
3327
return(STRCMP(buf,"yes")==0);
3332
+#line 5051 "./common.web"
3336
@@ -5024,6 +5767,8 @@ banner();
3341
+#line 5593 "./common.web"
3344
outer_char HUGE*dot_pos;
3345
@@ -5056,6 +5801,8 @@ TERMINATE(dot_pos,0);
3350
+#line 5641 "./common.web"
3354
@@ -5071,15 +5818,23 @@ STRCPY(wbflnm0,wbflnm);
3359
+#line 5622 "./common.web"
3364
+#line 5073 "./common.web"
3368
+#line 6145 "./common.web"
3371
read_sty(style_file_name,renamed_style);
3374
+#line 6155 "./common.web"
3377
DOT_DELIMITER HUGE*d= &wt_style.dot_delimiter;
3378
@@ -5093,11 +5848,17 @@ t_style.ASCII_fcn= x__to_ASCII((outer_char*)t_style.ASCII_fcn);
3383
+#line 6149 "./common.web"
3388
+#line 5075 "./common.web"
3392
+#line 5568 "./common.web"
3396
@@ -5122,6 +5883,8 @@ set_name(RATFOR_90,wt_style.output_ext.R90_);
3397
set_name(TEX,wt_style.output_ext.X_);
3401
+#line 5077 "./common.web"
3404
if(!(found_web||info_option))
3405
@@ -5131,6 +5894,9 @@ if(!found_change)
3406
*change_file_name= '\0';
3411
+#line 5096 "./common.web"
3415
@@ -5175,6 +5941,9 @@ STRCPY(--b,line1);
3421
+#line 5169 "./common.web"
3425
@@ -5199,6 +5968,8 @@ k= 0;
3427
ini_args= GET_MEM("ini_args",MAX_INI_ARGS,outer_char HUGE*);
3430
+#line 5231 "./common.web"
3433
outer_char*p_root,ini_root[MAX_FILE_NAME_LENGTH];
3434
@@ -5222,10 +5993,14 @@ ini_file= FOPEN(mk_fname(ini_file_name,MAX_FILE_NAME_LENGTH,
3435
HOME,YES,ini_root),"r");
3439
+#line 5193 "./common.web"
3445
+#line 5256 "./common.web"
3448
outer_char CONST HUGE*b,HUGE*blimit;
3449
@@ -5255,6 +6030,8 @@ goto done;
3454
+#line 5329 "./common.web"
3457
outer_char delim= *b;
3458
@@ -5292,6 +6069,8 @@ else
3463
+#line 5285 "./common.web"
3467
@@ -5336,6 +6115,8 @@ putchar('\n');
3472
+#line 5197 "./common.web"
3476
@@ -5362,6 +6143,9 @@ FREE_MEM(buffer,"buffer",T_SIZE,char);
3477
FREE_MEM(temp,"temp",T_SIZE,char);
3482
+#line 5375 "./common.web"
3486
@@ -5412,6 +6196,9 @@ pincl->num++;
3492
+#line 5427 "./common.web"
3496
@@ -5429,6 +6216,9 @@ return n;
3502
+#line 5445 "./common.web"
3506
@@ -5482,6 +6272,9 @@ STRCPY(buffer,file_name);
3507
return(char*)buffer;
3512
+#line 5495 "./common.web"
3516
@@ -5500,6 +6293,9 @@ return YES;
3522
+#line 5515 "./common.web"
3526
@@ -5540,6 +6336,9 @@ pn++;
3532
+#line 5626 "./common.web"
3536
@@ -5553,6 +6352,9 @@ if(*params.outp_nm[k= lan_num(l)]=='\0')
3537
new_fname(params.outp_nm+k,wbflnm0,output_ext);
3542
+#line 5659 "./common.web"
3546
@@ -5599,6 +6401,9 @@ return*pout_name;
3552
+#line 5737 "./common.web"
3556
@@ -5624,6 +6429,8 @@ last_mod_name= mod_names+MAX_MOD_NAMES;
3557
if(TeX_processor!=LaTeX_p)
3561
+#line 5781 "./common.web"
3565
@@ -5655,6 +6462,8 @@ reading(aux_file_name,YES);
3570
+#line 5762 "./common.web"
3574
@@ -5666,6 +6475,8 @@ aline++;
3575
if(STRNCMP(buffer,"\\Newlabel",9)!=0)
3579
+#line 5826 "./common.web"
3583
@@ -5749,6 +6560,8 @@ pmcount= 1;
3588
+#line 5773 "./common.web"
3592
@@ -5756,6 +6569,9 @@ sect_info[modno].subpage_flag= BOOLEAN(pmcount!=1);
3598
+#line 5994 "./common.web"
3602
@@ -5773,13 +6589,13 @@ outer_char c,letter[2];
3605
c= (ps->subpage_flag?
3606
-XCHR(modno-ps->modno0+0141-1):'\0');
3607
+XCHR(modno-ps->modno0+'a'-1):'\0');
3619
@@ -5803,6 +6619,9 @@ confusion(OC("mod_trans"),OC("too many unfreed mod names"));
3620
return*(next_mod_name++)= mod_temp;
3625
+#line 6038 "./common.web"
3629
@@ -5821,6 +6640,9 @@ FREE(*next_mod_name);
3635
+#line 6062 "./common.web"
3639
@@ -5865,6 +6687,9 @@ default:return NO_LANGUAGE;
3645
+#line 6109 "./common.web"
3648
lan_index FCN((Language))
3649
@@ -5891,6 +6716,9 @@ default:Language= global_language;goto proper_language;
3655
+#line 6181 "./common.web"
3659
@@ -5930,6 +6758,8 @@ pa= pa_begin= *(argv++);
3662
if((a_file_name= BOOLEAN(*pa!='-'))||*(pa+1)=='\0')
3664
+#line 6227 "./common.web"
3668
@@ -5940,6 +6770,8 @@ STRCPY(wbflnm,THE_FILE_NAME);
3671
else if(!*pfound_change)
3673
+#line 6250 "./common.web"
3676
if(a_file_name&&STRLEN(pa)>MAX_FILE_NAME_LENGTH-5)
3677
@@ -5964,8 +6796,12 @@ nsprintf(change_file_name,OC("%s"),1,THE_FILE_NAME)>=(int)(MAX_FILE_NAME_LENGTH)
3678
*pfound_change= YES;
3682
+#line 6237 "./common.web"
3686
+#line 8545 "./common.web"
3689
printf("! Warning: Ignoring multiple change file \"%s\".\n",
3690
@@ -5974,6 +6810,8 @@ mark_harmless;
3695
+#line 6239 "./common.web"
3699
@@ -5984,8 +6822,12 @@ mark_harmless;
3704
+#line 6220 "./common.web"
3708
+#line 6572 "./common.web"
3712
@@ -6015,6 +6857,8 @@ tracing= VERBOSE;
3717
+#line 6853 "./common.web"
3721
@@ -6027,11 +6871,15 @@ STRCAT(at_codes,to_ASCII(pa));
3726
+#line 6601 "./common.web"
3733
+#line 6870 "./common.web"
3736
#if(TRANSLATE_ASCII || DEBUG_XCHR)
3737
@@ -6042,10 +6890,14 @@ translate_ASCII= NOT(TRANSLATE_ASCII0);
3742
+#line 6606 "./common.web"
3748
+#line 6882 "./common.web"
3751
params.Block_nums[LN(FORTRAN)]
3752
@@ -6055,6 +6907,8 @@ params.Block_nums[LN(FORTRAN)]
3757
+#line 6610 "./common.web"
3761
@@ -6062,15 +6916,25 @@ case 'B':
3766
+#line 118 "./typedefs.hweb"
3771
+#line 6617 "./common.web"
3774
+#line 6894 "./common.web"
3778
+#line 8468 "./common.web"
3783
+#line 6896 "./common.web"
3786
Cpp= BOOLEAN(*pa=='+');
3787
@@ -6095,6 +6959,8 @@ break;
3792
+#line 6618 "./common.web"
3796
@@ -6104,9 +6970,13 @@ pa++;
3801
+#line 6928 "./common.web"
3806
+#line 6950 "./common.web"
3809
for(++pa;*pa!=']';pa++)
3810
@@ -6143,6 +7013,8 @@ break;
3815
+#line 6931 "./common.web"
3819
@@ -6162,6 +7034,8 @@ rsrvd.args= pa;
3824
+#line 6627 "./common.web"
3828
@@ -6169,11 +7043,17 @@ case 'd':
3829
number_dos= NOT(NUMBER_DOS);
3833
+#line 6987 "./common.web"
3837
+#line 8468 "./common.web"
3842
+#line 6989 "./common.web"
3845
max_stmt= STARTING_DO_NUM;
3846
@@ -6189,6 +7069,8 @@ err0_print(ERR_C,OC("Starting DO number must be < 99999; assuming %lu"),-1-1,max
3851
+#line 6634 "./common.web"
3855
@@ -6196,11 +7078,17 @@ case 'e':
3856
try_extensions= NOT(TRY_EXTENSIONS);break;
3860
+#line 7007 "./common.web"
3864
+#line 8468 "./common.web"
3869
+#line 7009 "./common.web"
3873
@@ -6210,6 +7098,8 @@ else
3874
err0_print(ERR_C,OC("Missing character after -E option; option ignored"),-1-0);
3878
+#line 6641 "./common.web"
3882
@@ -6223,14 +7113,20 @@ case 'g':
3883
dbg_output= NOT(DBG_OUTPUT);break;
3887
+#line 8468 "./common.web"
3892
+#line 6654 "./common.web"
3899
+#line 7078 "./common.web"
3902
outer_char HUGE*p= pa;
3903
@@ -6261,10 +7157,14 @@ continue;
3908
+#line 6659 "./common.web"
3914
+#line 7114 "./common.web"
3918
@@ -6287,16 +7187,22 @@ continue;
3923
+#line 6663 "./common.web"
3929
+#line 7142 "./common.web"
3932
more_includes(read_iformats?&hdr_incl:&incl,pa);
3937
+#line 6667 "./common.web"
3941
@@ -6307,33 +7213,55 @@ case 'k':
3942
lc_keywords= NOT(LC_KEYWORDS);break;
3946
+#line 7151 "./common.web"
3952
+#line 118 "./typedefs.hweb"
3957
+#line 7155 "./common.web"
3960
+#line 124 "./typedefs.hweb"
3965
+#line 7156 "./common.web"
3968
+#line 121 "./typedefs.hweb"
3973
+#line 7157 "./common.web"
3978
+#line 130 "./typedefs.hweb"
3985
+#line 7160 "./common.web"
3988
+#line 8468 "./common.web"
3993
+#line 7161 "./common.web"
3997
@@ -6351,13 +7279,21 @@ break;
4002
+#line 127 "./typedefs.hweb"
4007
+#line 7178 "./common.web"
4010
+#line 8468 "./common.web"
4015
+#line 7179 "./common.web"
4019
@@ -6381,10 +7317,14 @@ break;
4024
+#line 6677 "./common.web"
4030
+#line 7205 "./common.web"
4033
prn_input_lines= BOOLEAN(YES^not);
4034
@@ -6416,10 +7356,14 @@ prn_input_addresses= YES;
4039
+#line 6681 "./common.web"
4045
+#line 7576 "./common.web"
4049
@@ -6439,20 +7383,31 @@ msg_level= EVERYTHING;
4054
+#line 6685 "./common.web"
4060
+#line 7601 "./common.web"
4068
+#line 8468 "./common.web"
4073
+#line 7607 "./common.web"
4077
+#line 7611 "./common.web"
4081
@@ -6487,6 +7442,8 @@ continue;
4086
+#line 6689 "./common.web"
4090
@@ -6503,6 +7460,8 @@ overload_ops= NOT(OVERLOAD_OPS);
4095
+#line 7483 "./common.web"
4098
IN_STYLE outer_char HUGE*sprm_buf,HUGE*sprm_ptr,HUGE*sprm_end;
4099
@@ -6539,10 +7498,14 @@ sprm_ptr+= n;
4104
+#line 6705 "./common.web"
4110
+#line 7524 "./common.web"
4114
@@ -6573,6 +7536,8 @@ pa++;
4119
+#line 6709 "./common.web"
4123
@@ -6581,9 +7546,13 @@ free_form_input= NOT(FREE_FORM_INPUT);
4124
Ratfor77= NOT(RATFOR77);
4128
+#line 121 "./typedefs.hweb"
4133
+#line 6717 "./common.web"
4135
if(!RAT_OK("Language command ignored"))
4137
@@ -6591,6 +7560,8 @@ FR_args(RATFOR);
4142
+#line 7733 "./common.web"
4145
statistics= NOT(STATISTICS);
4146
@@ -6611,23 +7582,35 @@ mark_harmless;
4151
+#line 6724 "./common.web"
4157
+#line 7917 "./common.web"
4161
+#line 8468 "./common.web"
4166
+#line 7919 "./common.web"
4172
+#line 6728 "./common.web"
4178
+#line 8034 "./common.web"
4181
outer_char HUGE*p= pa;
4182
@@ -6671,10 +7654,14 @@ break;
4187
+#line 6732 "./common.web"
4193
+#line 8080 "./common.web"
4197
@@ -6689,6 +7676,8 @@ save_macro(OC("#undef"),pa);
4202
+#line 6736 "./common.web"
4206
@@ -6713,6 +7702,8 @@ input_macros= NOT(INPUT_MACROS);
4211
+#line 8108 "./common.web"
4214
outer_char HUGE*p= pa;
4215
@@ -6799,6 +7790,8 @@ break;
4220
+#line 6760 "./common.web"
4224
@@ -6817,6 +7810,8 @@ flags3(BOOLEAN(!not));
4229
+#line 8260 "./common.web"
4232
outer_char abbrev[80],HUGE*a;
4233
@@ -6825,9 +7820,13 @@ MEM HUGE*m,HUGE*mmin= NULL,HUGE*mmax= NULL;
4234
boolean query_mode= NO;
4238
+#line 8468 "./common.web"
4243
+#line 8268 "./common.web"
4247
@@ -6880,15 +7879,23 @@ msearch(abbrev,nunits);
4252
+#line 6778 "./common.web"
4258
+#line 8323 "./common.web"
4262
+#line 8468 "./common.web"
4267
+#line 8325 "./common.web"
4270
if(STRLEN(pa)<MAX_FILE_NAME_LENGTH)
4271
@@ -6911,6 +7918,8 @@ than %d characters"),-1-2,pa,MAX_FILE_NAME_LENGTH);
4276
+#line 6782 "./common.web"
4280
@@ -6942,9 +7951,13 @@ chk_ifelse= NOT(CHK_IFELSE);break;
4285
+#line 8468 "./common.web"
4290
+#line 6813 "./common.web"
4292
if(doing_cmd_line||phase==2)
4294
@@ -6983,10 +7996,15 @@ spurious(pa);
4299
+#line 6222 "./common.web"
4306
+#line 6279 "./common.web"
4310
@@ -7002,15 +8020,15 @@ ini_language(l);
4323
-if(IS_WHITE(*loc)||*loc==0133)break;
4324
-if(*loc==0174&&parsing_mode==INNER)
4325
+if(IS_WHITE(*loc)||*loc=='[')break;
4326
+if(*loc=='|'&&parsing_mode==INNER)
4329
err0_print(ERR_C,OC("WARNING: Code mode ended during \
4330
@@ -7023,13 +8041,13 @@ COPY_TO_ARG_BUFFER(*loc++);
4337
-COPY_TO_ARG_BUFFER(040);
4338
+COPY_TO_ARG_BUFFER(' ');
4347
@@ -7046,6 +8064,9 @@ do_args(NO,argc,args,&found_web,(outer_char*)NULL,&found_change);
4353
+#line 6341 "./common.web"
4357
@@ -7057,40 +8078,60 @@ l= A_TO_LOWER(l);
4362
+#line 95 "./typedefs.hweb"
4368
+#line 6352 "./common.web"
4370
language= (Cpp?C_PLUS_PLUS:C);
4374
+#line 98 "./typedefs.hweb"
4380
+#line 6356 "./common.web"
4382
if(!RAT_OK("Invalid @r command; language set to C"))language= C;
4383
else language= (Fortran88?RATFOR_90:RATFOR);
4387
+#line 101 "./typedefs.hweb"
4393
+#line 6361 "./common.web"
4395
language= (Fortran88?FORTRAN_90:FORTRAN);
4399
+#line 107 "./typedefs.hweb"
4407
+#line 6365 "./common.web"
4413
+#line 104 "./typedefs.hweb"
4419
+#line 6369 "./common.web"
4423
@@ -7104,6 +8145,9 @@ cmd_language= language;
4429
+#line 6386 "./common.web"
4433
@@ -7161,6 +8205,9 @@ break;
4439
+#line 6444 "./common.web"
4443
@@ -7197,11 +8244,17 @@ if(program==tangle)
4444
out_file= params.outp_file[lan_num(out_language)];
4449
+#line 6481 "./common.web"
4457
+#line 6489 "./common.web"
4459
cont_char= XORD(in_escape);
4460
free_90= BOOLEAN(Fortran88&&free_form_input);
4461
@@ -7210,6 +8263,9 @@ free_Fortran= BOOLEAN((language==FORTRAN_90)&&free_90);
4462
if(!prn_semis&&free_Fortran&&auto_pseudo_semis)
4467
+#line 6502 "./common.web"
4469
if(program==tangle&&free_90)
4471
@@ -7225,6 +8281,9 @@ default:;
4477
+#line 6519 "./common.web"
4481
@@ -7257,6 +8316,9 @@ TERMINATE(p,0);
4487
+#line 7023 "./common.web"
4491
@@ -7273,6 +8335,8 @@ or see the info(1) man-page entry for FWEB."),fflush(stdout);
4496
+#line 7047 "./common.web"
4499
outer_char temp[500],buf[500],*pmenus;
4500
@@ -7302,6 +8366,8 @@ system((char*)temp);
4505
+#line 7039 "./common.web"
4509
@@ -7309,6 +8375,9 @@ usage("",NO);
4515
+#line 7239 "./common.web"
4519
@@ -7319,9 +8388,13 @@ int lnum;
4524
+#line 8468 "./common.web"
4529
+#line 7249 "./common.web"
4533
@@ -7358,9 +8431,13 @@ case '\\':
4538
+#line 8468 "./common.web"
4543
+#line 7285 "./common.web"
4546
if(FORTRAN90_LIKE(language))
4547
@@ -7412,17 +8489,25 @@ break;
4552
+#line 8468 "./common.web"
4557
+#line 7336 "./common.web"
4561
+#line 7395 "./common.web"
4564
if(is_RATFOR_(Language))
4566
if(!RAT_OK("'g' command ignored"))
4569
+#line 7436 "./common.web"
4573
@@ -7469,17 +8554,23 @@ break;
4578
+#line 7401 "./common.web"
4582
bad_loption(Language);
4586
+#line 7338 "./common.web"
4591
suppress_cmds= BOOLEAN(YES^not);
4593
+#line 7469 "./common.web"
4597
@@ -7489,11 +8580,15 @@ STRNCPY(abbrev_cmds,pa,NUM_RATFOR_CMDS);
4602
+#line 7343 "./common.web"
4607
suppress_cmds= BOOLEAN(NO^not);
4609
+#line 7469 "./common.web"
4613
@@ -7503,6 +8598,8 @@ STRNCPY(abbrev_cmds,pa,NUM_RATFOR_CMDS);
4618
+#line 7348 "./common.web"
4622
@@ -7512,9 +8609,13 @@ prn_semis= NOT(PRN_SEMIS);
4627
+#line 8468 "./common.web"
4632
+#line 7357 "./common.web"
4635
set_filter(language);
4636
@@ -7523,9 +8624,13 @@ return;
4641
+#line 8468 "./common.web"
4646
+#line 7365 "./common.web"
4648
ini_language(XORD(*LANGUAGE_CODE(Language)));
4650
@@ -7540,6 +8645,9 @@ if(*pa)
4656
+#line 7647 "./common.web"
4660
@@ -7583,6 +8691,9 @@ for(;p<mp+2;p++)
4666
+#line 7697 "./common.web"
4670
@@ -7603,6 +8714,9 @@ limit= end;
4676
+#line 7718 "./common.web"
4680
@@ -7615,6 +8729,9 @@ from_buffer= NO;
4686
+#line 7766 "./common.web"
4690
@@ -7641,6 +8758,9 @@ free_buf(&c_buf);
4691
SET_COLOR(ordinary);
4696
+#line 7794 "./common.web"
4700
@@ -7666,6 +8786,9 @@ commas(abs_max_num),(char*)ctrl_chars);
4706
+#line 7820 "./common.web"
4710
@@ -7676,6 +8799,9 @@ return MIN(starting_memory,abs_max_num);
4716
+#line 7833 "./common.web"
4720
@@ -7707,6 +8833,9 @@ while(p->n>0)
4726
+#line 7872 "./common.web"
4730
@@ -7749,6 +8878,9 @@ return push_buf(&c_buf,temp1);
4736
+#line 7924 "./common.web"
4740
@@ -7767,34 +8899,54 @@ if(isdigit(*pa))
4741
l= (language==NO_LANGUAGE)?GLOBAL_LANGUAGE:language;
4745
+#line 118 "./typedefs.hweb"
4750
+#line 7942 "./common.web"
4752
l= lcase(C,'\0',C_PLUS_PLUS,'+',&pa);
4755
+#line 121 "./typedefs.hweb"
4760
+#line 7945 "./common.web"
4762
l= lcase(RATFOR,'7',RATFOR_90,'9',&pa);
4765
+#line 124 "./typedefs.hweb"
4770
+#line 7948 "./common.web"
4772
l= lcase(FORTRAN,'7',FORTRAN_90,'9',&pa);
4775
+#line 130 "./typedefs.hweb"
4782
+#line 7951 "./common.web"
4786
+#line 127 "./typedefs.hweb"
4791
+#line 7953 "./common.web"
4795
@@ -7820,6 +8972,9 @@ set_filter(l);
4801
+#line 7978 "./common.web"
4805
@@ -7845,6 +9000,9 @@ return l1;
4811
+#line 8006 "./common.web"
4815
@@ -7870,6 +9028,9 @@ return;
4821
+#line 8203 "./common.web"
4825
@@ -7923,6 +9084,9 @@ break;
4826
no_xref= BOOLEAN(!(prn_index||prn_modules));
4831
+#line 8356 "./common.web"
4835
@@ -7963,41 +9127,61 @@ pname= pa;
4840
+#line 118 "./typedefs.hweb"
4845
+#line 8396 "./common.web"
4847
set_fname(lcase(C,'\0',C_PLUS_PLUS,'+',&pa),pname,YES);
4851
+#line 121 "./typedefs.hweb"
4856
+#line 8400 "./common.web"
4858
if(!RAT_OK("Redirection ignored"))break;
4860
set_fname(lcase(RATFOR,'7',RATFOR_90,'9',&pa),pname,YES);
4864
+#line 124 "./typedefs.hweb"
4869
+#line 8406 "./common.web"
4871
set_fname(lcase(FORTRAN,'7',FORTRAN_90,'9',&pa),pname,YES);
4875
+#line 130 "./typedefs.hweb"
4882
+#line 8410 "./common.web"
4884
set_fname(LITERAL,pname,YES);
4888
+#line 127 "./typedefs.hweb"
4893
+#line 8414 "./common.web"
4895
set_fname(TEX,pname,YES);
4897
@@ -8021,6 +9205,9 @@ break;
4903
+#line 8440 "./common.web"
4907
@@ -8048,6 +9235,9 @@ new_fname(params.outp_nm+lan_num(l),*s?s:(outer_char HUGE*)"stdout",NULL);
4913
+#line 8472 "./common.web"
4917
@@ -8062,6 +9252,9 @@ mark_harmless;
4923
+#line 8487 "./common.web"
4927
@@ -8073,6 +9266,9 @@ CONST outer_char HUGE*pa0 C1("")
4928
err0_print(ERR_C,OC("Invalid language %s \"%s\""),-1-2,type,pa0);
4933
+#line 8498 "./common.web"
4937
@@ -8084,6 +9280,9 @@ printf("! Invalid language option \"%s\" for %s.\n",
4943
+#line 8510 "./common.web"
4947
@@ -8096,6 +9295,9 @@ err0_print(ERR_C,OC("Missing argument for `-%c' option; \
4948
should be one or more letters in set {%s}"),-1-2,option,letters);
4953
+#line 8522 "./common.web"
4957
@@ -8115,6 +9317,9 @@ else
4963
+#line 8554 "./common.web"
4967
@@ -8124,6 +9329,9 @@ too_long(VOID)
4968
fatal(ERR_NULL,OC("!! Filename too long: "),OC("%s."),(CONST outer_char*)pa);
4973
+#line 8566 "./common.web"
4977
@@ -8134,6 +9342,9 @@ cmd_prms?"Command line":".fweb",(char*)pa_begin);
4983
+#line 8578 "./common.web"
4987
@@ -8146,6 +9357,9 @@ language)
4988
err0_print(ERR_C,OC("WARNING: Command-line language %s overridden in limbo by %s"),2,languages[lan_num(cmd_language)],languages[lan_num(language)]);
4993
+#line 8636 "./common.web"
4997
@@ -8181,6 +9395,9 @@ was_opened(temp,0,pname,&temp_file_ptr);
5003
+#line 8714 "./common.web"
5007
@@ -8219,6 +9436,9 @@ TERMINATE(pt,0);
5013
+#line 8768 "./common.web"
5017
@@ -8239,15 +9459,15 @@ for(p= p0,a1= atemp;p<p1;a1++,p++)
5025
case MACRO_ARGUMENT:
5028
-*a1++= (ASCII)(060+*(++p));
5033
+*a1++= (ASCII)('0'+*(++p));
5039
@@ -8272,15 +9492,22 @@ else
5040
n_out= FWRITE(atemp,n,file_ptr);
5044
+#line 8825 "./common.web"
5048
fatal(ERR_NULL,OC("! WRITE ERROR: "),OC("nbytes = %u, %u items written\n%s"),(unsigned)n,(unsigned)n_out,strerror(errno));
5052
+#line 8821 "./common.web"
5058
+#line 8834 "./common.web"
5062
@@ -8297,6 +9524,9 @@ return temp;
5068
+#line 8885 "./common.web"
5072
@@ -8309,6 +9539,9 @@ time(&the_tm);
5073
return localtime(&the_tm);
5078
+#line 8898 "./common.web"
5082
@@ -8349,6 +9582,9 @@ return(CONST outer_char*)time_buf;
5088
+#line 8975 "./common.web"
5092
@@ -8362,6 +9598,9 @@ clock0= clock();
5098
+#line 8993 "./common.web"
5102
@@ -8403,12 +9642,18 @@ printf(" CPU/REAL = %.1f%%.",100.0*(cpu/wall));
5108
+#line 9040 "./common.web"
5110
SET_COLOR(ordinary);
5117
+#line 9051 "./common.web"
5121
@@ -8423,6 +9668,9 @@ local_banner= OC(LOCAL_BANNER);
5127
+#line 9067 "./common.web"
5131
@@ -8453,6 +9701,9 @@ color_mode?(char*)termcap:"",
5132
SET_COLOR(ordinary);
5137
+#line 9098 "./common.web"
5141
@@ -8471,6 +9722,9 @@ if(emit_newline)
5147
+#line 9117 "./common.web"
5151
@@ -8492,6 +9746,9 @@ CLR_PRINTF(SHORT_INFO,info,("..."));
5157
+#line 9139 "./common.web"
5161
@@ -8500,7 +9757,7 @@ progress(VOID)
5162
if(msg_level<EVERYTHING)
5170
@@ -8516,6 +9773,9 @@ CLR_PRINTF(EVERYTHING,module_num,("*%d",module_count));
5176
+#line 9168 "./common.web"
5180
@@ -8556,13 +9816,20 @@ va_end(arg_ptr);
5185
+#line 60 "./common.web"
5190
+#line 1 "./typedefs.hweb"
5193
+#line 8 "./formats.hweb"
5197
+#line 4373 "./common.web"
5200
multi_chars FCN((c,n))
5201
@@ -8573,6 +9840,9 @@ while(--n>=0)
5207
+#line 5812 "./common.web"
5211
@@ -8580,6 +9850,9 @@ seea(int n,char*s)
5212
printf("Arg %i = \"%s\"\n",n,s);
5217
+#line 5920 "./common.web"
5220
get_arg FCN((result,s,ldelim,rdelim))
5221
@@ -8649,6 +9922,9 @@ longjmp(top_of_get_arg,4);
5227
+#line 7384 "./common.web"
5231
@@ -8659,6 +9935,9 @@ multi_chars(' ',STRLEN(SPURIOUS_MSG)+2+pa1-pa_begin);
5237
+#line 9226 "./common.web"
5241
@@ -8722,4 +10001,5 @@ BCHECK(1,"quote1");