summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/tiedir/tie.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/tiedir/tie.c')
-rw-r--r--Build/source/texk/web2c/tiedir/tie.c920
1 files changed, 0 insertions, 920 deletions
diff --git a/Build/source/texk/web2c/tiedir/tie.c b/Build/source/texk/web2c/tiedir/tie.c
deleted file mode 100644
index ccf39c03c63..00000000000
--- a/Build/source/texk/web2c/tiedir/tie.c
+++ /dev/null
@@ -1,920 +0,0 @@
-#define banner "This is TIE, CWEB Version 2.4."
-#define copyright \
-"Copyright (c) 1989,1992 by THD/ITI. All rights reserved." \
- \
-
-#define incr(v)v+= 1
-#define decr(v)v-= 1
-#define loop while(1)
-#define do_nothing
-#define false 0
-#define true 1
-#define spotless 0
-#define troublesome 1
-#define fatal 2 \
-
-#define first_text_char 0
-#define last_text_char 255 \
-
-#define map_xchr(c)(text_char)(c) \
-
-#define map_xord(c)(ASCII_Code)(c) \
- \
-
-#define tab_mark 9
-#define nl_mark 10
-#define form_feed 12 \
- \
-
-#define term_out stdout
-#define print(a)fprintf(term_out,a)
-#define print2(a,b)fprintf(term_out,a,b)
-#define print3(a,b,c)fprintf(term_out,a,b,c)
-#define print_c(v)fputc(v,term_out);
-#define new_line(v)fputc('\n',v)
-#define term_new_line new_line(term_out) \
-
-#define print_ln(v){fprintf(term_out,v);term_new_line;} \
-
-#define print2_ln(a,b){print2(a,b);term_new_line;}
-#define print3_ln(a,b,c){print3(a,b,c);term_new_line;} \
-
-#define print_nl(v){term_new_line;print(v);} \
-
-#define print2_nl(a,b){term_new_line;print2(a,b);} \
- \
-
-#define update_terminal fflush(term_out) \
- \
- \
- \
- \
-
-#define error_loc(m)err_loc(m);history= troublesome;}
-#define err_print(m){print_nl(m);error_loc \
-
-#define fatal_error(m){ \
-print(m);print_c('.');history= fatal; \
-term_new_line;jump_out(); \
-} \
- \
-
-#define jump_out()exit(1) \
- \
- \
- \
- \
-
-#define none (max_file_index+1) \
-
-/*2:*/
-#line 112 "tie.w"
-
-/*15:*/
-#line 478 "tie.w"
-
-#include <stdio.h>
-
-
-/*:15*//*16:*/
-#line 486 "tie.w"
-
-#ifdef __STDC__
-#include <stdlib.h>
-#else
-#include <malloc.h>
-#endif
-
-/*:16*/
-#line 113 "tie.w"
-
-/*5:*/
-#line 142 "tie.w"
-
-#define buf_size 512
-#define max_file_index 9
-
-
-
-
-/*:5*/
-#line 114 "tie.w"
-
-/*4:*/
-#line 133 "tie.w"
-
-typedef int boolean;
-typedef char*string;
-
-
-/*:4*//*7:*/
-#line 224 "tie.w"
-
-#define max_ASCII (126+1)
-typedef unsigned char ASCII_Code;
-
-
-
-/*:7*//*8:*/
-#line 250 "tie.w"
-
-typedef unsigned char text_char;
-typedef FILE*text_file;
-
-
-/*:8*//*18:*/
-#line 529 "tie.w"
-
-#define search 0
-#define test 1
-#define reading 2
-#define ignore 3
-typedef int in_file_modes;
-#define unknown 0
-#define master 1
-#define chf 2
-typedef int file_types;
-
-
-/*:18*//*19:*/
-#line 547 "tie.w"
-
-#define normal 0
-#define pre 1
-#define post 2
-typedef int out_md_type;
-
-
-/*:19*//*20:*/
-#line 557 "tie.w"
-
-typedef int buffer_index;
-typedef int file_index;
-
-
-/*:20*//*21:*/
-#line 566 "tie.w"
-
-typedef struct _idsc{
-string name_of_file;
-ASCII_Code buffer[buf_size];
-in_file_modes mode;
-long line;
-file_types type_of_file;
-buffer_index limit;
-text_file the_file;
-}input_description;
-
-
-/*:21*/
-#line 115 "tie.w"
-
-/*6:*/
-#line 159 "tie.w"
-
-static int history= spotless;
-
-
-
-/*:6*//*9:*/
-#line 270 "tie.w"
-
-static ASCII_Code xord[last_text_char+1];
-
-static text_char xchr[max_ASCII+1];
-
-
-
-/*:9*//*22:*/
-#line 582 "tie.w"
-
-static file_index actual_input,test_input,no_ch;
-static file_types prod_chf= unknown;
-static out_md_type out_mode;
-
-
-/*:22*//*23:*/
-#line 594 "tie.w"
-
-static input_description*input_organization[max_file_index+1];
-
-
-
-
-
-/*:23*//*26:*/
-#line 641 "tie.w"
-
-static boolean input_has_ended= false;
-
-
-/*:26*//*35:*/
-#line 801 "tie.w"
-
-static text_file out_file;
-static string out_name;
-
-
-/*:35*/
-#line 116 "tie.w"
-
-/*31:*/
-#line 744 "tie.w"
-
-void err_loc(i)
-int i;
-{
-print3_ln(" (file %s, l.%ld).",
-input_organization[i]->name_of_file,
-input_organization[i]->line);
-}
-
-
-/*:31*/
-#line 117 "tie.w"
-
-/*24:*/
-#line 616 "tie.w"
-
-void get_line(i)
-file_index i;
-{register input_description*inp_desc= input_organization[i];
-if(inp_desc->mode==ignore)return;
-if(feof(inp_desc->the_file))
-/*25:*/
-#line 630 "tie.w"
-
-{
-inp_desc->mode= ignore;
-inp_desc->limit= -1;
-if(inp_desc->type_of_file==master)input_has_ended= true;
-return;
-}
-
-
-/*:25*/
-#line 622 "tie.w"
-
-/*27:*/
-#line 655 "tie.w"
-
-{int final_limit;
-int c;
-/*28:*/
-#line 679 "tie.w"
-
-incr(inp_desc->line);
-if(inp_desc->type_of_file==master&&inp_desc->line%100==0){
-if(inp_desc->line%500==0)print2("%ld",inp_desc->line);
-else print_c('.');
-update_terminal;
-}
-
-
-/*:28*/
-#line 659 "tie.w"
-
-inp_desc->limit= final_limit= 0;
-while(inp_desc->limit<buf_size){
-c= fgetc(inp_desc->the_file);
-/*29:*/
-#line 696 "tie.w"
-
-if(c==EOF){
-if(inp_desc->limit<=0){
-inp_desc->mode= ignore;
-inp_desc->limit= -1;
-if(inp_desc->type_of_file==master)input_has_ended= true;
-return;
-}else{
-c= nl_mark;
-break;
-}
-}
-
-
-/*:29*/
-#line 664 "tie.w"
-
-inp_desc->buffer[inp_desc->limit++]= c= map_xord(c);
-if(c==nl_mark)break;
-if(c!=32&&c!=tab_mark)
-final_limit= inp_desc->limit;
-}
-/*30:*/
-#line 712 "tie.w"
-
-if(c!=nl_mark){
-err_print("! Input line too long")(i);
-
-while((c= fgetc(inp_desc->the_file))!=EOF&&map_xord(c)!=nl_mark)
-do_nothing;
-}
-
-
-
-
-
-/*:30*/
-#line 670 "tie.w"
-
-inp_desc->limit= final_limit;
-}
-
-
-/*:27*/
-#line 623 "tie.w"
-
-}
-
-
-/*:24*//*38:*/
-#line 850 "tie.w"
-
-boolean lines_dont_match(i,j)
-file_index i,j;
-{
-buffer_index k,lmt;
-if(input_organization[i]->limit!=input_organization[j]->limit)
-return(true);
-lmt= input_organization[i]->limit;
-for(k= 0;k<lmt;k++)
-if(input_organization[i]->buffer[k]!=input_organization[j]->buffer[k])
-return(true);
-return(false);
-}
-
-
-/*:38*//*39:*/
-#line 871 "tie.w"
-
-void init_change_file(i,b)
-file_index i;boolean b;
-{register input_description*inp_desc= input_organization[i];
-/*40:*/
-#line 885 "tie.w"
-
-loop{ASCII_Code c;
-get_line(i);
-if(inp_desc->mode==ignore)return;
-if(inp_desc->limit<2)continue;
-if(inp_desc->buffer[0]!=64)continue;
-c= inp_desc->buffer[1];
-if(c>=88&&c<=90)
-c+= 122-90;
-if(c==120)break;
-if(c==121||c==122)
-if(b)
-err_print("! Where is the matching @x?")(i);
-
-}
-
-
-/*:40*/
-#line 875 "tie.w"
-
-/*41:*/
-#line 904 "tie.w"
-
-do{
-get_line(i);
-if(inp_desc->mode==ignore){
-err_print("! Change file ended after @x")(i);
-
-return;
-}
-}while(inp_desc->limit<=0);
-
-
-/*:41*/
-#line 876 "tie.w"
-
-}
-
-
-/*:39*//*42:*/
-#line 918 "tie.w"
-
-void put_line(j)
-file_index j;
-{buffer_index i;
-buffer_index lmt;
-ASCII_Code*p;
-lmt= input_organization[j]->limit;
-p= input_organization[j]->buffer;
-for(i= 0;i<lmt;i++)fputc(map_xchr(*p++),out_file);
-new_line(out_file);
-}
-
-
-/*:42*//*43:*/
-#line 934 "tie.w"
-
-boolean e_of_ch_module(i)
-file_index i;
-{register input_description*inp_desc= input_organization[i];
-if(inp_desc->limit<0){
-print_nl("! At the end of change file missing @z ");
-
-print2("%s",input_organization[i]->name_of_file);
-term_new_line;
-return(true);
-}else if(inp_desc->limit>=2)if(inp_desc->buffer[0]==64&&
-(inp_desc->buffer[1]==90||inp_desc->buffer[1]==122))
-return(true);
-return(false);
-}
-
-
-/*:43*//*44:*/
-#line 954 "tie.w"
-
-boolean e_of_ch_preamble(i)
-file_index i;
-{register input_description*inp_desc= input_organization[i];
-if(inp_desc->limit>=2&&inp_desc->buffer[0]==64)
-if(inp_desc->buffer[1]==89||inp_desc->buffer[1]==121)return(true);
-return(false);
-}
-
-
-
-/*:44*//*55:*/
-#line 1157 "tie.w"
-
-void usage()
-{
-print("Usage: tie -[mc] outfile master changefile(s)");
-term_new_line;
-jump_out();
-}
-
-
-/*:55*/
-#line 118 "tie.w"
-
-/*59:*/
-#line 1235 "tie.w"
-
-main(argc,argv)
-int argc;string*argv;
-{{/*12:*/
-#line 408 "tie.w"
-
-int i;
-
-
-/*:12*/
-#line 1238 "tie.w"
-
-/*10:*/
-#line 296 "tie.w"
-
-xchr[32]= ' ';
-xchr[33]= '!';
-xchr[34]= '\"';
-xchr[35]= '#';
-xchr[36]= '$';
-xchr[37]= '%';
-xchr[38]= '&';
-xchr[39]= '\'';
-xchr[40]= '(';
-xchr[41]= ')';
-xchr[42]= '*';
-xchr[43]= '+';
-xchr[44]= ',';
-xchr[45]= '-';
-xchr[46]= '.';
-xchr[47]= '/';
-xchr[48]= '0';
-xchr[49]= '1';
-xchr[50]= '2';
-xchr[51]= '3';
-xchr[52]= '4';
-xchr[53]= '5';
-xchr[54]= '6';
-xchr[55]= '7';
-xchr[56]= '8';
-xchr[57]= '9';
-xchr[58]= ':';
-xchr[59]= ';';
-xchr[60]= '<';
-xchr[61]= '=';
-xchr[62]= '>';
-xchr[63]= '?';
-xchr[64]= '@';
-xchr[65]= 'A';
-xchr[66]= 'B';
-xchr[67]= 'C';
-xchr[68]= 'D';
-xchr[69]= 'E';
-xchr[70]= 'F';
-xchr[71]= 'G';
-xchr[72]= 'H';
-xchr[73]= 'I';
-xchr[74]= 'J';
-xchr[75]= 'K';
-xchr[76]= 'L';
-xchr[77]= 'M';
-xchr[78]= 'N';
-xchr[79]= 'O';
-xchr[80]= 'P';
-xchr[81]= 'Q';
-xchr[82]= 'R';
-xchr[83]= 'S';
-xchr[84]= 'T';
-xchr[85]= 'U';
-xchr[86]= 'V';
-xchr[87]= 'W';
-xchr[88]= 'X';
-xchr[89]= 'Y';
-xchr[90]= 'Z';
-xchr[91]= '[';
-xchr[92]= '\\';
-xchr[93]= ']';
-xchr[94]= '^';
-xchr[95]= '_';
-xchr[96]= '`';
-xchr[97]= 'a';
-xchr[98]= 'b';
-xchr[99]= 'c';
-xchr[100]= 'd';
-xchr[101]= 'e';
-xchr[102]= 'f';
-xchr[103]= 'g';
-xchr[104]= 'h';
-xchr[105]= 'i';
-xchr[106]= 'j';
-xchr[107]= 'k';
-xchr[108]= 'l';
-xchr[109]= 'm';
-xchr[110]= 'n';
-xchr[111]= 'o';
-xchr[112]= 'p';
-xchr[113]= 'q';
-xchr[114]= 'r';
-xchr[115]= 's';
-xchr[116]= 't';
-xchr[117]= 'u';
-xchr[118]= 'v';
-xchr[119]= 'w';
-xchr[120]= 'x';
-xchr[121]= 'y';
-xchr[122]= 'z';
-xchr[123]= '{';
-xchr[124]= '|';
-xchr[125]= '}';
-xchr[126]= '~';
-xchr[0]= ' ';xchr[0x7F]= ' ';
-
-
-/*:10*//*13:*/
-#line 429 "tie.w"
-
-for(i= 1;i<32;xchr[i++]= ' ');
-xchr[tab_mark]= '\t';
-xchr[form_feed]= '\f';
-xchr[nl_mark]= '\n';
-
-
-/*:13*//*14:*/
-#line 440 "tie.w"
-
-for(i= first_text_char;i<=last_text_char;xord[i++]= 32)do_nothing;
-for(i= 1;i<=126;i++)xord[xchr[i]]= i;
-
-
-
-
-
-/*:14*/
-#line 1239 "tie.w"
-
-}
-print_ln(banner);
-print_ln(copyright);
-actual_input= 0;
-out_mode= normal;
-/*56:*/
-#line 1177 "tie.w"
-
-{int act_arg;
-if(argc<5||argc>max_file_index+4-1)usage();
-no_ch= -1;
-for(act_arg= 1;act_arg<argc;act_arg++){
-if(argv[act_arg][0]=='-')/*57:*/
-#line 1195 "tie.w"
-
-if(prod_chf!=unknown)usage();
-else
-switch(argv[act_arg][1]){
-case'c':
-case'C':prod_chf= chf;break;
-case'm':
-case'M':prod_chf= master;break;
-default:usage();
-}
-
-
-/*:57*/
-#line 1182 "tie.w"
-
-else/*58:*/
-#line 1211 "tie.w"
-
-{if(no_ch==(-1)){
-out_name= argv[act_arg];
-}else{register input_description*inp_desc;
-inp_desc= (input_description*)
-malloc(sizeof(input_description));
-if(inp_desc==NULL)
-fatal_error("! No memory for descriptor");
-
-inp_desc->mode= search;
-inp_desc->line= 0;
-inp_desc->type_of_file= chf;
-inp_desc->limit= 0;
-inp_desc->name_of_file= argv[act_arg];
-input_organization[no_ch]= inp_desc;
-}
-incr(no_ch);
-}
-
-
-/*:58*/
-#line 1183 "tie.w"
-
-}
-if(no_ch<=0||prod_chf==unknown)usage();
-}
-
-
-/*:56*/
-#line 1245 "tie.w"
-
-/*34:*/
-#line 788 "tie.w"
-
-{
-out_file= fopen(out_name,"w");
-if(out_file==NULL){
-fatal_error("! Could not open/create output file");
-
-}
-}
-
-
-/*:34*/
-#line 1246 "tie.w"
-
-/*36:*/
-#line 809 "tie.w"
-
-{input_organization[0]->the_file=
-fopen(input_organization[0]->name_of_file,"r");
-if(input_organization[0]->the_file==NULL)
-fatal_error("! Could not open master file");
-
-print2("(%s)",input_organization[0]->name_of_file);
-term_new_line;
-input_organization[0]->type_of_file= master;
-get_line(0);
-}
-
-/*:36*/
-#line 1247 "tie.w"
-
-/*37:*/
-#line 825 "tie.w"
-
-{file_index i;
-i= 1;
-while(i<no_ch){
-input_organization[i]->the_file=
-fopen(input_organization[i]->name_of_file,"r");
-if(input_organization[i]->the_file==NULL)
-fatal_error("!Could not open change file");
-
-print2("(%s)",input_organization[i]->name_of_file);
-term_new_line;
-init_change_file(i,true);
-incr(i);
-}
-}
-
-
-
-
-
-/*:37*/
-#line 1248 "tie.w"
-
-/*53:*/
-#line 1128 "tie.w"
-
-actual_input= 0;
-input_has_ended= false;
-while(input_has_ended==false||actual_input!=0)
-/*45:*/
-#line 970 "tie.w"
-
-{file_index test_file;
-/*46:*/
-#line 985 "tie.w"
-
-{register input_description*inp_desc;
-while(actual_input>0&&e_of_ch_module(actual_input)){
-inp_desc= input_organization[actual_input];
-if(inp_desc->type_of_file==master){
-
-fatal_error("! This can't happen: change file is master file");
-
-}
-inp_desc->mode= search;
-init_change_file(actual_input,true);
-while((input_organization[actual_input]->mode!=reading
-&&actual_input>0))decr(actual_input);
-}
-}
-
-
-/*:46*/
-#line 972 "tie.w"
-
-if(input_has_ended&&actual_input==0)break;
-/*47:*/
-#line 1009 "tie.w"
-
-test_input= none;
-test_file= actual_input;
-while(test_input==none&&test_file<no_ch-1){
-incr(test_file);
-switch(input_organization[test_file]->mode){
-case search:if(lines_dont_match(actual_input,test_file)==false){
-input_organization[test_file]->mode= test;
-test_input= test_file;
-}
-break;
-case test:if(lines_dont_match(actual_input,test_file)==true){
-
-input_organization[test_file]->mode= search;
-err_print("! Sections do not match")(actual_input);
-
-err_loc(test_file);
-init_change_file(test_file,false);
-}else test_input= test_file;
-break;
-case reading:do_nothing;
-break;
-case ignore:do_nothing;
-break;
-}
-}
-
-
-/*:47*/
-#line 974 "tie.w"
-
-/*48:*/
-#line 1043 "tie.w"
-
-if(prod_chf==chf){
-loop{
-/*49:*/
-#line 1057 "tie.w"
-
-if(out_mode==normal){
-if(test_input!=none){
-fputc(map_xchr(64),out_file);fputc(map_xchr(120),out_file);
-new_line(out_file);
-out_mode= pre;
-}else break;
-}
-
-
-/*:49*/
-#line 1046 "tie.w"
-
-/*50:*/
-#line 1071 "tie.w"
-
-
-if(out_mode==pre){
-if(test_input==none){
-fputc(map_xchr(64),out_file);fputc(map_xchr(121),out_file);
-new_line(out_file);
-out_mode= post;
-}else{
-if(input_organization[actual_input]->type_of_file==master)
-put_line(actual_input);
-break;
-}
-}
-
-
-/*:50*/
-#line 1047 "tie.w"
-
-/*51:*/
-#line 1092 "tie.w"
-
-if(out_mode==post){
-if(input_organization[actual_input]->type_of_file==chf){
-if(test_input==none)put_line(actual_input);
-break;
-}else{
-fputc(map_xchr(64),out_file);fputc(map_xchr(122),out_file);
-new_line(out_file);
-new_line(out_file);
-out_mode= normal;
-}
-}
-
-
-/*:51*/
-#line 1048 "tie.w"
-
-}
-}else
-if(test_input==none)put_line(actual_input);
-
-
-/*:48*/
-#line 975 "tie.w"
-
-/*52:*/
-#line 1109 "tie.w"
-
-get_line(actual_input);
-if(test_input!=none){
-get_line(test_input);
-if(e_of_ch_preamble(test_input)==true){
-get_line(test_input);
-input_organization[test_input]->mode= reading;
-actual_input= test_input;
-test_input= none;
-}
-}
-
-
-/*:52*/
-#line 976 "tie.w"
-
-}
-
-
-/*:45*/
-#line 1132 "tie.w"
-
-if(out_mode==post){
-fputc(map_xchr(64),out_file);fputc(map_xchr(122),out_file);
-new_line(out_file);
-}
-
-
-/*:53*/
-#line 1249 "tie.w"
-
-/*54:*/
-#line 1143 "tie.w"
-
-{file_index i;
-for(i= 1;i<no_ch;i++){
-if(input_organization[i]->mode!=ignore)
-err_print("! Change file entry did not match")(i);
-
-}
-}
-
-
-/*:54*/
-#line 1250 "tie.w"
-
-/*60:*/
-#line 1261 "tie.w"
-
-{string msg;
-switch(history){
-case spotless:msg= "No errors were found";break;
-case troublesome:msg= "Pardon me, but I think I spotted something wrong.";
-break;
-case fatal:msg= "That was a fatal error, my friend";break;
-}
-print2_nl("(%s.)",msg);term_new_line;
-exit(history==spotless?0:1);
-}
-
-
-
-
-
-/*:60*/
-#line 1251 "tie.w"
-
-}
-
-/*:59*/
-#line 119 "tie.w"
-
-
-/*:2*/