-- file: WeaveInit.mesa -- Pascal-to-Mesa translator output, translated at September 23, 1986 1:27:37 pm PDT DIRECTORY PascalBasic, PascalWizardFiles, WeaveProcs, WeaveVars; WeaveInit: PROGRAM IMPORTS PascalBasic, PascalWizardFiles, WeaveProcs, WeaveVars EXPORTS WeaveProcs = PUBLIC BEGIN OPEN PascalBasic, PascalWizardFiles, WeaveProcs, WeaveVars; --:265----30: --PROCEDURE DEBUG_HELP;FORWARD;----:30----31:-- Error: PROCEDURE = BEGIN K, L:PascalInteger[0..LongBufSize];--32: BEGIN IF INT[Loc]>=Limit THEN L_Limit ELSE L_Loc; IF Changing THEN {PascalWriteLongString[file: @TermOut, item: ". (change file pos:"]; PascalWriteInteger[file: @TermOut, item: FileGetPos[ @ChangeFile]-(Limit-L)-2, fieldMinLength: 1]; PascalWriteLongString[file: @TermOut, item: ")"]; PascalWriteLn[file: @TermOut]} ELSE {PascalWriteLongString[file: @TermOut, item: ". (pos:"] ; PascalWriteInteger[file: @TermOut, item: FileGetPos[@WebFile]-(Limit-L)-2, fieldMinLength: 1]; PascalWriteLongString[file: @TermOut, item: ")"]; PascalWriteLn[file: @TermOut]}; FOR i:INT IN [ INT[1 ].. INT[L ]] DO K _ i; IF Buffer^[K-1]=9 THEN PascalWriteLongString[file: @TermOut, item: " "] ELSE PascalWriteChar[file: @TermOut, item: Xchr^[Buffer^[K-1]]] ENDLOOP;PascalWriteLn[file: @TermOut]; FOR i:INT IN [ INT[1 ].. INT[L ]] DO K _ i; PascalWriteLongString[file: @TermOut, item: " "] ENDLOOP; FOR i:INT IN [ INT[L+1 ].. INT[Limit ]] DO K _ i; PascalWriteChar[file: @TermOut, item: Xchr^[Buffer^[K-1]]] ENDLOOP; IF Buffer^[Limit]=124 THEN PascalWriteChar[file: @TermOut, item: Xchr^[124]];PascalWriteLongString[file: @TermOut, item: " "]; END--:32--;PascalTextBREAK[file: @TermOut];History_2;--DEBUG_SKIPPED:=DEBUG_CYCLE; -- DEBUG_HELP;-- END;--:31----33:-- JumpOut: PROCEDURE = BEGIN ERROR Error9999; END;--:33 Initialize: PROCEDURE = BEGIN--16:--I:PascalInteger[0..255];--:16----40:--Wi:PascalInteger[0..1];--:40----57: H:PascalInteger[0..HashSize];--:57----248:--C:AsciiCode;--:248----10:--History_0;--:10 --14:--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^[127]_' ;--:14----17: FOR i:INT IN [ INT[1 ].. INT[31 ]] DO I _ i; Xchr^[I]_PascalCHR[I] ENDLOOP;--:17----18: FOR i:INT IN [ INT[0 ].. INT[255 ]] DO I _ i; Xord^[PascalCHR[I]]_32 ENDLOOP;FOR i:INT IN [ INT[1 ].. INT[126 ]] DO I _ i; Xord^[Xchr^[I]]_I ENDLOOP; --:18----21:--TtyRewrite[@TermOut];--:21----26: FileRewrite[@TexFile,Alfa['t, 'e, 'x, ' , ' , ' , ' , ' , ' , ' ]];--:26----41: FOR i:INT IN [ INT[0 ].. INT[1 ]] DO Wi _ i; ByteStart^[Wi]_0;BytePtr^[Wi]_0; ENDLOOP; ByteStart^[2]_0;NamePtr_1;--:41----43:--Ilk^[0]_0;--:43----50:--XrefPtr_0; XrefSwitch_0;ModXrefSwitch_0;Xmem^[0].NumField_0;Xref^[0]_0;--:50 --55:--TokPtr_1;TextPtr_1;TokStart^[0]_1;TokStart^[1]_1; --MAX_TOK_PTR:=1;MAX_TXT_PTR:=1;----:55----58: FOR i:INT IN [ INT[0 ].. INT[HashSize-1 ]] DO H _ i; Hash^[H]_0 ENDLOOP;--:58----95:--ScanningHex_FALSE; --:95----103:--ModText^[0]_32;--:103----125:--OutPtr_1;OutLine_1; OutBuf^[1]_99;PascalWriteLongString[file: @TexFile, item: "\\input webma"];--:125----127: OutBuf^[0]_92;--:127----146:--ScrapBase_1;ScrapPtr_0;--MAX_SCR_PTR:=0; --:146----204:----MAX_STACK_PTR:=0;----:204----246:----MAX_SORT_PTR:=0;----:246 --249:--Collate^[0]_0;Collate^[1]_32;FOR i:INT IN [ INT[1 ].. INT[31 ]] DO C _ i; Collate^[C+1]_C ENDLOOP; FOR i:INT IN [ INT[33 ].. INT[47 ]] DO C _ i; Collate^[C]_C ENDLOOP;FOR i:INT IN [ INT[58 ].. INT[64 ]] DO C _ i; Collate^[C-10]_C ENDLOOP; FOR i:INT IN [ INT[91 ].. INT[94 ]] DO C _ i; Collate^[C-36]_C ENDLOOP;Collate^[59]_96; FOR i:INT IN [ INT[123 ].. INT[126 ]] DO C _ i; Collate^[C-63]_C ENDLOOP;Collate^[64]_95; FOR i:INT IN [ INT[97 ].. INT[122 ]] DO C _ i; Collate^[C-32]_C ENDLOOP; FOR i:INT IN [ INT[48 ].. INT[57 ]] DO C _ i; Collate^[C+43]_C ENDLOOP;--:249----260:----TROUBLE_SHOOTING:=TRUE; -- DEBUG_CYCLE:=1;DEBUG_SKIPPED:=0;TRACING:=0;TROUBLE_SHOOTING:=FALSE; -- DEBUG_CYCLE:=99999;RESET(TERM_IN,'TTY:','/I');----:260-- END;--:2----24: OpenInput: PROCEDURE = BEGIN FileReset[@WebFile,Alfa['w, 'e, 'b, ' , ' , ' , ' , ' , ' , ' ]]; FileReset[@ChangeFile,Alfa['c, 'h, 'a, 'n, 'g, 'e, 's, ' , ' , ' ]]; END;--:24----28: InputLn: PROCEDURE[ F: LONG POINTER TO TextFile] RETURNS[InputLnResult: PascalBoolean] = BEGIN FinalLimit:PascalInteger[0..BufSize]; Limit_0;FinalLimit_0; IF PascalTextEOF[file: @F^] THEN InputLnResult_FALSE ELSE BEGIN WHILE NOT PascalTextEOLN[file: @F^]DO BEGIN Buffer^[Limit]_Xord^[PascalTextElement[file: @F^]];PascalTextGET[file: @F^];Limit_Limit+1; IF Buffer^[Limit-1]#32 THEN FinalLimit_Limit; IF Limit=BufSize THEN BEGIN WHILE NOT PascalTextEOLN[file: @F^]DO PascalTextGET[file: @F^] ENDLOOP ;Limit_Limit-1; BEGIN PascalWriteLn[file: @TermOut];PascalWriteLongString[file: @TermOut, item: "! Input line too long"]; END; Loc_0;Error[]; END; END ENDLOOP ;PascalReadLn[file: @F^];Limit_FinalLimit;InputLnResult_TRUE; END; END;--:28----44:-- END.