home *** CD-ROM | disk | FTP | other *** search
- [RCONVERT.CNV]
- [G. Cisneros, 4.9.86, 11.7.90]
- [[Convert compiler for Convert]]
-
- [process header, find first left brace or parenthesis]
- (()()(0 1)(
- (<:w:>(and,<:K:>,<0>)<1>,<<
- >>(IF,(2),<0>,[<2>.CNV],(O,[<2>.REC](^MJ)),<<
- >><=>,[Exclude LIB],<<
- >>(,(%Ow,MEM:incl)(%W,MEM:incl,LB)),<<
- >><=>,[Include <2>]<>,(%W,MEM:incl,<2>),)<1>):
- (<:w:>(and,<0>,(or,{,<(>)<-->),(O,{)(if,(E,<0>),},(xh),));
- (,(L,<=>)):
- )) a
-
- [find a program to compile]
- ((
- ((or,(^Z),<:K:>)) z
- )()(0 1)(
- (<:S:>,<0>):
- ((^Z),<=>(xx,No main));
- (<(>(^Z),(xf));
- ({<0>,(O,(T,{))(G,{<0>)):
- ((^])<0>,<0>);
- ((^[)<:w:>(and,<[1]>,<0>)<1>,<<
- >>(if,<0><1>,<:z:>,(,(T, Main))(^]Z),<<
- >><0>,<:n:>,(O,(T,<0>)(^MJ)),<<
- >><=>,},(^])},<<
- >>(xd))<1>):
- ((^[)<:w:><0>,(^[)(L,<0>)):
- ((and,<[1]>,(nor,{,<(>,[),<0>)<1>,(xb,Expected {<,> [<,> <(>)<1>):
- (<(><:W:><(><0>,(O,{)(%t,patt: )(0,<0>)):
- (<(><:W:>(and,<[1]>,(nor,[,<(>),<0>)<1>,(xc)<(><1>):
- (<0>,(L,<0>)):
- )) E
-
- [programs/definitions in braces]
- (()(
- ((if,<=>,(^Z),<=>(xa))) u
- )(0 1)(
- ({<:W:>{<0>,(O,(T,{))(u,(G,{<0>)));
- ({<:W:><(><0>,(u,(E,<(><0>))):
- (}<:w:>(and,<[1]>,<0>)<1>,(O,(T,}))<<
- >>(if,<0><1>,<:z:>,<0>,<<
- >><0>,<:n:>,(O,(T,<0>)(^MJ)),<<
- >><=>,},<=>,(xd))<1>);
- (,(L,<=>)):
- )) G
-
- [pattern definitions]
- ((
- ((^Z)) z
- )(
- {((0,<=>)) E
- ((%W,,(^M))(xa)}*<)><(><0>) 2
- ((G,<=>))} g
- )(0 1 2)(
- (<:S:>,<0>):
- ((^[)<0>,<0>);
- ((^Z),(xf));
- ({<0>,(O,(T,{))(g,{<0>)):
- ((and,(or,<)>,),<2>)<:W:>(and,<[1]>,(nor,[,<(>),<0>)<1>,(xc)<2><1>):
- (<)><:W:><(><0>,(%t,skel: )(2,<0>));
- ((QUO/(<:@:>)/)<:w:>}<0>,<<
- >>(O,(QUO/(@@;)/))}<0>);
- ((and,<:Fq:>,<(><0><)>)<:w:>(and,<[1]>,<1>)<2>,<<
- >>(O,<(>(if,(b,<0>(if,<11>,S,,(QUO/<:%:>/))),<-->(^_),<<
- >>(xx,Ill (<)=(>)));<)>)<<
- >>(if,<1>,<:n:>,(O,(T,<=>)(^MJ)),<<
- >><=>,},(^[)},(xd))<2>):
- (<0>,(L,<0>)):
- )) 0
-
- [skeleton definitions]
- (()(
- {((2,<=>)) E
- ((%W,,(^M))(xa)}*<)><(><0>) 4
- ((G,<=>))} g
- )(0 1 2)(
- (<:S:>,<0>):
- ((^[)<0>,<0>);
- ((^Z),(xf));
- ({<0>,(O,(T,{))(g,{<0>)):
- ((and,(or,<)>,),<2>)<:W:>(and,<[1]>,(nor,[,<(>),<0>)<1>,(xc)<2><1>):
- (<)><:W:><(><0>,(%t,vble: )(4,<0>));
- ((QUO/((@))/)<:w:>}<0>,<<
- >>(O,(QUO/(@@;)/))}<0>);
- ((and,<:Fq:>,<(><0><)>)<:w:>(and,<[1]>,<1>)<2>,<<
- >>(O,<(>(C,JZD(^[)<0>);<)>)<<
- >>(if,<1>,<:n:>,(O,(T,<=>)(^MJ)),<<
- >><=>,},(^[)},(xd))<2>):
- (<0>,(L,<0>)):
- )) 2
-
- [var list]
- (()()(0 7 1)(
- ((and,<:V:>,<7>)<)><:W:><(><0>,(,(T,<7>))(%t,rule: )(7o)(5,<0>));
- (<7><)><:W:><(><0>,(xe)<)><(><0>):
- (<7><)><:W:>(and,<[1]>,(nor,<(>,[),<0>)<1>,(xc)<7><)><1>):
- (<0>,(L,<0>)):
- )) 4
-
- [rule set]
- (()()(0 1 2 3)(
- (<:S:>,<0>):
- ((or,(^Z),<)><:W:>(^Z)),(xf));
- ((and,<[1]>,(nor,<(>,<)>,[),<0>)<1>,(xb,Expected <(><,> <)><,> [)<1>):
- (<)><:W:>(and,<[1]>,(nor,<)>,[),<0>)<1>,<)>(xb,Expected <)><,> [)<1>):
- (<)><:W:><)><0>,(O,Z;<)>(7m)})(^[)<0>);
- ((and,<:Fq:>,<(>(and,<:Fk:>,<2>)<,>(and,<:Fk:>,<1>)<)>)<<
- >><:w:>(and,<[1]>,<0>)<3>,<<
- >>(O,(7n)(nf,<2>,<>,<<
- >>(if,J(b,<2>),<-->(^_),(I,64)x<'><<
- >>(WHILE,(0 1),<=>,<0>(^_)<1>,<0>64x[,<1>)x<">)<<
- >>)(C,JZD(^[)<1>))<<
- >>(if,<0>,(or,:,;),(O,(T,<=>)(^MJ)),<<
- >><=>(xb,Expected :<,> ;)(O,_(^MJ)))<3>):
- ((and,<:Fq:>,<0>)<:w:>(or,:,;,)<1>,(xb,Bad rule)(O,_)<1>):
- (<0>,(L,<0>)):
- )) 5
-
- {
- [pattern compilation]
-
- [IVL]
- (()()(0 1 2 10)(
- ((and,<[1]>,<0>)(REC/BQU<1x]>ABQU<2x]>A/)<)><10>,<<
- >>(k,<(>QUO<0><1><0><)>)(k,<(>QUO<0><2><0><)>)Mz(e));
- (<0>,(xb,IVL stx err));
- )) U
-
- [LAM]
- (()()(7 10)(
- (<,><:Fz:><(>(and,<:V:>,<7>)<)><:Fz:><,><10>,<<
- >>(7b){<(>(7a)(7c);<)>~<(>(b,<10>)@~;@~<)>});
- )) L
-
- [skel on pattern side]
- (()()(0 10)(
- (<:l:><>,<0><'><'>);
- (<:l:>(and,<:FK:><>,<10>),<0>(k,<10>));
- (,(C,<=>)JQD);
- )) s
-
- [compile a pattern]
- ((
- ((<)(>)(ITR,(<)(>))) B
- )(
- ((nf,<1>,<>,J)) j
- )(1 10)(
- (<>,);
- (<1>(^[)<10>,<1>(nf,<10>,<>,(b,<=>)));
- (<:FZ:><:Fz:><10>,<10>):
- ((<)[(and,<:Fi:>,<1>)](>)<10>,<1><(>a;L<)>z(e)):
- ((<)[(and,(itr,(or,<:Fq:>,<[1]>))](>),<1>](>))<10>,<<
- >>(s,j(<)(^[)<1>)(>)<(>Oa;L<)>z(e)):
- ((<):(and,(or,%,@,~),<1>):(>)<>,(if,<1>,~,x8,@<1>));
- ((<):(and,<:n:>(itr,<:n:>):(>),<1>:(>))<10>,<<
- >>(if,<11>,S,(i,<1>)(e),<<
- >>(IF,(10),<10>,<10>(<):%:(>)<>,<<
- >>x9{<(>(b,<10>(<):~:(>));<)>%<(>(i,<1>)x};x}<)>},<<
- >><=>,<10>,{<(>(b,<10>);<)>%<(>(i,<1>);<)>})(I,::)(^[))):
- ((<)(and,(or,--,<:v:>),<1>)(>)<:FZ:><:Fz:><10>,<<
- >>(<)<1>(>)<10>):
- ((<)--(>)(or,(<)(>)(ITR,(<)(>)),<>)<10>,Zz(e)):
- ((<)--(>)(and,(or,<:FK:>,),<1>)<10>,<<
- >>(if,<10>,<>,(k,<1>)Fz,<<
- >><(>l<(>(nf,<1>,<>,(k,<1>)(QUO/(Fz;ZzqL)/))<<
- >>qL(b,<10>)L;Y<)>L;x{A(nf,<1>,<>,B):<)>));
- ((and,<:FK:>,<1>)<10>,(k,<1>)Ez(e)):
- (<:B:><10>,<(>A<)>(e)):
- ((<)(and,<:v:>,<1>)(>)(and,<10>,(or,(<)(>)<-->,)),<<
- >><1>x](e)):
- ((<)(and,<:v:>,<1>)(>)<10>,<<
- >>{<(>(b,<10>);<)>#<(>(IF,(2),<10>,(and,<:FK:>,<2>),<<
- >>(k,<2>)<1>x(>),<1>x(<));<)>});
- ((QUO/<()>/)<10>,<'><(><'>Ezx*(I,<(><)>)(e)):
- (<(>DEF(and,(ITR,<,><:Fk:><,><:n:>)<,><:Fk:>,<1>)<)><10>,<<
- >>{(WHILE,(10 1 2),<1>,(and,<,><:Fk:><,><:n:>,<<
- >><,><10><,><:n:>,<,><10><,><1>)<2>,<<
- >><(>(b,<10>(if,<11>,S,,(<):%:(>)));<)><1>,<2>,<<
- >><,><10>,<(>(b,<10>);<)>,)}(e)):
- (<(>ITR<,>(and,<:Fk:>,<1>)<)><10>,<<
- >><(>Z(<)(b,<1>)(>):J(>);<)>(e)):
- (<(>itr<,>(and,<:Fk:>,<1>)<)><10>,<<
- >><(>lqL(b,<10>)LL;Yx{(b,<1>):<)>);
- (<(>(or,OR,or)<)><10>,<(><)>(e)):
- (<(>(or,AND,and)<)><10>,<10>):
- (<(>(or,AND,and,OR,or)<,>(and,<:Fk:>,<1>)<)><10>,<1><10>):
- (<(>and<:F*:>,<<
- >>(IF,(10 1),<1>,<:F+:>,<<
- >>Z(<)<(>(b,<10>)jJ(>)(<)<<
- >>(WHILE,(10 1),<1>,<:F+:>,(b,<10>(<)(>))(j),<1>)<<
- >>(QUO/;>)>/))(e)):
- (<(>or<:F*:>,<<
- >>Z(<)<(><<
- >>(WHILE,(10 1),<1>,<:F+:>,(b,<10>);(j),<1>)<<
- >>(QUO/>)>/)(e)):
- (<(>AND<:F*:>,<<
- >>(IF,(10 1 2),<<
- >>(IF,(0 1),<10>,<0>(<):%:(>)<1>,<0>(<):~:(>)<1>)(^[)<1>,<<
- >><2>(^[)<:F+:>,<<
- >>Z(<)<(>(if,<2>,<-->(<):~:(>),x9,)<<
- >>(b,<10><<
- >><(>REC(^])<(>ljJ(>)(<)<<
- >>(WHILE,(10 1),<1>,<:F+:>,(b,<10>(<)(>))(j),<1>)<<
- >>(nf,<2>,<>,(QUO/qLJ>Z<Y/)(b,<=>))<<
- >>(QUO/>L;x{J>Z<)/)(^])<)>)<<
- >>(if,<2>,<-->(<):~:(>),x};x},;)(>)<)>));
- (<(>OR<:F*:><10>,<<
- >>Z(<)<(><<
- >>(WHILE,(10 1),<1>,<:F+:>,l(b,<10>);x{(j),<1>)<<
- >>(QUO/>)L>/));
- (<(>OR<:F*:>,<<
- >>(IF,(10),<10>,(<):%:(>)<>,<<
- >>Z(<)<(><<
- >>(WHILE,(10 1),<1>,<:F+:>,<<
- >>l(b,<10>(<):%:(>));x{(j),<1>)<<
- >>(QUO/>)L>/),<<
- >><=>,<10>(<):%:(>),<<
- >>x9{<(>(b,<10>(<):~:(>));<)>%<(>Z(<)<(><<
- >>(WHILE,(10 1),<1>,<:F+:>,<<
- >>l(b,<10>(<):%:(>));x{(j),<1>)<<
- >>(QUO/>)L>x};x})}/)(I,::),<<
- >><=>,<10>,{<(>(b,<10>);<)>%<(>Z(<)<(><<
- >>(WHILE,(10 1),<1>,<:F+:>,<<
- >>l(b,<10>(<):%:(>));x{(j),<1>)<<
- >>(QUO/>)L>;)}/)));
- (<(>NOT<,>(and,<:Fk:>,<1>)<)><10>,<<
- >><(>Z(<)(b,<1>)(QUO/J>)/)<<
- >>(IF,(10),J(>)(e),J(>)(^[)(or,<:B:>,<>)<10>,(>)Zz(e))):
- (<(>nor<:F*:>,<(>NOT<,><(>or<1><)><)><10>):
- (<(>^<)><10>,0%31%Mz(e)):
- (<(>IVL<1>,(U,<1>)):
- (<(>ivl<:F*:>,<<
- >><(>(WHILE,(0 10 1),<1>,<,>(and,<:Fk:>,<0>)<:F+:>,<<
- >>(s,(s,j(<)(^[)<0>)(e))(>)Mz;,<1>,<<
- >><:F+:>,(nf,<10>,<>,(s,j(<)(e))(>)<'><'>Mz;),)<)>(e)):
- (<(>REC(REC/ABQU<1x]>A/)<)><10>,<1>(e)):
- (<(>LAM<:F*:>,(L,<1>)(e)):
- (<(>PWS<)><10>,x+Zqtj(e)):
- (<(>PWS<,>(and,<:FK:>,<1>)<)><10>,x+(k,<1>)TLZqtj(e)):
- (<(>HLT<)><10>,RL(e)):
- (<(>HLT<,>(and,<:FK:>,<1>)<)><10>,x+(k,<1>)TLRL(e)):
- (<(>NOP(or,<,><:Fk:>,)<)><10>,(e)):
- (<(>PVR<,>(and,<:Fk:>,<1>)<)><10>,<<
- >>(if,<1>,<:v:>,(I,v )<1>x_,(xg,Not a var))(e)):
- (<(><)><1>,<1>):
- ((and,<:Fq:>,<1>)<10>,(s,j(<)(^[)<1>)(>)Ez(e)):
- (<1>,(xg,Ill patt));
- )) } b
-
- {
- [skeleton compilation]
-
- [%R]
- ((
- (<,>(and,<:Fk:>,<1>)) 1
- (<,><:Fz:><(>(and,<:V:>,<7>)<)><:Fz:>) u
- )(
- ((if,<10>,<>,x~,)) j
- ((C,JZD(^[)<1>)) J
- ((IF,(0),(c,z(<)(e)),z(<)<0>,<0>)) p
- )(7 1 10)(
- (<,>(and,<10>,(or,CTR,STK,ARR):<-->),(p)xR(I,R ));
- (<:u:>(or,<,>,)(and,<:Fk:><>,<10>),<<
- >>{<(>Jx|;<)>~<(>(p)xRA;;<)>}x~);
- (<:u:><:F+:>,{<(>J(IF,(10 1),<1>,<:F+:>,<<
- >>(if,<10>,<>,x|,(b,<=>));<)>~<(>)<<
- >>(p)(7b)xRA<<
- >>(IF,(10 1),<1>,<:F+:>,<<
- >>(nf,<10>,<>,BD)<<
- >>(IF,(1),<1>,<,><:Fk:><:1:>,(J),(j));<<
- >>(IF,(1),<1>,<:1:>,(J),(j)));<)>}(7a)(7c));
- (<,><1>,<,><(><)><,><1>(%t,Warning: <(><)> added to %R)):
- (<1>,(xg,Ill %R));
- )) r
-
- [tail arg in conditionals]
- (()()(1 3 10)(
- (<>,);
- (<,>(and,<:Fk:>,<3>)<:F+:>,<<
- >>(7n)J(2)(b,<3>)(3)(C,JZD(e));Z);
- (<1>,(j));
- )) J
-
- [tail arg in iteratives]
- (()()(1 10)(
- (<>,);
- (<:F+:>(and,<1>,<>),(C,JZD(e)));
- (<1>,(j));
- )) U
-
- [compile a skeleton]
- ((
- ((or,<-->j(<)<>,<-->z(<)<>,<-->JQD<>,<-->JZD<>)) t
- )(
- ((if,<0>,<:t:>,,z(<))) 0
- ((if,<0>,<:t:>,,(>))) 1
- ((if,<2>,(or,N,U),<(>,)) 2
- ((if,<2>,(or,N,U),<)>,)) 3
- ((xg,Illegal <2>)) j
- )(0 1 2 10)(
- (<:l:><>,<0>);
- (<:l:><:FZ:><:Fz:><10>,<0>(e)):
- (<:l:>(and,<:FK:>,<1>)<10>,<0>(k,<1>)I(e)):
- (<:l:>(<)(and,<:v:>,<1>)(>)<10>,<0><1>x[(e)):
- (<:l:>(<)=(>)<10>,<0>(^_)(e)):
- (<:l:><(>(and,(or,IF,NF),<2>)<:F*:>,<<
- >>(IF,(7 1 10),<1>,<<
- >><,><:Fz:><(>(and,<:V:>,<7>)<)><:Fz:><:F+:>,<<
- >>(c,<0>(0)(e))(7b)(nf,<7>,<>,{<(>(7a);<)>~<(>)<(><<
- >>(WHILE,(1 3 4 10),<<
- >><1>,<,>(and,<:Fk:>,<3>)<,>(and,<:Fk:>,<4>)<:F+:>,<<
- >>(7n)J(2)(b,<3>)<<
- >>(3)(C,JZD(^[)<4>);(C,JZD(e)),<1>,<<
- >>(J,<=>))<<
- >>;<)><<
- >>(7n)(nf,<7>,<>,(7c);<)>}),<<
- >>(xx,Ill <2>))(1)(e)):
- (<:l:><(>(and,(or,WHILE,UNTIL),<2>)<:F*:>,<<
- >><0>(IF,(7 1 10),<1>,<<
- >><,><:Fz:><(>(and,<:V:>,<7>)<)><:Fz:><:F+:>,<<
- >>(c,z(<)(e))(7b)(nf,<7>,<>,{<(>(7a);<)>~<(>)<<
- >>(WHILE,(1 3 4 10),<<
- >><1>,<,>(and,<:Fk:>,<3>)<,>(and,<:Fk:>,<4>)<:F+:>,<<
- >><(>(7n)J(2)(b,<3>)(3)<<
- >>(h,(c,JZD(^[)<4>)(>)(c,z(<)(e))):;<)>,<1>,<<
- >>(U,<=>))<<
- >>Z(>)<<
- >>(7n)(nf,<7>,<>,(7c);<)>}),<<
- >>(xx,Ill <2>))(e)):
- (<:l:><(>(and,(or,if,nf,while,until),<1>)<,><10>,<<
- >><0>(^[)<(>(&u,<1>)<,><(><)><,><10>):
- (<:l:><(>REC(REC/ABQU<1x]>A/)<)><10>,<0><1>(e)):
- (<:l:><(>%R<:F*:>,<0>(0)(r,<1>)(1)(e)):
- (<:l:><(>%r<:F*:>,<0>(0)(r,<,><(><)><1>)(1)(e)):
- (<:l:><(><)><10>,<0>(e)):
- (<:l:><(>(and,(or,(or,%,#,&)(ITR,<:N:>),<<
- >><:n:>(ITR,<:n:>),),<2>)<:F*:>,<<
- >>(IF,(10 1),<1>,<:F+:>,(c,<0>(0)(e)<<
- >>(WHILE,(10 1),<1>,<:F+:>,(<)<,>(>)<10>,<1>)),<<
- >><0>(0))<<
- >>(i,<2>)(1)(e)):
- (<:l:><1>,(xg,Ill skel)<0>);
- )) c
-
- [skeleton cleanup]
- (()()(0 1)(
- (JZD(^_)<0>,JZ<0>):
- (JZ(and,(ITR,QI),<0>)(^_)<1>,JZ<0>QI<1>):
- (JZDz(<)(^_)<0>,JZ(<)<0>):
- (JZ(and,(ITR,QI),<0>)z(<)(^_)<1>,JZ<0>QI(<)<1>):
- (JZ(and,(ITR,QI)(<)(ITR,QI),<0>)(^_)<1>,JZ<0>QI<1>):
- (JZ<0>(^_)<1>,(I,64)x<'><0>64x[<<
- >>(WHILE,(0 1),<1>,<0>(^_)<1>,<0>64x[,<1>)x<">);
- )) h
-
- [skeleton main]
- (()()()(
- (,(h,(c,<=>)));
- )) } C
-
- [compile a constant]
- (()()(0)(
- (<(>DEC<,><0><)>,<0>%);
- (<(>HEX<,><0><)>,(nf,<0>,<[3]>,(&Hd,<=>)%,<<
- >><=>,<[5]>,(&Hd,<=>)<,>,<'><0><'>H));
- (<(>QUO(REC/ABQU<0x]>A/)<)>,<<
- >>(IF,(7 8),<<
- >>(WHILE,(1 2 3),<0>,<1>(and,(or,<'>,<">),<2>)<3>,<<
- >>(nf,<1>,<>,<'><1><'>(^^))(&d,<2>)%(^^),<3>,<<
- >>(and,<1>,<[1]><-->),<'><1><'>(^^),),<<
- >><7>(^^)<8>(^^)<>,<<
- >><7>(WHILE,(0 1),<8>,<0>(^^)<1>,<0>|,<1>)|,<<
- >><=>,<7>(^^),<7>,<=>,<>,<'><'>));
- (<(>^<0><)>,<(>HEX<,>(WHILE,(0 1),<0>,<0>(and,<[1]><>,<1>),<<
- >>(IF,(0),(&Dh,(#-,(&d,<1>)-64)),<[2]><0>,<0>),<<
- >><0>)<)>):
- ((<)(and,(or,<'>,<">),<0>)(>),(&d,<0>)%);
- (<0>,(if,<0>,<-->MEM:,(I,m ),)<<
- >>(if,<0>,<-->CTR:,(I,c ),)<<
- >>(if,<0>,<-->NUL:,(I,n ),)<<
- >>(if,<0>,<-->STK:,(I,s ),)<<
- >>(if,<0>,<-->ARR:,(I,a ),)<<
- >><'>(WHILE,(0 1 2),<0>,<0>(or,<(><1><)>,(<)<1>(>))<2>,<<
- >><0><1>,<2>)<'>);
- )) k
-
- [insertion of sub call]
- (()(
- ((WHILE,(0 1),<0>,<0>(and,<[1]><>,<1>),<<
- >>(if,<1>,(or,<'>,<">),(&d,<1>)%,<'><1><'>),<0>)) X
- )(0 1)(
- (<>,JZD);
- ((and,(or,#,&),<1>)<0>,(Z)<'>&<'>(X)x<1>);
- (%(and,<[1]>,<1>)<0>,(Z)(X)x<1>);
- ((and,<[1]>,<1>)<0>,(X)@<1>);
- )) i
-
- [insertion in the Include string]
- (()()(0)(
- (<0>,(Y));
- )) I
-
- [main program]
- ((
- ((ITR,(or, ,(^I),(^M),(^J)))) w [whitespace]
- ([(ITR,(or,<:K:>,(and,<[1]>,(nor,[,]))))]) K [comment]
- (<:w:>(ITR,<:K:><:w:>)) W [gen. whitespace]
- ((and,<:W:>,<[1]><-->)<0>) S [nonnull whitespace]
- ((IVL/!/~/)) A [printable ASCII]
- ((and,<:A:>,(nor,@,},%,#,&,~,<(>,<)>,<,>))) n [subr name]
- ((and,<:A:>,(nor,@,},<(>,<)>,<,>))) N [lib subr name]
- ((IVL/0/9/)) d [digit]
- ((or,30,(OR,1,2,)<:d:>)) v [var number]
- ((or,<:v:>(ITR, <:v:>),)) V [var list]
- (<0>(^[)) l [left portion]
-
- {((or,<(>(nor,QUO,REC,IVL)(ITR,(or,<:0:>,<:1:>,<:Z:>,<<
- >>(and,<[1]>,(nor,<(>,<)>)),<:q:>))<)>,<<
- >><:Q:>,<:T:>,<:R:>)) q [nest]
- ((ITR,(or,<:0:>,<:1:>,<:4:>,<:Z:>,<<
- >>(and,<[1]>,(nor,<(>,<)>,<,>)),<:q:>))) k [to comma or rpar]
- ((and,<,><:k:>,<,><10>)<1><>) + [next item to 10]
- ((and,(ITR,<,><:k:>),<1>)<)><10><>) * [arg list to 1]
- ((QUO/<(>/)) 0 ((QUO/<)>/)) 1 [round paren]
- ((QUO/(<)/)) 2 ((QUO/(>)/)) 3 [angle brack]
- ((QUO/<'>/)) ' ((QUO/<">/)) " [quotes]
- ((QUO/<,>/)) 4 [comma]
- (<(>QUO(REC/ABQzFz')'Ez/)) Q [QUOte]
- (<(>REC(REC/ABQzFz')'Ez/)) R [REC]
- ((<)(<)<-->(>)(>)) Z [null]
- ((ITR,<:Z:>)) z [conc nulls]
- ((REC/'(IVL'EzABQzFQzFz')'Ez/)) T [lex InterVaL]
- ((DEF,(IVL/@/_/),k,<(>^<:k:>(ITR,<:k:>)<)>)) C [ctrl chars]
- (<:d:>(ITR,<:d:>)) i [integer]
- ((QUO/(DEC,/)<:i:><)>) E [DECimal]
- ((DEF,(or,<:d:>,(IVL/A/F/)),j,<<
- >>(QUO/(HEX,/)<:j:>(ITR,<:j:>)<)>)) H [HEXadecimal]
- ((and,<:A:>,<<
- >>(nor,<(>,<)>,(<),(>),<,>,<'>,<">))) a [restr const]
- ((or,<:a:>,(^I),(^J),(^M), )) c [other const]
- ((or,<:0:>,<:1:>,<:2:>,<:3:>,<:4:>,<:c:>)) e [quotable const]
- ((or,<:e:>(ITR,<:e:>),<:':>,<:":>,<<
- >><:C:>,<:E:>,<:H:>,<:Q:>,<:Z:>)) K [constant]
- (<:@:>) } F
- )(
- ((if,<=>(%r,<8>.<9>),<-->(^ZMJZ),<<
- >>(xf),<=>(^MJ))) L [read a line]
- (<=>(%W,TTY:,<=>)) T [trace]
- ((%W,<8>.REC,<=>)) O [write]
-
- {((nf,<7>,<>,<'><'><7>x<)>)) a [var undef sub]
- ((nf,<7>,<>,<<
- >>(WHILE,(0 1),<=> ,<0> <1>,<0>x<(>,<1>))) b [var init]
- ((nf,<7>,<>,<<
- >>(WHILE,(0 1),0x:<7> ,<0>x:<:v:> <1>,,<<
- >>(#p,<0>)x:<1>))) c [var discont]
- ((O,(nf,<7>,<>,<(>(a);<)>~(^MJ)<(>(b))<(>)) o [var init]
- ((nf,<7>,<>,@~)) n [var reinit]
- ((nf,<7>,<>,(n)(c);<)>)) m [var discont]
- ((@))} 7
-
- ((^[)<10>) e [comp tail]
-
- ((WHILE,(0 2),<1> <0>,(and,<[2]>,<0>)<2>,(Y),<<
- >><1><2>,)) Z [make incl pair]
- ((,(%Or,MEM:incl))(%r,MEM:incl,<<
- >>(itr,<[2]>)<0>,,(%W,MEM:incl,<0>))) Y [write incl pair]
-
- {((%t,<=>)(,(%r,CTR:err))) x [diagnostics]
- ((x,Unbal {)) a
- ((x,<=>: <0>)) b
- ((b,Expected <(><,> [)) c
- ((b,Ill subr name)) d
- ((x,Ill var list: <7>)) e
- ((x,Premature EOF)(%M)) f
- ((x,<=>: <1>)) g
- ((x,Excess })) h
- ((@))} x
- )(8 9 11)(
- (<8>.REC,Cannot compile a .REC file);
- (<8>.<9>/<11>,(nf,(%Or,<8>.<9>),Not Found,(%Ow,<8>.REC)<<
- >>(%Ow,MEM:incl,512)(%Ow,CTR:err)<<
- >>(a,(L))<<
- >>(if,(%r,CTR:err) error<(>s<)>,0 ,<=><<
- >>(%Or,MEM:incl)<<
- >>(O,(IF,(0 1),(%r,MEM:incl,<-->),(and,<0>,LB<1>),<<
- >>}(^MJ)[<1>],<<
- >>(REC*"~
- {(-1='Not Found'I;) v
- ((' 'FZD;Z;)0%IJ;) u
- (x+'Terminated'TLxE_) M
- ((B13%ED;;)J(10%FD:;)J(26%FBAZD;;)Z;) ~
- (13%Fz;26%F((2b);J6666,EA;zBj;)z;) |
- (512eqm29$rn|63K0(=)(a;L)LzZD(B26%ED:;)Y;DLL) y
- (J(2573FDZQmD;''m;)l30$SJ('L/'FDZ<(' 'FjJ;;)QD>
- ((B;;)' 'ED;;);'';)mZ
- "I*)<<
- >>(if,<11>,S,,1024@0<'>}<'>$S)<<
- >>(REC*"188cmpw'M'$r(f:;)wnpG66-,127$Sx@
- 'vuM~|y'I<z(BQD@s:;)>0,31$S
- nI<(A1b':'(E)'\'(E);'CNVLIB.REC'I;;)0%IJQD>
- 30$ryGI<@ppGm(pL61K-1(=);LLL@o:lyG' Not Found'|T_)
- 29$SnLLLLJZD>
- "I*)<<
- >>(k,<(>QUO(^Z)<0>(^Z)<)>)<<
- >>(REC*"m(32$r0=0''CLpLr32$S;;)LZz;) x
- (';'FDJ<((A);1b'\'E;'\'I;)JQD>lyG|;) o
- ('PATH='(F)JZD;(0%U;zZ;)QJZD(''=;';'=;I';'I;)J;) p
- (pG$r&\pG+127$r+S;) s
- (Z>zZ<(J@|J><z@~J;@y:Z26%I:)26%EnL0pG29$rpGm62knS;
- J('['ED']'FDJ<Z((2b)>JZD;QDlyw&FwJZD>;w:):Z;)
- >J<'[!]'FDBQD\pG+127$r+mJq32$rC
- mpGlyG-'w'$r'x'$r-
- (NLnLq'x'$rC&'x'$SnS;32$SnnS;)D::) w
- (@x<<@w>JZD>;)} %
- (@%@~xTxE;) }"I*))(^MJ)))));
- (<8>/<11>,<8>.CNV/<11>):
- (<8>.<9>,<8>.<9>/S):
- (<8>,<8>.CNV/S):
- ))
- [end]