From: nealcrook Date: Tue, 22 Nov 2016 09:47:14 +0000 (+0000) Subject: Revert "Add files from BCPL kit and some simple example programs." X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=a665c9d980b537451276afcd97d4b890c6e50cd1;p=FUZIX.git Revert "Add files from BCPL kit and some simple example programs." This reverts commit 7eec99c7ec337818e34a3c782c093f3f1e1b0e8a. --- diff --git a/Applications/BCPL/CGHDR b/Applications/BCPL/CGHDR deleted file mode 100644 index 8bdec66e..00000000 --- a/Applications/BCPL/CGHDR +++ /dev/null @@ -1,71 +0,0 @@ -// $Id: CGHDR,v 1.3 2004/12/21 09:37:53 rn Exp $ - -// CGHDR - - -GET "LIBHDR" - -MANIFEST $( // OCODE OPERATORS -S.TRUE=4; S.FALSE=5 -S.RV=8; S.FNAP=10 -S.MULT=11; S.DIV=12; S.REM=13; S.PLUS=14; S.MINUS=15 -S.QUERY:16; S.NEG=17 -S.EQ=20; S.NE=21; S.LS=22; S.GR=23; S.LE=24; S.GE=25 -S.NOT=30; S.LSHIFT=31; S.RSHIFT=32; S.LOGAND=33; S.LOGOR=34 -S.EQV=35; S.NEQV=36; S.COND=37 -S.LP=40; S.LG=41; S.LN=42; S.LSTR=43; S.LL=44 -S.LLP=45; S.LLG=46; S.LLL=47 - -S.RTAP=51; S.GOTO=52 -S.RETURN=67; S.FINISH=68 -S.SWITCHON=70 -S.GLOBAL=76 -$) - -MANIFEST $( -S.SP=80; S.SG=81; S.SL=82; S.STIND=83 -S.JUMP=85; S.JT=86; S.JF=87 -S.LAB=90; S.STACK=91; S.STORE=92; S.RSTACK=93; S.ENTRY=94 -S.SAVE=95; S.FNRN=96; S.RTRN=97; S.RES=98; S.RESLAB=99 -S.DATALAB=100; S.ITEML=101; S.ITEMN=102; S.ENDPROC=103; S.END=104 -S.CHAR=105; ERROR:108; S.DEBUG:109 -$) - - - - -GLOBAL $( -CH:100; WORDV:102 -INTCODE:105; SYSPRINT:106; SYSIN:107 -SSP:110; STATE:111; AD.A:113; AD.K:114 -OPTION:128 -DATAV:152; DATAP:153; DATAT:154 -PROGLENGTH:155; LINEP:156; PARAM:157 -OP:171 $) - -GLOBAL $( -READOP:210; RDN:211; RDL:212 -$) - -GLOBAL $( -GENCODE:230 -$) - -GLOBAL $( -FORCE.NIL:240; FORCE.AD:241; FORCE.AC:242; FORCE.ACAD:243 -LOAD:244 -STOREIN:246 -CGSTRING:250; DATA:251; NEXTPARAM:252 -$) - -GLOBAL $( -CODE:260; COMPLAB:261; OPCODE:262; WR:263; WRN:264 -WRDATA:265 -$) - -MANIFEST $( -M.N=0; M.I=1; M.P=2; M.IP=3; M.L=4; M.IL=5; M.G=6; M.IG=7 -F.L='L'; F.S='S'; F.A='A'; F.J='J'; F.T='T'; F.F='F'; F.K='K'; F.X='X' -F.D='D'; F.C='C' -NIL=0; AD=1; AC=2; ACAD=3 -$) diff --git a/Applications/BCPL/LIBHDR b/Applications/BCPL/LIBHDR deleted file mode 100644 index 6b4fda98..00000000 --- a/Applications/BCPL/LIBHDR +++ /dev/null @@ -1,29 +0,0 @@ -// $Id: LIBHDR,v 1.6 2004/12/21 13:03:39 rn Exp $ - -// LIBHDR -GLOBAL $( -START:1 -SELECTINPUT:11; SELECTOUTPUT:12 -RDCH:13; WRCH:14; UNRDCH:15 -INPUT:16; OUTPUT:17 -STOP:30 -LEVEL:31; LONGJUMP:32 -REWIND:35; APTOVEC:40 -FINDOUTPUT:41; FINDINPUT:42 -ENDREAD:46; ENDWRITE:47 -STACKBASE:54; STACKEND:55 -WRITES:60; WRITEN:62; NEWLINE:63; NEWPAGE:64 -PACKSTRING:66; UNPACKSTRING:67; WRITED:68 -READN:70; TERMINATOR:71 -WRITEHEX:75; WRITEF:76; WRITEOCT:77 -MAPSTORE:78 -GETBYTE:85; PUTBYTE:86 -RESULT2:91 -$) - - -MANIFEST $( -ENDSTREAMCH=-1; BYTESPERWORD=4; BITSPERWORD=32 -MAXINT=#X7FFFFFFF; MININT=#X80000000 -FIRSTFREEGLOBAL=150 -$) diff --git a/Applications/BCPL/OPTIONS b/Applications/BCPL/OPTIONS deleted file mode 100644 index 1c0f02ff..00000000 --- a/Applications/BCPL/OPTIONS +++ /dev/null @@ -1 +0,0 @@ -L7500 diff --git a/Applications/BCPL/SYNHDR b/Applications/BCPL/SYNHDR deleted file mode 100644 index c98ab090..00000000 --- a/Applications/BCPL/SYNHDR +++ /dev/null @@ -1,63 +0,0 @@ -// $Id: SYNHDR,v 1.2 2004/12/11 11:55:14 rn Exp $ - -// SYNHDR - - -GET "LIBHDR" - -MANIFEST $( // AE OPERATORS AND SYMBOLS -S.NUMBER=1; S.NAME=2; S.STRING=3; S.TRUE=4; S.FALSE=5 -S.VALOF=6; S.LV=7; S.RV=8; S.VECAP=9; S.FNAP=10 -S.MULT=11; S.DIV=12; S.REM=13 -S.PLUS=14; S.MINUS=15; S.QUERY=16; S.NEG=17 -S.EQ=20; S.NE=21; S.LS=22; S.GR=23; S.LE=24; S.GE=25 -S.NOT=30; S.LSHIFT=31; S.RSHIFT=32; S.LOGAND=33; S.LOGOR=34 -S.EQV=35; S.NEQV=36; S.COND=37; S.COMMA=38; S.TABLE=39 - -S.AND=40; S.VALDEF=41; S.VECDEF=42; S.CONSTDEF=43 -S.FNDEF=44; S.RTDEF=45 - -S.ASS=50; S.RTAP=51; S.GOTO=52; S.RESULTIS=53 -S.COLON=54 -S.TEST=55; S.FOR=56; S.IF=57; S.UNLESS=58 -S.WHILE=59; S.UNTIL=60; S.REPEAT=61; S.REPEATWHILE=62 -S.REPEATUNTIL=63; S.LOOP=65; S.BREAK=66; S.RETURN=67; S.FINISH=68 -S.ENDCASE=69; S.SWITCHON=70; S.CASE=71; S.DEFAULT=72 -S.SEQ=73; S.LET=74; S.MANIFEST=75; S.GLOBAL=76; S.STATIC=79 -$) - -MANIFEST $( // OTHER CANONICAL SYMBOLS -S.BE=89; S.END=90; S.LSECT=91; S.RSECT=92; S.GET=93 -S.SEMICOLON=97; S.INTO=98; S.TO=99; S.BY=100; S.DO=101; S.OR=102 -S.VEC=103; S.LPAREN=105; S.RPAREN=106 -$) - -GLOBAL $( // GLOBALS USED IN LEX -CHBUF:100; DECVAL:101 -GETV=103; GETP=104; GETT=105 -WORDV:106; WORDSIZE:107; CHARV:108; CHARP:109 -PRSOURCE:110; PRLINE:111 -SYMB:115; WORDNODE:116; CH:117; RDTAG:118 -NEXTSYMB:120; DECLSYSWORDS:121; NLPENDING:122 -LOOKUPWORD:125; RCH:126; PPTRACE:127; OPTION:128 -WRCHBUF:131; CHCOUNT:132; LINECOUNT:133 -NULLTAG:134; REC.P:135; REC.L:136 -$) - -GLOBAL $( // GLOBALS USED IN CAE -RDBLOCKBODY:140; RDSECT:141 -RNAMELIST:142; RNAME:143 -REXP:144; RDEF:145; RCOM:146 -RDCDEFS:147; NAMETABLE:148; NAMETABLESIZE:149 -FORMTREE:150; CAEREPORT:151; PLIST:152 -CHECKFOR:153; IGNORE:154; PERFORMGET:155; REXPLIST:156 -RDSEQ:157 -LIST1:161; LIST2:162; LIST3:163; LIST4:164; LIST5:165 -NEWVEC:166; TREEP:167; TREEVEC:168; LIST6:169 -CHARCODE:190; REPORTCOUNT:191; REPORTMAX:192 -SOURCESTREAM:193; SYSPRINT:194; OCODE:195; SYSIN:196 -$) - -MANIFEST $( // SELECTORS -H1=0; H2=1; H3=2; H4=3; H5=4; H6=5 -$) diff --git a/Applications/BCPL/TRNHDR b/Applications/BCPL/TRNHDR deleted file mode 100644 index ee751725..00000000 --- a/Applications/BCPL/TRNHDR +++ /dev/null @@ -1,79 +0,0 @@ -// $Id: TRNHDR,v 1.1 2004/12/09 20:29:36 rn Exp $ - -// TRNHDR - - -GET "LIBHDR" - -MANIFEST $( // AE OPERATORS AND SYMBOLS -S.NUMBER=1; S.NAME=2; S.STRING=3; S.TRUE=4; S.FALSE=5 -S.VALOF=6; S.LV=7; S.RV=8; S.VECAP=9; S.FNAP=10 -S.MULT=11; S.DIV=12; S.REM=13; S.PLUS=14; S.MINUS=15; S.QUERY=16 -S.NEG=17 -S.EQ=20; S.NE=21; S.LS=22; S.GR=23; S.LE=24; S.GE=25 -S.NOT=30; S.LSHIFT=31; S.RSHIFT=32; S.LOGAND=33; S.LOGOR=34 -S.EQV=35; S.NEQV=36; S.COND=37; S.COMMA=38; S.TABLE=39 - -S.AND=40; S.VALDEF=41; S.VECDEF=42; S.CONSTDEF=43 -S.FNDEF=44; S.RTDEF=45 - -S.ASS=50; S.RTAP=51; S.GOTO=52; S.RESULTIS=53 -S.COLON=54 -S.TEST=55; S.FOR=56; S.IF=57; S.UNLESS=58 -S.WHILE=59; S.UNTIL=60; S.REPEAT=61; S.REPEATWHILE=62 -S.REPEATUNTIL=63; S.LOOP=65; S.BREAK=66; S.RETURN=67; S.FINISH=68 -S.ENDCASE=69; S.SWITCHON=70; S.CASE=71; S.DEFAULT=72 -S.SEQ=73; S.LET=74; S.MANIFEST=75; S.GLOBAL=76 -S.LOCAL=77; S.LABEL=78; S.STATIC=79 -$) - - -MANIFEST $( // SELECTORS -H1=0; H2=1; H3=2; H4=3; H5=4; H6=5 -$) - -MANIFEST $( -S.LP=40; S.LG=41; S.LN=42; S.LSTR=43; S.LL=44 -S.LLP=45; S.LLG=46; S.LLL=47 - -S.SP=80; S.SG=81; S.SL=82; S.STIND=83 -S.JUMP=85; S.JT=86; S.JF=87 -S.LAB=90; S.STACK=91; S.STORE=92; S.RSTACK=93; S.ENTRY=94 -S.SAVE=95; S.FNRN=96; S.RTRN=97; S.RES=98; S.RESLAB=99 -S.DATALAB=100; S.ITEML=101; S.ITEMN=102 -S.ENDPROC=103 -$) - - -GLOBAL $( -OPTION:128 -PLIST:152 - -CHARCODE:190; REPORTCOUNT:191; REPORTMAX:192 -SYSPRINT:194; OCODE:195 - -TRANS:200; DECLNAMES:201; DECLDYN:202; DECLSTAT:203 -CHECKDISTINCT:204; ADDNAME:205; CELLWITHNAME:206 -TRANSDEF:207; SCANLABEL:208; DECLLABELS:209 -TRANSREPORT:210 -JUMPCOND:220; TRANSSWITCH:221; TRANSFOR:222 -ASSIGN:230; LOAD:231; LOADLV:232; LOADLIST:233; COMPDATALAB:234 -EVALCONST:235; LOADZERO:236; TRANSNAME:237 -COMPLAB:240; COMPJUMP:241; COMPENTRY:242 -NEXTPARAM:243; PARAMNUMBER:244; COMPILEAE:245 - -WRC:250; OCOUNT:251; ENDOCODE:252; WRN:253; WRPN:254 -DVEC:260; DVECS:261; DVECE:262; DVECP:263; DVECT:264 -CASEK:265; CASEL:266; CASEP:267; CASET:268; CASEB:269 -CURRENTBRANCH:270 -BREAKLABEL:271; RESULTLABEL:272; DEFAULTLABEL:273; ENDCASELABEL:274 -LOOPLABEL:275 -SSP:280; VECSSP:281; SAVESPACESIZE:282 -GLOBDECL:285; GLOBDECLS:286; GLOBDECLT:287 -COMCOUNT:288 $) - -GLOBAL $( -OUT1:290; OUT2:291; OUT2P:292 -OUT3:293; OUT3P:294 -OUTN:295; OUTL:296; OUTC:297 -WRITEOP:298 $) diff --git a/Applications/BCPL/cg.b b/Applications/BCPL/cg.b deleted file mode 100644 index a7bdc991..00000000 --- a/Applications/BCPL/cg.b +++ /dev/null @@ -1,526 +0,0 @@ -// $Id: cg.bcpl,v 1.4 2004/12/21 09:37:53 rn Exp $ - -// CG1 - -GET "CGHDR" - -STATIC $( WP=0; STRSIZE=0 $) - -LET T(S) = VALOF - $( FOR I = 0 TO STRSIZE DO UNLESS S!I=WORDV!I RESULTIS FALSE - RESULTIS TRUE $) - -LET READOP() = VALOF - $(1 LET S = VEC 20 - - CH := RDCH() REPEATWHILE CH='*N' \/ CH='*S' - WP := 0 - - WHILE 'A'<=CH<='Z' DO - $( WP := WP + 1 - S!WP := CH - CH := RDCH() $) - - S!0 := WP - STRSIZE := PACKSTRING(S, WORDV) - - SWITCHON S!1 INTO - $( DEFAULT: IF CH=ENDSTREAMCH RESULTIS S.END - RESULTIS ERROR - - CASE 'D': - RESULTIS T("DATALAB") -> S.DATALAB, - T("DIV") -> S.DIV, - T("DEBUG") -> S.DEBUG, ERROR - - CASE 'E': - RESULTIS T("EQ") -> S.EQ, - T("ENTRY") -> S.ENTRY, - T("EQV") -> S.EQV, - T("ENDPROC") -> S.ENDPROC, - T("END") -> S.END, ERROR - - CASE 'F': - RESULTIS T("FNAP") -> S.FNAP, - T("FNRN") -> S.FNRN, - T("FALSE") -> S.FALSE, - T("FINISH") -> S.FINISH, ERROR - - - CASE 'G': - RESULTIS T("GOTO") -> S.GOTO, - T("GE") -> S.GE, - T("GR") -> S.GR, - T("GLOBAL") -> S.GLOBAL, ERROR - - CASE 'I': - RESULTIS T("ITEMN") -> S.ITEMN, - T("ITEML") -> S.ITEML, ERROR - - CASE 'J': - RESULTIS T("JUMP") -> S.JUMP, - T("JF") -> S.JF, - T("JT") -> S.JT, ERROR - - CASE 'L': - IF WP=2 DO - SWITCHON S!2 INTO - $( DEFAULT: RESULTIS ERROR - CASE 'E': RESULTIS S.LE - CASE 'N': RESULTIS S.LN - CASE 'G': RESULTIS S.LG - CASE 'P': RESULTIS S.LP - CASE 'L': RESULTIS S.LL - CASE 'S': RESULTIS S.LS $) - - RESULTIS T("LAB") -> S.LAB, - T("LLG") -> S.LLG, - T("LLL") -> S.LLL, - T("LLP") -> S.LLP, - T("LOGAND") -> S.LOGAND, - T("LOGOR") -> S.LOGOR, - T("LSHIFT") -> S.LSHIFT, - T("LSTR") -> S.LSTR, ERROR - - CASE 'M': - RESULTIS T("MINUS") -> S.MINUS, - T("MULT") -> S.MULT, ERROR - - CASE 'N': - RESULTIS T("NE") -> S.NE, - T("NEG") -> S.NEG, - T("NEQV") -> S.NEQV, - T("NOT") -> S.NOT, ERROR - - CASE 'P': - RESULTIS T("PLUS") -> S.PLUS, ERROR - - CASE 'Q': - RESULTIS T("QUERY") -> S.QUERY, ERROR - - CASE 'R': - RESULTIS T("RES") -> S.RES, - T("REM") -> S.REM, - T("RTAP") -> S.RTAP, - T("RTRN") -> S.RTRN, - T("RSHIFT") -> S.RSHIFT, - T("RSTACK") -> S.RSTACK, - T("RV") -> S.RV, ERROR - - CASE 'S': - RESULTIS T("SG") -> S.SG, - T("SP") -> S.SP, - T("SL") -> S.SL, - T("STIND") -> S.STIND, - T("STACK") -> S.STACK, - T("SAVE") -> S.SAVE, - T("SWITCHON") -> S.SWITCHON, - T("STORE") -> S.STORE, ERROR - - CASE 'T': - RESULTIS T("TRUE") -> S.TRUE, ERROR $)1 - - -AND RDN() = VALOF - $(1 LET A, NEG = 0, FALSE - - CH := RDCH() REPEATWHILE CH='*N' \/ CH='*S' - IF CH='-' DO $( NEG := TRUE; CH := RDCH() $) - - WHILE '0' LE CH LE '9' DO - $( A := A*10 +CH - '0' - CH := RDCH() $) - - RESULTIS NEG -> -A, A $)1 - - -AND RDL() = VALOF - $(1 LET A = 0 - - CH := RDCH() REPEATWHILE CH='*N' \/ CH='*S' - - IF CH='L' DO CH := RDCH() - - WHILE '0' LE CH LE '9' DO - $( A := A*10 + CH - '0' - CH := RDCH() $) - - RESULTIS A $)1 - - -. - -// CG2 - - -GET "CGHDR" - -LET START(PARM) BE - $(1 LET V = VEC 4000 - DATAV, DATAT := V, 4000 - $( LET V = VEC 50 - WORDV := V - - SYSIN := INPUT() - SYSPRINT := OUTPUT() - INTCODE := FINDOUTPUT("INTCODE") - IF INTCODE=0 DO INTCODE := SYSPRINT - - PROGLENGTH := 0 - - SELECTINPUT(SYSIN) - SELECTOUTPUT(INTCODE) - - $( SSP, STATE := 2, NIL - DATAP, LINEP, PARAM := 0, 0, 500 - GENCODE() $) REPEATWHILE OP=S.GLOBAL - - SELECTOUTPUT(SYSPRINT) - WRITEF("*NPROGRAM LENGTH = %N*N", PROGLENGTH) - FINISH $)1 - -. - -// CG3 - - -GET "CGHDR" - -LET GENCODE() BE - $(1 - -NEXT: OP := READOP() - - SWITCHON OP INTO - - $( DEFAULT: SELECTOUTPUT(SYSPRINT) - WRITEF("*NUNKNOWN KEY WORD: %S*N", WORDV) - SELECTOUTPUT(INTCODE) - GOTO NEXT - - CASE S.END: RETURN - - CASE S.DEBUG: - SELECTOUTPUT(SYSPRINT) - WRITEF("*NSTATE=%N, SSP=%N, AD.A=%N, AD.K=%N*N", - STATE, SSP, AD.A, AD.K) - SELECTOUTPUT(INTCODE) - GOTO NEXT - - CASE S.LP: LOAD(RDN(), M.IP); GOTO NEXT - CASE S.LG: LOAD(RDN(), M.IG); GOTO NEXT - CASE S.LL: LOAD(RDL(), M.IL); GOTO NEXT - CASE S.LN: LOAD(RDN(), M.N); GOTO NEXT - - CASE S.LSTR: CGSTRING(RDN()); GOTO NEXT - - CASE S.TRUE: LOAD(-1, M.N); GOTO NEXT - CASE S.FALSE: LOAD(0, M.N); GOTO NEXT - - - CASE S.LLP: LOAD(RDN(), M.P); GOTO NEXT - CASE S.LLG: LOAD(RDN(), M.G); GOTO NEXT - CASE S.LLL: LOAD(RDL(), M.L); GOTO NEXT - - CASE S.SP: STOREIN(RDN(), M.P); GOTO NEXT - CASE S.SG: STOREIN(RDN(), M.G); GOTO NEXT - CASE S.SL: STOREIN(RDL(), M.L); GOTO NEXT - - CASE S.STIND: FORCE.ACAD() - CODE(F.S, AD.A, AD.K) - SSP, STATE := SSP-2, NIL - GOTO NEXT - - CASE S.MULT:CASE S.DIV:CASE S.REM: - CASE S.MINUS:CASE S.EQ:CASE S.NE: - CASE S.LS:CASE S.GR:CASE S.LE:CASE S.GE: - CASE S.LSHIFT:CASE S.RSHIFT: - CASE S.LOGAND:CASE S.LOGOR:CASE S.NEQV:CASE S.EQV: - FORCE.ACAD() - CODE(F.L, AD.A, AD.K) - CODE(F.X, OPCODE(OP), M.N) - STATE, SSP := AC, SSP-1 - GOTO NEXT - - CASE S.RV:CASE S.NEG:CASE S.NOT: - FORCE.AC() - CODE(F.X, OPCODE(OP), M.N) - GOTO NEXT - - CASE S.PLUS: FORCE.ACAD() - CODE(F.A, AD.A, AD.K) - STATE, SSP := AC, SSP-1 - GOTO NEXT - - CASE S.JUMP: FORCE.NIL() - CODE(F.J, RDL(), M.L) - GOTO NEXT - - CASE S.JT:CASE S.JF: - FORCE.AC() - CODE(OP=S.JT->F.T,F.F, RDL(), M.L) - SSP, STATE := SSP-1, NIL - GOTO NEXT - - CASE S.GOTO: FORCE.AD() - CODE(F.J, AD.A, AD.K) - SSP, STATE := SSP-1, NIL - GOTO NEXT - - CASE S.LAB: FORCE.NIL() - COMPLAB(RDL()) - GOTO NEXT - - CASE S.QUERY: FORCE.NIL(); SSP := SSP + 1; GOTO NEXT - - CASE S.STACK: FORCE.NIL(); SSP := RDN(); GOTO NEXT - - CASE S.STORE: FORCE.NIL(); GOTO NEXT - - CASE S.ENTRY: $( LET N = RDN() - LET L = RDL() - WR('*N'); WR('$') - FOR I = 1 TO N DO RDN() - WR(' ') - COMPLAB(L) - GOTO NEXT $) - - CASE S.SAVE: SSP := RDN(); GOTO NEXT - - CASE S.ENDPROC: RDN(); GOTO NEXT - CASE S.RTAP: - CASE S.FNAP: $( LET K = RDN() - FORCE.AC() - CODE(F.K, K, M.N) - TEST OP=S.FNAP - THEN SSP, STATE := K+1, AC - OR SSP, STATE := K, NIL - GOTO NEXT $) - - CASE S.FNRN: FORCE.AC() - SSP := SSP - 1 - CASE S.RTRN: CODE(F.X, OPCODE(S.RTRN), M.N) - STATE := NIL - GOTO NEXT - - CASE S.RES: FORCE.AC() - CODE(F.J, RDL(), M.L) - SSP, STATE := SSP-1, NIL - GOTO NEXT - - CASE S.RSTACK: FORCE.NIL() - SSP, STATE := RDN()+1, AC - GOTO NEXT - - CASE S.FINISH: CODE(F.X, OPCODE(OP), M.N); GOTO NEXT - - CASE S.SWITCHON: - $( LET N = RDN() - LET D = RDL() - FORCE.AC() - CODE(F.X, OPCODE(OP), M.N) - CODE(F.D, N, M.N) - CODE(F.D, D, M.L) - SSP, STATE := SSP-1, NIL - FOR I = 1 TO N DO - $( CODE(F.D, RDN(), M.N) - CODE(F.D, RDL(), M.L) $) - GOTO NEXT $) - - - CASE S.GLOBAL: - WR('*N') - FOR I = 0 TO DATAP-2 BY 2 DO WRDATA(DATAV!I, DATAV!(I+1)) - WR('*N') - FOR I = 1 TO RDN() DO - $( WR('G'); WRN(RDN()) - WR('L'); WRN(RDL()); WR('*S') $) - WR('*N'); WR('Z'); WR('*N') - RETURN - - CASE S.DATALAB: - CASE S.ITEML: DATA(OP, RDL()) - GOTO NEXT - - CASE S.ITEMN: DATA(OP, RDN()) - GOTO NEXT $)1 - -. - -// CG4 - - -GET "CGHDR" - -LET FORCE.NIL() BE - SWITCHON STATE INTO - $( CASE ACAD: CODE(F.S, SSP-2, M.P) - - CASE AD: CODE(F.L, AD.A, AD.K) - - CASE AC: CODE(F.S, SSP-1, M.P) - STATE := NIL - - CASE NIL: $) - -AND FORCE.AD() BE - SWITCHON STATE INTO - $( CASE ACAD: CODE(F.S, SSP-2, M.P) - GOTO L - - CASE AC: CODE(F.S, SSP-1, M.P) - - CASE NIL: AD.A, AD.K := SSP-1, M.IP - L: STATE := AD - - CASE AD: $) - -AND FORCE.AC() BE - SWITCHON STATE INTO - $( CASE NIL: CODE(F.L, SSP-1, M.IP) - GOTO L - - CASE ACAD: CODE(F.S, SSP-2, M.P) - - CASE AD: CODE(F.L, AD.A, AD.K) - L: STATE := AC - - CASE AC: $) - -AND FORCE.ACAD() BE - SWITCHON STATE INTO - $( CASE AD: CODE(F.L, SSP-2, M.IP) - GOTO L - - CASE AC: CODE(F.S, SSP-1, M.P) - - CASE NIL: CODE(F.L, SSP-2, M.IP) - AD.A, AD.K := SSP-1, M.IP - L: STATE := ACAD - - CASE ACAD: $) - -AND LOAD(A, K) BE - SWITCHON STATE INTO - $( CASE NIL: STATE := AD - GOTO M - - CASE ACAD: - CASE AD: FORCE.AC() - CASE AC: STATE := ACAD - M: AD.A, AD.K := A, K - SSP := SSP + 1 $) - - -AND STOREIN(A, K) BE - $( FORCE.AC() - CODE(F.S, A, K) - SSP, STATE := SSP-1, NIL $) - -AND CGSTRING(N) BE - $(1 LET L = NEXTPARAM() - DATA(S.DATALAB, L) - DATA(S.CHAR, N) - FOR I = 1 TO N DO DATA(S.CHAR, RDN()) - LOAD(L, M.L) - RETURN $)1 - -AND DATA(K, V) BE - $( LET P = DATAP - DATAV!P, DATAV!(P+1) := K, V - DATAP := DATAP + 2 - IF DATAP>DATAT DO - $( SELECTOUTPUT(SYSPRINT) - WRITES("*NTOO MANY CONSTANTS*N") - SELECTOUTPUT(INTCODE) - DATAP := 0 $) $) - -AND NEXTPARAM() = VALOF $( PARAM := PARAM - 1 - RESULTIS PARAM $) - -. - -// CG5 - - -GET "CGHDR" - -LET CODE(F, A, K) BE - $( WR(F) - SWITCHON K INTO - $( CASE M.I: WR('I') - CASE M.N: ENDCASE - - CASE M.IG: WR('I') - CASE M.G: WR('G') - ENDCASE - - CASE M.IP: WR('I') - CASE M.P: WR('P'); ENDCASE - - CASE M.IL: WR('I') - CASE M.L: WR('L'); ENDCASE $) - - WRN(A) - WR(' ') - PROGLENGTH := PROGLENGTH + 1 $) - -AND COMPLAB(N) BE $( WRN(N); WR(' ') $) - -AND WRDATA(K, N) BE SWITCHON K INTO - $( CASE S.DATALAB: COMPLAB(N); RETURN - - CASE S.ITEMN: CODE(F.D, N, M.N); RETURN - - CASE S.ITEML: CODE(F.D, N, M.L); RETURN - - CASE S.CHAR: CODE(F.C, N, M.N); RETURN $) - - -AND OPCODE(OP) = VALOF SWITCHON OP INTO - $( CASE S.RV: RESULTIS 1 - CASE S.NEG:RESULTIS 2 - CASE S.NOT:RESULTIS 3 - CASE S.RTRN:RESULTIS 4 - CASE S.MULT: RESULTIS 5 - CASE S.DIV: RESULTIS 6 - CASE S.REM: RESULTIS 7 - CASE S.PLUS: RESULTIS 8 - CASE S.MINUS: RESULTIS 9 - CASE S.EQ: RESULTIS 10 - CASE S.NE: RESULTIS 11 - CASE S.LS: RESULTIS 12 - CASE S.GE: RESULTIS 13 - CASE S.GR: RESULTIS 14 - CASE S.LE: RESULTIS 15 - CASE S.LSHIFT:RESULTIS 16 - CASE S.RSHIFT:RESULTIS 17 - CASE S.LOGAND:RESULTIS 18 - CASE S.LOGOR: RESULTIS 19 - CASE S.NEQV: RESULTIS 20 - CASE S.EQV: RESULTIS 21 - CASE S.FINISH:RESULTIS 22 - CASE S.SWITCHON:RESULTIS 23 - - DEFAULT: SELECTOUTPUT(SYSPRINT) - WRITEF("*NUNKNOWN OP %N*N", OP) - SELECTOUTPUT(INTCODE) - RESULTIS 0 $) - - -AND WR(CH) BE - $( IF CH='*N' DO $( WRCH('*N') - LINEP := 0 - RETURN $) - - IF LINEP=71 DO - $( WRCH('/') - WRCH('*N') - LINEP := 0 $) - LINEP := LINEP + 1 - WRCH(CH) $) - -AND WRN(N) BE - $( TEST N<0 DO WR('-') OR N := -N - IF N<-9 DO WRN(-N/10) - WR('0' - N REM 10) $) diff --git a/Applications/BCPL/cg.i b/Applications/BCPL/cg.i deleted file mode 100644 index ffa69f2f..00000000 --- a/Applications/BCPL/cg.i +++ /dev/null @@ -1,212 +0,0 @@ -JL5 -$ 3 L0 SP3 LIL2 SP4 JL7 8 LIP3 AIP2 X1 SP5 LIP3 AIG102 X1 SP6 LIP5 LIP6/ - X10 TL9 L0 JL6 9 LIP3 A1 SP3 7 LIP3 LIP4 X15 TL8 L-1 JL6 6 X4 5 JL13 -$ 10 LP3 SP2 15 LIG13 K24 SG100 L10 LIG100 X10 TL15 L32 LIG100 X10 TL15/ - L0 SL1 JL17 16 L1 AIL1 SL1 LIG100 SP24 LIL1 AIP2 SP25 LIP24 SIP25 LIG1/ -3 K24 SG100 17 L65 LIG100 X15 FL18 LIG100 L90 X15 TL16 18 LIL1 SP24 L0 / -AIP2 SP25 LIP24 SIP25 LIP2 SP26 LIG102 SP27 LIG66 K24 SL2 JL19 21 L-1 L/ -IG100 X10 FL22 L104 JL14 22 L108 JL14 23 LL499 SP26 LIL4 K24 FL25 L100 / -SP24 JL24 25 LL498 SP26 LIL4 K24 FL27 L12 SP24 JL26 27 LL497 SP26 LIL4 / -K24 FL29 L109 SP24 JL28 29 L108 SP24 28 26 24 LIP24 JL14 30 LL496 SP26 / -LIL4 K24 FL32 L20 SP24 JL31 32 LL495 SP26 LIL4 K24 FL34 L94 SP24 JL33 3/ -4 LL494 SP26 LIL4 K24 FL36 L35 SP24 JL35 36 LL493 SP26 LIL4 K24 FL38 L1/ -03 SP24 JL37 38 LL492 SP26 LIL4 K24 FL40 L104 SP24 JL39 40 L108 SP24 39/ - 37 35 33 31 LIP24 JL14 41 LL491 SP26 LIL4 K24 FL43 L10 SP24 JL42 43 LL/ -490 SP26 LIL4 K24 FL45 L96 SP24 JL44 45 LL489 SP26 LIL4 K24 FL47 L5 SP2/ -4 JL46 47 LL488 SP26 LIL4 K24 FL49 L68 SP24 JL48 49 L108 SP24 48 46 44 / -42 LIP24 JL14 50 LL487 SP26 LIL4 K24 FL52 L52 SP24 JL51 52 LL486 SP26 L/ -IL4 K24 FL54 L25 SP24 JL53 54 LL485 SP26 LIL4 K24 FL56 L23 SP24 JL55 56/ - LL484 SP26 LIL4 K24 FL58 L76 SP24 JL57 58 L108 SP24 57 55 53 51 LIP24 / -JL14 59 LL483 SP26 LIL4 K24 FL61 L102 SP24 JL60 61 LL482 SP26 LIL4 K24 / -FL63 L101 SP24 JL62 63 L108 SP24 62 60 LIP24 JL14 64 LL481 SP26 LIL4 K2/ -4 FL66 L85 SP24 JL65 66 LL480 SP26 LIL4 K24 FL68 L87 SP24 JL67 68 LL479/ - SP26 LIL4 K24 FL70 L86 SP24 JL69 70 L108 SP24 69 67 65 LIP24 JL14 71 L/ -2 LIL1 X10 FL72 JL73 75 L108 JL14 76 L24 JL14 77 L42 JL14 78 L41 JL14 7/ -9 L40 JL14 80 L44 JL14 81 L22 JL14 JL74 73 L2 AIP2 X1 X23 D6 DL75 D69 D/ -L76 D78 DL77 D71 DL78 D80 DL79 D76 DL80 D83 DL81 74 72 LL478 SP26 LIL4 / -K24 FL83 L90 SP24 JL82 83 LL477 SP26 LIL4 K24 FL85 L46 SP24 JL84 85 LL4/ -76 SP26 LIL4 K24 FL87 L47 SP24 JL86 87 LL475 SP26 LIL4 K24 FL89 L45 SP2/ -4 JL88 89 LL474 SP26 LIL4 K24 FL91 L33 SP24 JL90 91 LL473 SP26 LIL4 K24/ - FL93 L34 SP24 JL92 93 LL472 SP26 LIL4 K24 FL95 L31 SP24 JL94 95 LL471 / -SP26 LIL4 K24 FL97 L43 SP24 JL96 97 L108 SP24 96 94 92 90 88 86 84 82 L/ -IP24 JL14 98 LL470 SP26 LIL4 K24 FL100 L15 SP24 JL99 100 LL469 SP26 LIL/ -4 K24 FL102 L11 SP24 JL101 102 L108 SP24 101 99 LIP24 JL14 103 LL468 SP/ -26 LIL4 K24 FL105 L21 SP24 JL104 105 LL467 SP26 LIL4 K24 FL107 L17 SP24/ - JL106 107 LL466 SP26 LIL4 K24 FL109 L36 SP24 JL108 109 LL465 SP26 LIL4/ - K24 FL111 L30 SP24 JL110 111 L108 SP24 110 108 106 104 LIP24 JL14 112 / -LL464 SP26 LIL4 K24 FL114 L14 SP24 JL113 114 L108 SP24 113 LIP24 JL14 1/ -15 LL463 SP26 LIL4 K24 FL117 L16 SP24 JL116 117 L108 SP24 116 LIP24 JL1/ -4 118 LL462 SP26 LIL4 K24 FL120 L98 SP24 JL119 120 LL461 SP26 LIL4 K24 / -FL122 L13 SP24 JL121 122 LL460 SP26 LIL4 K24 FL124 L51 SP24 JL123 124 L/ -L459 SP26 LIL4 K24 FL126 L97 SP24 JL125 126 LL458 SP26 LIL4 K24 FL128 L/ -32 SP24 JL127 128 LL457 SP26 LIL4 K24 FL130 L93 SP24 JL129 130 LL456 SP/ -26 LIL4 K24 FL132 L8 SP24 JL131 132 L108 SP24 131 129 127 125 123 121 1/ -19 LIP24 JL14 133 LL455 SP26 LIL4 K24 FL135 L81 SP24 JL134 135 LL454 SP/ -26 LIL4 K24 FL137 L80 SP24 JL136 137 LL453 SP26 LIL4 K24 FL139 L82 SP24/ - JL138 139 LL452 SP26 LIL4 K24 FL141 L83 SP24 JL140 141 LL451 SP26 LIL4/ - K24 FL143 L91 SP24 JL142 143 LL450 SP26 LIL4 K24 FL145 L95 SP24 JL144 / -145 LL449 SP26 LIL4 K24 FL147 L70 SP24 JL146 147 LL448 SP26 LIL4 K24 FL/ -149 L92 SP24 JL148 149 L108 SP24 148 146 144 142 140 138 136 134 LIP24 / -JL14 150 LL447 SP26 LIL4 K24 FL152 L4 SP24 JL151 152 L108 SP24 151 LIP2/ -4 JL14 JL20 19 L1 AIP2 X1 X23 D14 DL21 D68 DL23 D69 DL30 D70 DL41 D71 D/ -L50 D73 DL59 D74 DL64 D76 DL71 D77 DL98 D78 DL103 D80 DL112 D81 DL115 D/ -82 DL118 D83 DL133 D84 DL150 20 14 X4 -$ 11 L0 SP2 L0 SP3 154 LIG13 K4 SG100 L10 LIG100 X10 TL154 L32 LIG100 X/ -10 TL154 L45 LIG100 X10 FL155 L-1 SP3 LIG13 K4 SG100 155 JL157 156 L10 / -LIP2 X5 AIG100 L48 X9 SP2 LIG13 K4 SG100 157 L48 LIG100 X15 FL158 LIG10/ -0 L57 X15 TL156 158 LIP3 FL160 LIP2 X2 SP4 JL159 160 LIP2 SP4 159 LIP4 / -JL153 153 X4 -$ 12 L0 SP2 162 LIG13 K3 SG100 L10 LIG100 X10 TL162 L32 LIG100 X10 TL16/ -2 L76 LIG100 X10 FL163 LIG13 K3 SG100 163 JL165 164 L10 LIP2 X5 AIG100 / -L48 X9 SP2 LIG13 K3 SG100 165 L48 LIG100 X15 FL166 LIG100 L57 X15 TL164/ - 166 LIP2 JL161 161 X4 13 -1 D0 2 D0 4 DL3 499 C7 C68 C65 C84 C65 C76 C65 C66 498 C3 C68 C73 C86 4/ -97 C5 C68 C69 C66 C85 C71 496 C2 C69 C81 495 C5 C69 C78 C84 C82 C89 494/ - C3 C69 C81 C86 493 C7 C69 C78 C68 C80 C82 C79 C67 492 C3 C69 C78 C68 4/ -91 C4 C70 C78 C65 C80 490 C4 C70 C78 C82 C78 489 C5 C70 C65 C76 C83 C69/ - 488 C6 C70 C73 C78 C73 C83 C72 487 C4 C71 C79 C84 C79 486 C2 C71 C69 4/ -85 C2 C71 C82 484 C6 C71 C76 C79 C66 C65 C76 483 C5 C73 C84 C69 C77 C78/ - 482 C5 C73 C84 C69 C77 C76 481 C4 C74 C85 C77 C80 480 C2 C74 C70 479 C/ -2 C74 C84 478 C3 C76 C65 C66 477 C3 C76 C76 C71 476 C3 C76 C76 C76 475 / -C3 C76 C76 C80 474 C6 C76 C79 C71 C65 C78 C68 473 C5 C76 C79 C71 C79 C8/ -2 472 C6 C76 C83 C72 C73 C70 C84 471 C4 C76 C83 C84 C82 470 C5 C77 C73 / -C78 C85 C83 469 C4 C77 C85 C76 C84 468 C2 C78 C69 467 C3 C78 C69 C71 46/ -6 C4 C78 C69 C81 C86 465 C3 C78 C79 C84 464 C4 C80 C76 C85 C83 463 C5 C/ -81 C85 C69 C82 C89 462 C3 C82 C69 C83 461 C3 C82 C69 C77 460 C4 C82 C84/ - C65 C80 459 C4 C82 C84 C82 C78 458 C6 C82 C83 C72 C73 C70 C84 457 C6 C/ -82 C83 C84 C65 C67 C75 456 C2 C82 C86 455 C2 C83 C71 454 C2 C83 C80 453/ - C2 C83 C76 452 C5 C83 C84 C73 C78 C68 451 C5 C83 C84 C65 C67 C75 450 C/ -4 C83 C65 C86 C69 449 C8 C83 C87 C73 C84 C67 C72 C79 C78 448 C5 C83 C84/ - C79 C82 C69 447 C4 C84 C82 C85 C69 -G210L10 G211L11 G212L12 -Z -JL2 -$ 1 LP4 SP3 LIP3 SG152 L4000 SG154 LP4006 SP4005 LIP4005 SG102 LIG16 K4/ -057 SG107 LIG17 K4057 SG106 LL499 SP4059 LIG41 K4057 SG105 L0 LIG105 X1/ -0 FL3 LIG106 SG105 3 L0 SG155 LIG107 SP4059 LIG11 K4057 LIG105 SP4059 L/ -IG12 K4057 4 L2 SG110 L0 SG111 L0 SG153 L0 SG156 L500 SG157 LIG230 K405/ -7 L76 LIG171 X10 TL4 LIG106 SP4059 LIG12 K4057 LL498 SP4059 LIG155 SP40/ -60 LIG76 K4057 X22 X4 2 -499 C7 C73 C78 C84 C67 C79 C68 C69 498 C21 C10 C80 C82 C79 C71 C82 C65 / -C77 C32 C76 C69 C78 C71 C84 C72 C32 C61 C32 C37 C78 C10 -G1L1 -Z -JL2 -$ 1 3 LIG210 K2 SG171 JL5 7 LIG106 SP4 LIG12 K2 LL499 SP4 LIG102 SP5 LI/ -G76 K2 LIG105 SP4 LIG12 K2 JIL4 8 X4 9 LIG106 SP4 LIG12 K2 LL498 SP4 LI/ -G111 SP5 LIG110 SP6 LIG113 SP7 LIG114 SP8 LIG76 K2 LIG105 SP4 LIG12 K2 / -JIL4 10 LIG211 K4 SP4 L3 SP5 LIG244 K2 JIL4 11 LIG211 K4 SP4 L7 SP5 LIG/ -244 K2 JIL4 12 LIG212 K4 SP4 L5 SP5 LIG244 K2 JIL4 13 LIG211 K4 SP4 L0 / -SP5 LIG244 K2 JIL4 14 LIG211 K4 SP4 LIG250 K2 JIL4 15 L-1 SP4 L0 SP5 LI/ -G244 K2 JIL4 16 L0 SP4 L0 SP5 LIG244 K2 JIL4 17 LIG211 K4 SP4 L2 SP5 LI/ -G244 K2 JIL4 18 LIG211 K4 SP4 L6 SP5 LIG244 K2 JIL4 19 LIG212 K4 SP4 L4/ - SP5 LIG244 K2 JIL4 20 LIG211 K4 SP4 L2 SP5 LIG246 K2 JIL4 21 LIG211 K4/ - SP4 L6 SP5 LIG246 K2 JIL4 22 LIG212 K4 SP4 L4 SP5 LIG246 K2 JIL4 23 LI/ -G243 K2 L83 SP4 LIG113 SP5 LIG114 SP6 LIG260 K2 LIG110 L2 X9 SG110 L0 S/ -G111 JIL4 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 LIG243 K2 L76/ - SP4 LIG113 SP5 LIG114 SP6 LIG260 K2 L88 SP4 LIG171 SP7 LIG262 K5 SP5 L/ -0 SP6 LIG260 K2 L2 SG111 LIG110 L1 X9 SG110 JIL4 40 41 42 LIG242 K2 L88/ - SP4 LIG171 SP7 LIG262 K5 SP5 L0 SP6 LIG260 K2 JIL4 43 LIG243 K2 L65 SP/ -4 LIG113 SP5 LIG114 SP6 LIG260 K2 L2 SG111 LIG110 L1 X9 SG110 JIL4 44 L/ -IG240 K2 L74 SP4 LIG212 K5 SP5 L4 SP6 LIG260 K2 JIL4 45 46 LIG242 K2 L8/ -6 LIG171 X10 FL48 L84 SP4 JL47 48 L70 SP4 47 LIG212 K5 SP5 L4 SP6 LIG26/ -0 K2 LIG110 L1 X9 SG110 L0 SG111 JIL4 49 LIG241 K2 L74 SP4 LIG113 SP5 L/ -IG114 SP6 LIG260 K2 LIG110 L1 X9 SG110 L0 SG111 JIL4 50 LIG240 K2 LIG21/ -2 K4 SP4 LIG261 K2 JIL4 51 LIG240 K2 L1 AIG110 SG110 JIL4 52 LIG240 K2 / -LIG211 K2 SG110 JIL4 53 LIG240 K2 JIL4 54 LIG211 K2 SP2 LIG212 K3 SP3 L/ -10 SP6 LIG263 K4 L36 SP6 LIG263 K4 L1 SP4 LIP2 SP5 JL55 56 LIG211 K6 LI/ -P4 A1 SP4 55 LIP4 LIP5 X15 TL56 L32 SP6 LIG263 K4 LIP3 SP6 LIG261 K4 JI/ -L4 57 LIG211 K2 SG110 JIL4 58 LIG211 K2 JIL4 59 60 LIG211 K2 SP2 LIG242/ - K3 L75 SP5 LIP2 SP6 L0 SP7 LIG260 K3 L10 LIG171 X10 FL61 L1 AIP2 SG110/ - L2 SG111 JL62 61 LIP2 SG110 L0 SG111 62 JIL4 63 LIG242 K2 LIG110 L1 X9/ - SG110 64 L88 SP4 L97 SP7 LIG262 K5 SP5 L0 SP6 LIG260 K2 L0 SG111 JIL4 / -65 LIG242 K2 L74 SP4 LIG212 K5 SP5 L4 SP6 LIG260 K2 LIG110 L1 X9 SG110 / -L0 SG111 JIL4 66 LIG240 K2 LIG211 K2 A1 SG110 L2 SG111 JIL4 67 L88 SP4 / -LIG171 SP7 LIG262 K5 SP5 L0 SP6 LIG260 K2 JIL4 68 LIG211 K2 SP2 LIG212 / -K3 SP3 LIG242 K4 L88 SP6 LIG171 SP9 LIG262 K7 SP7 L0 SP8 LIG260 K4 L68 / -SP6 LIP2 SP7 L0 SP8 LIG260 K4 L68 SP6 LIP3 SP7 L4 SP8 LIG260 K4 LIG110 / -L1 X9 SG110 L0 SG111 L1 SP4 LIP2 SP5 JL69 70 L68 SP8 LIG211 K9 SP9 L0 S/ -P10 LIG260 K6 L68 SP8 LIG212 K9 SP9 L4 SP10 LIG260 K6 LIP4 A1 SP4 69 LI/ -P4 LIP5 X15 TL70 JIL4 71 L10 SP4 LIG263 K2 L0 SP2 LIG153 L2 X9 SP3 JL72/ - 73 LIP2 AIG152 X1 SP6 L1 AIP2 AIG152 X1 SP7 LIG265 K4 LIP2 A2 SP2 72 L/ -IP2 LIP3 X15 TL73 L10 SP4 LIG263 K2 L1 SP2 LIG211 K3 SP3 JL74 75 L71 SP/ -6 LIG263 K4 LIG211 K6 SP6 LIG264 K4 L76 SP6 LIG263 K4 LIG212 K6 SP6 LIG/ -264 K4 L32 SP6 LIG263 K4 LIP2 A1 SP2 74 LIP2 LIP3 X15 TL75 L10 SP4 LIG2/ -63 K2 L90 SP4 LIG263 K2 L10 SP4 LIG263 K2 X4 76 77 LIG171 SP4 LIG212 K5/ - SP5 LIG251 K2 JIL4 78 LIG171 SP4 LIG211 K5 SP5 LIG251 K2 JIL4 JL6 5 LI/ -G171 X23 D59 DL7 D104 DL8 D109 DL9 D40 DL10 D41 DL11 D44 DL12 D42 DL13 / -D43 DL14 D4 DL15 D5 DL16 D45 DL17 D46 DL18 D47 DL19 D80 DL20 D81 DL21 D/ -82 DL22 D83 DL23 D11 DL24 D12 DL25 D13 DL26 D15 DL27 D20 DL28 D21 DL29 / -D22 DL30 D23 DL31 D24 DL32 D25 DL33 D31 DL34 D32 DL35 D33 DL36 D34 DL37/ - D36 DL38 D35 DL39 D8 DL40 D17 DL41 D30 DL42 D14 DL43 D85 DL44 D86 DL45/ - D87 DL46 D52 DL49 D90 DL50 D16 DL51 D91 DL52 D92 DL53 D94 DL54 D95 DL5/ -7 D103 DL58 D51 DL59 D10 DL60 D96 DL63 D97 DL64 D98 DL65 D93 DL66 D68 D/ -L67 D70 DL68 D76 DL71 D100 DL76 D101 DL77 D102 DL78 6 X4 2 -4 DL3 499 C23 C10 C85 C78 C75 C78 C79 C87 C78 C32 C75 C69 C89 C32 C87 C/ -79 C82 C68 C58 C32 C32 C37 C83 C10 498 C36 C10 C83 C84 C65 C84 C69 C61 / -C37 C78 C44 C32 C83 C83 C80 C61 C37 C78 C44 C32 C65 C68 C46 C65 C61 C37/ - C78 C44 C32 C65 C68 C46 C75 C61 C37 C78 C10 -G230L1 -Z -JL10 -$ 1 JL11 13 L83 SP4 LIG110 L2 X9 SP5 L2 SP6 LIG260 K2 14 L76 SP4 LIG113/ - SP5 LIG114 SP6 LIG260 K2 15 L83 SP4 LIG110 L1 X9 SP5 L2 SP6 LIG260 K2 / -L0 SG111 16 JL12 11 LIG111 X23 D4 DL12 D3 DL13 D1 DL14 D2 DL15 D0 DL16 / -12 X4 -$ 2 JL19 21 L83 SP4 LIG110 L2 X9 SP5 L2 SP6 LIG260 K2 JIL18 22 L83 SP4 / -LIG110 L1 X9 SP5 L2 SP6 LIG260 K2 23 LIG110 L1 X9 SG113 L3 SG114 17 L1 / -SG111 24 JL20 19 LIG111 X23 D4 DL20 D3 DL21 D2 DL22 D0 DL23 D1 DL24 20 / -X4 -$ 3 JL27 29 L76 SP4 LIG110 L1 X9 SP5 L3 SP6 LIG260 K2 JIL26 30 L83 SP4 / -LIG110 L2 X9 SP5 L2 SP6 LIG260 K2 31 L76 SP4 LIG113 SP5 LIG114 SP6 LIG2/ -60 K2 25 L2 SG111 32 JL28 27 LIG111 X23 D4 DL28 D0 DL29 D3 DL30 D1 DL31/ - D2 DL32 28 X4 -$ 4 JL35 37 L76 SP4 LIG110 L2 X9 SP5 L3 SP6 LIG260 K2 JIL34 38 L83 SP4 / -LIG110 L1 X9 SP5 L2 SP6 LIG260 K2 39 L76 SP4 LIG110 L2 X9 SP5 L3 SP6 LI/ -G260 K2 LIG110 L1 X9 SG113 L3 SG114 33 L3 SG111 40 JL36 35 LIG111 X23 D/ -4 DL36 D1 DL37 D2 DL38 D0 DL39 D3 DL40 36 X4 -$ 5 JL43 45 L1 SG111 JIL42 46 47 LIG242 K4 48 L3 SG111 41 LIP2 SG113 LI/ -P3 SG114 L1 AIG110 SG110 JL44 43 LIG111 X23 D4 DL44 D0 DL45 D3 DL46 D1 / -DL47 D2 DL48 44 X4 -$ 6 LIG242 K4 L83 SP6 LIP2 SP7 LIP3 SP8 LIG260 K4 LIG110 L1 X9 SG110 L0/ - SG111 X4 -$ 7 LIG252 K3 SP3 L100 SP6 LIP3 SP7 LIG251 K4 L105 SP6 LIP2 SP7 LIG251 / -K4 L1 SP4 LIP2 SP5 JL49 50 L105 SP8 LIG211 K9 SP9 LIG251 K6 LIP4 A1 SP4/ - 49 LIP4 LIP5 X15 TL50 LIP3 SP6 L4 SP7 LIG244 K4 X4 X4 -$ 8 LIG153 SP4 LIP2 SP5 LIP4 AIG152 SP6 LIP5 SIP6 LIP3 SP5 L1 AIP4 AIG1/ -52 SP6 LIP5 SIP6 L2 AIG153 SG153 LIG153 LIG154 X14 FL51 LIG106 SP7 LIG1/ -2 K5 LL499 SP7 LIG60 K5 LIG105 SP7 LIG12 K5 L0 SG153 51 X4 -$ 9 LIG157 L1 X9 SG157 LIG157 JL52 52 X4 10 -18 DL17 26 DL25 34 DL33 42 DL41 499 C20 C10 C84 C79 C79 C32 C77 C65 C78/ - C89 C32 C67 C79 C78 C83 C84 C65 C78 C84 C83 C10 -G240L1 G241L2 G242L3 G243L4 G244L5 G246L6 G250L7 G251L8 G252L9 -Z -JL7 -$ 1 LIP2 SP7 LIG263 K5 JL8 10 L73 SP7 LIG263 K5 11 JL9 12 L73 SP7 LIG26/ -3 K5 13 L71 SP7 LIG263 K5 JL9 14 L73 SP7 LIG263 K5 15 L80 SP7 LIG263 K5/ - JL9 16 L73 SP7 LIG263 K5 17 L76 SP7 LIG263 K5 JL9 JL9 8 LIP4 X23 D8 DL/ -9 D1 DL10 D0 DL11 D7 DL12 D6 DL13 D3 DL14 D2 DL15 D5 DL16 D4 DL17 9 LIP/ -3 SP7 LIG264 K5 L32 SP7 LIG263 K5 L1 AIG155 SG155 X4 -$ 2 LIP2 SP5 LIG264 K3 L32 SP5 LIG263 K3 X4 -$ 3 JL18 20 LIP3 SP6 LIG261 K4 X4 21 L68 SP6 LIP3 SP7 L0 SP8 LIG260 K4 / -X4 22 L68 SP6 LIP3 SP7 L4 SP8 LIG260 K4 X4 23 L67 SP6 LIP3 SP7 L0 SP8 L/ -IG260 K4 X4 JL19 18 LIP2 X23 D4 DL19 D100 DL20 D102 DL21 D101 DL22 D105/ - DL23 19 X4 -$ 4 JL25 27 L1 JL24 28 L2 JL24 29 L3 JL24 30 L4 JL24 31 L5 JL24 32 L6 J/ -L24 33 L7 JL24 34 L8 JL24 35 L9 JL24 36 L10 JL24 37 L11 JL24 38 L12 JL2/ -4 39 L13 JL24 40 L14 JL24 41 L15 JL24 42 L16 JL24 43 L17 JL24 44 L18 JL/ -24 45 L19 JL24 46 L20 JL24 47 L21 JL24 48 L22 JL24 49 L23 JL24 50 LIG10/ -6 SP5 LIG12 K3 LL499 SP5 LIP2 SP6 LIG76 K3 LIG105 SP5 LIG12 K3 L0 JL24 / -JL26 25 LIP2 X23 D23 DL50 D8 DL27 D17 DL28 D30 DL29 D97 DL30 D11 DL31 D/ -12 DL32 D13 DL33 D14 DL34 D15 DL35 D20 DL36 D21 DL37 D22 DL38 D25 DL39 / -D23 DL40 D24 DL41 D31 DL42 D32 DL43 D33 DL44 D34 DL45 D36 DL46 D35 DL47/ - D68 DL48 D70 DL49 26 24 X4 -$ 5 L10 LIP2 X10 FL51 L10 SP5 LIG14 K3 L0 SG156 X4 51 L71 LIG156 X10 FL/ -52 L47 SP5 LIG14 K3 L10 SP5 LIG14 K3 L0 SG156 52 L1 AIG156 SG156 LIP2 S/ -P5 LIG14 K3 X4 -$ 6 LIP2 L0 X12 FL53 L45 SP5 LIG263 K3 JL54 53 LIP2 X2 SP2 54 LIP2 L-9 / -X12 FL55 LIP2 L10 X6 X2 SP5 LIG264 K3 55 L48 SP5 LIP2 L10 X7 SP6 LIP5 L/ -IP6 X9 SP5 LIG263 K3 X4 7 -499 C15 C10 C85 C78 C75 C78 C79 C87 C78 C32 C79 C80 C32 C37 C78 C10 -G260L1 G261L2 G265L3 G262L4 G263L5 G264L6 -Z diff --git a/Applications/BCPL/examples/cgtest.b b/Applications/BCPL/examples/cgtest.b deleted file mode 100644 index b1942b90..00000000 --- a/Applications/BCPL/examples/cgtest.b +++ /dev/null @@ -1,310 +0,0 @@ -GET "LIBHDR" - -// THIS IS A UNIVERSAL CODE-GENERATOR TEST PROGRAM -// WRITTEN BY M. RICHARDS ORIGINALLY TO TEST THE -// CII 10070 CODE-GENERATOR. - -GLOBAL $( F:100; G:101; H:102 - TESTNO:103; FAILCOUNT:104 - V:105; TESTCOUNT:106; QUIET:107; T:108 $) - -STATIC $( A=10; B=11; C=12; W=0 $) - -MANIFEST $( K0=0; K1=1; K2=2 $) - -LET T(X, Y) = VALOF - $( TESTNO := TESTNO + 1 - TESTCOUNT := TESTCOUNT + 1 - IF X=Y & QUIET RESULTIS Y - WRITEF("%I3 %I5 ", TESTNO, Y) - TEST X=Y - THEN WRITES("OK*N") - ELSE $( WRITEF("FAILED %X8(%N) %X8(%N)*N", X, X, Y, Y) - FAILCOUNT := FAILCOUNT + 1 $) - RESULTIS Y $) - - -LET T1(A,B,C,D,E,F,G) = T(A+B+C+D+E+F, G) - -LET START(PARM) BE -$(1 LET V1 = VEC 200 - AND V2 = VEC 200 - TESTER(0, 1, 2, V1, V2) -$)1 - -AND TIMEOFDAY() = "Now" - -AND DATE() = "Today" - -AND TESTER(X, Y, Z, V1, V2) BE -$(1 WRITEF("*NCGTESTER ENTERED %S %S*N*N", - TIMEOFDAY(), DATE()) - -// FIRST INITIALIZE CERTAIN VARIABLES - - F, G, H := 100, 101, 102 - TESTNO, TESTCOUNT, FAILCOUNT := 0, 0, 0 - V, W := V1, V2 - - FOR I = 0 TO 200 DO V!I, W!I := 1000+I, 10000+I - - - QUIET := FALSE -// QUIET := GETBYTE(PARM,0)>0 & GETBYTE(PARM,1)='Q' -> TRUE, FALSE - -// TEST SIMPLE VARIABLES AND EXPRESSIONS - - T(A+B+C, 33) - T(F+G+H, 303) - T(X+Y+Z, 3) - - T(123+321-400, 44) - T(X=0, TRUE) - T(Y=0, FALSE) - T(!(@Y+X), 1) - T(!(@B+X), 11) - T(!(@G+X), 101) - - X, A, F := 5, 15, 105 - T(X, 5) - T(A, 15) - T(F, 105) - - V!1, V!2 := 1234, 5678 - T(V!1, 1234) - T(V!Z, 5678) - - T(X*A, 75) - T(1*X+2*Y+3*Z+F*4,433) - T(X*A+A*X, 150) - - T(100/2, 50) - T(A/X, 3) - T(A/-X, -3) - T((-A)/X, -3) - T((-A)/(-X), 3) - T((A+A)/A, 2) - T((A*X)/(X*A), 1) - T((A+B)*(X+Y)*123/(6*123), 26) - - T(7 REM 2, 1) - T(F REM 100, 5) - T(A REM X, 0) - - T(-F, -105) - T(F=105, TRUE) - T(F NE 105, FALSE) - T(F<105, FALSE) - T(F>=105, TRUE) - T(F>105, FALSE) - T(F<=105, TRUE) - - T(#1775<<3, #17750) - T(#1775>>3, #177) - T(#1775<>Z+1, #177) - - T(#B1100&#B1010, #B1000) - T(#B1100 \/ #B1010, #B1110) - T((#B1100 EQV #B1010) & #B11111, #B11001) - T(#B1100 NEQV #B1010, #B0110) - - T(NOT TRUE, FALSE) - T(NOT FALSE, TRUE) - T(NOT(1234 EQV -4321), 1234 NEQV -4321) - - T(-F, -105) - - T(!V, 1000) - T(V!0, 1000) - T(V!1, 1234) - T(V!(!V-998), 5678) - T(!W, 10000) - T(W!0, 10000) - T(0!W, 10000) - T(1!W, 10001) - T(W!1, 10001) - T(!(W+200), 10200) - - A := TRUE - B := FALSE - - IF A DO X := 16 - T(X, 16) - X := 16 - - IF B DO X := 15 - T(X, 16) - X := 15 - - $( LET W = VEC 20 - GOTO L1 - L2: WRITES("GOTO ERROR*N") - FAILCOUNT := FAILCOUNT+1 $) - -L1: A := VALOF RESULTIS 11 - T(A, 11) - - TESTNO := 100 // TEST SIMULATED STACK ROUTINES - - $( LET V1 = VEC 1 - V1!0, V1!1 := -1, -2 - $( LET V2 = VEC 10 - FOR I = 0 TO 10 DO V2!I := -I - T(V2!5, -5) $) - T(V1!1, -2) $) - - X := X + T(X,15, T(F, 105), T(A, 11)) - 15 - T(X, 15) - - X := X+1 - T(X, 16) - X := X-1 - T(X, 15) - X := X+7 - T(X,22) - X := X-22 - T(X, 0) - X := X+15 - T(X, 15) - X := X + F - T(X, 120) - X := 1 - - TESTNO := 200 // TEST SWITCHON COMMANDS - -$(SW LET S1, S1F = 0, 0 - AND S2, S2F = 0, 0 - - FOR I = -200 TO 200 DO - $( SWITCHON I INTO - $( DEFAULT: S1 := S1+1000; ENDCASE - CASE -1000: S1F := S1F + I; ENDCASE - CASE -200: S1 := S1 + 1 - CASE -190: S1 := S1 + 1 - CASE -180: S1 := S1 + 1 - CASE -5: S1 := S1 + 1 - CASE 0: S1 := S1 + 1 - CASE -145: S1 := S1 + 1 - CASE 7: S1 := S1 + 1 - CASE 8: S1 := S1 + 1 - CASE 200: S1 := S1 + 1 - CASE 190: S1 := S1 + 1 - CASE 100: S1 := S1 + 1 - CASE 90: S1 := S1 + 1 - CASE 199: S1 := S1 + 1 - CASE 95: S1 := S1 + 1 - CASE 76: S1 := S1 + 1 - CASE 88: S1 := S1 + 1 - CASE 99: S1 := S1 + 1 - CASE -98: S1 := S1 + 1 - CASE 11: S1 := S1 + 1 - CASE 12: S1 := S1 + 1 - CASE 13: S1 := S1 + 1 - CASE 41: S1 := S1 + 1 - CASE 91: S1 := S1 + 1 - CASE 92: S1 := S1 + 1 - CASE 71: S1 := S1 + 1 - CASE 73: S1 := S1 + 1 - CASE 74: S1 := S1 + 1 - CASE 81: S1 := S1 + 1 - CASE 82: S1 := S1 + 1 - CASE 61: S1 := S1 + 1 - CASE -171: S1 := S1 + 1 - CASE -162: S1 := S1 + 1 $) - - SWITCHON I+10000 INTO - $( DEFAULT: S2 := S2+1000; ENDCASE - CASE 10020: S2 := S2 + 1 - CASE 10021: S2 := S2 + 1 - CASE 10022: S2 := S2 + 1 - CASE 10023: S2 := S2 + 1 - CASE 10024: S2 := S2 + 1 - CASE 10025: S2 := S2 + 1 - CASE 10026: S2 := S2 + 1 - CASE 10027: S2 := S2 + 1 - CASE 10028: S2 := S2 + 1 - CASE 10029: S2 := S2 + 1 - CASE 10010: S2 := S2 + 1 - CASE 10011: S2 := S2 + 1 - CASE 10012: S2 := S2 + 1 - CASE 10013: S2 := S2 + 1 - CASE 10014: S2 := S2 + 1 - CASE 10015: S2 := S2 + 1 $) - - $) - T(S1F, 0) - T(S2F, 0) - T(S1, (401-32)*1000 + 32*(32+1)/2) - T(S2, (401-16)*1000 + 16*(16+1)/2) -$)SW - - - TESTNO := 250 // TEST FUNCTION CALLING - - T1(1,2,3,4,5,6, 21) - T1(T(1,1), T(2,2), T(3,3), T(4,4), T(5,5), T(6,6), - T(21,21)) - T1(VALOF RESULTIS 1, - VALOF RESULTIS 2, - VALOF RESULTIS 3, - VALOF RESULTIS 4, - VALOF RESULTIS 5, - VALOF RESULTIS 6, - 21) - T1(VALOF RESULTIS 1, - T(2,2), - VALOF RESULTIS 3, - T(4,4), - VALOF RESULTIS 5, - T(6,6), - 21) - T1( 1, T(2,2), VALOF RESULTIS 3, - 4, T(5,5), VALOF RESULTIS 6, - 21) - T1(!V,V!0,V!200,!W,W!0,W!200, 2*1000+1200+2*10000+10200) - (T1+(X+X)/X-2)(1,1,1,1,1,1,6) - (!@T1)(1,2,3,4,5,6,21) - - TESTNO := 300 // TEST EXPRESSION OPERATORS - - T((2+3)+F+6,116) - T(F+2+3+6,116) - T(6+3+2+F, 116) - T(F-104, 1) - T((X+2)=(X+2)->99,98, 99) - T(F21,22, 21) - T(F>F+1->31,32, 32) - T(F<=105->41,42, 41) - T(F>=105->51,52, 51) - - TESTNO := 400 // TEST REGISTER ALLOCATION ETC. - - X := 0 - Y := 1 - Z := 2 - T(X, 0) - T(Y, 1) - T(Z, 2) - F,G,H := 101,102,103 - A,B,C := 11,12,13 - T(X+1,1) - T(F+1, 102) - T(A+1, 12) - T(!(@A*2/2+F-101),11) - A := @F - T(!A, 101) - B := @G - A := @B - T(!!A, 102) - W!0 := @W!1 - W!1 := @H - T(Z*Y+(W!0)!0!0-2, 103) - T(Z*Y+W!1!0-2, 103) - T(T(123,123),T(123,123)) - - WRITEF("*N%N TESTS COMPLETED, %N FAILURE(S)*N", - TESTCOUNT, FAILCOUNT) -$)1 - - diff --git a/Applications/BCPL/examples/cgtest.i b/Applications/BCPL/examples/cgtest.i deleted file mode 100644 index 5dd9149f..00000000 --- a/Applications/BCPL/examples/cgtest.i +++ /dev/null @@ -1,196 +0,0 @@ -/proj/hci/src/langs/1/bcpl/local/boot/icint $0; exit $? -11 LIP2 X24 X4 G11L11 /SELECTINPUT -12 LIP2 X25 X4 G12L12 /SELECTOUTPUT -13 X26 X4 G13L13 /RDCH -14 LIP2 X27 X4 G14L14 /WRCH -42 LIP2 X28 X4 G42L42 /FINDINPUT -41 LIP2 X29 X4 G41L41 /FINDOUTPUT -30 LIP2 X30 X4 G30L30 /STOP -31 X31 X4 G31L31 /LEVEL -32 LIP3 LIP2 X32 G32L32 /LONGJUMP -46 X33 X4 G46L46 /ENDREAD -47 X34 X4 G47L47 /ENDWRITE -40 LIP3 LIP2 X35 G40L40 /APTOVEC -85 LIP3 LIP2 X36 X4 G85L85 / GETBYTE -86 LIP3 LIP2 X37 X4 G86L86 / PUTBYTE -Z - - - -Z -JL12 -$ 1 L1 SP3 LIP2 SP6 L0 SP7 LIG85 K4 SP4 JL13 14 LIP2 SP9 LIP3 SP10 LIG8/ -5 K7 SP7 LIG14 K5 LIP3 A1 SP3 13 LIP3 LIP4 X15 TL14 X4 -$ 2 L0 SP4 LIP2 SP7 L0 SP8 LIG85 K5 SP5 JL15 16 LIP2 SP8 LIP4 SP9 LIG85/ - K6 SP6 LIP4 AIP3 SP7 LIP6 SIP7 LIP4 A1 SP4 15 LIP4 LIP5 X15 TL16 X4 -$ 3 L0 AIP2 X1 L255 X18 SP4 LIP4 L2 X6 SP5 L0 SP6 LIP4 SP7 JL18 19 LIP3/ - SP10 LIP6 SP11 LIP6 AIP2 X1 SP12 LIG86 K8 LIP6 A1 SP6 18 LIP6 LIP7 X15/ - TL19 L1 LIP4 X18 L0 X10 FL20 LIP3 SP8 L1 AIP4 SP9 L0 SP10 LIG86 K6 20 / -LIP5 JL17 17 X4 -$ 4 LP7 SP4 L0 SP5 LIP2 SP6 LIP2 L0 X12 FL21 LIP3 L1 X9 SP3 LIP2 X2 SP6/ - 21 22 LIP6 L10 X7 SP28 LIP5 AIP4 SP29 LIP28 SIP29 LIP6 L10 X6 SP6 L1 A/ -IP5 SP5 L0 LIP6 X10 FL22 L1 AIP5 SP28 LIP3 SP29 JL23 24 L32 SP32 LIG14 / -K30 LIP28 A1 SP28 23 LIP28 LIP29 X15 TL24 LIP2 L0 X12 FL25 L45 SP30 LIG/ -14 K28 25 LIP5 L1 X9 SP28 JL26 27 LIP28 AIP4 X1 A48 SP31 LIG14 K29 LIP2/ -8 AIL499 SP28 26 LIP28 L0 X13 TL27 X4 -$ 5 LIP2 SP5 L0 SP6 LIG68 K3 X4 -$ 6 L10 SP4 LIG14 K2 X4 -$ 7 L0 SP2 L0 SP3 29 LIG13 K4 SG71 JL31 33 34 35 JIL30 36 LIL498 SP3 37/ - LIG13 K4 SG71 JL32 31 LIG71 X23 D5 DL32 D32 DL33 D9 DL34 D10 DL35 D45 / -DL36 D43 DL37 32 JL39 38 LIP2 L10 X5 AIG71 L48 X9 SP2 LIG13 K4 SG71 39 / -L48 LIG71 X15 FL40 LIG71 L57 X15 TL38 40 LIP3 FL41 LIP2 X2 SP2 41 LIP2 / -JL28 28 X4 -$ 8 LIP3 L1 X14 FL42 LIP2 L3 X17 SP6 LIP3 L1 X9 SP7 LIG77 K4 42 L7 LIP2/ - X18 A48 SP6 LIG14 K4 X4 -$ 9 LIP3 L1 X14 FL43 LIP2 L4 X17 SP6 LIP3 L1 X9 SP7 LIG75 K4 43 L15 LIP/ -2 X18 AL44 X1 SP6 LIG14 K4 X4 -$ 10 LP3 SP14 L1 SP15 LIP2 SP18 L0 SP19 LIG85 K16 SP16 JL45 46 LIP2 SP1/ -9 LIP15 SP20 LIG85 K17 SP17 L37 LIP17 X10 FL47 L0 SP18 L0 AIP14 X1 SP19/ - L0 SP20 LIP2 SP23 L1 AIP15 SP24 LIG85 K21 SP21 L1 AIP15 SP15 JL53 55 L/ -IP21 SP24 LIG14 K22 JL54 56 LIG60 SP18 JIL50 57 LIG14 SP18 JIL50 58 LIG/ -77 SP18 JIL52 59 LIG75 SP18 JIL52 60 LIG68 SP18 JIL52 61 LIG68 SP18 JIL/ -50 51 L1 AIP15 SP15 LIP2 SP24 LIP15 SP25 LIG85 K22 SP20 L48 LIP20 X15 F/ -L63 LIP20 L57 X15 FL63 LIP20 L48 X9 SP22 JL62 63 LIP20 L65 X9 A10 SP22 / -62 LIP22 SP20 49 LIP19 SP24 LIP20 SP25 LIP18 K22 L1 AIP14 SP14 JL54 53 / -LIP21 X23 D6 DL55 D83 DL56 D67 DL57 D79 DL58 D88 DL59 D73 DL60 D78 DL61/ - 54 JL48 47 LIP17 SP20 LIG14 K18 48 LIP15 A1 SP15 45 LIP15 LIP16 X15 TL/ -46 X4 -$ 11 LL497 SP4 LIG60 K2 X4 12 -499 D-1 30 DL29 498 D-1 44 D48 D49 D50 D51 D52 D53 D54 D55 D56 D57 D65 / -D66 D67 D68 D69 D70 50 DL49 52 DL51 497 C26 C10 C77 C65 C80 C83 C84 C79/ - C82 C69 C32 C78 C79 C84 C32 C73 C77 C80 C76 C69 C77 C69 C78 C84 C69 C6/ -8 C10 -G60L1 G67L2 G66L3 G68L4 G62L5 G63L6 G70L7 G77L8 G75L9 G76L10 G78L11 -Z -JL6 -$ 5 L1 AIG103 SG103 L1 AIG106 SG106 LIP3 LIP2 X10 FL8 LIG107 FL8 LIP3 J/ -L7 8 LL499 SP6 LIG103 SP7 LIP3 SP8 LIG76 K4 LIP3 LIP2 X10 FL9 LL498 SP6/ - LIG60 K4 JL10 9 LL497 SP6 LIP2 SP7 LIP2 SP8 LIP3 SP9 LIP3 SP10 LIG76 K/ -4 L1 AIG104 SG104 10 LIP3 JL7 7 X4 6 JL13 -$ 11 LIP3 AIP2 AIP4 AIP5 AIP6 AIP7 SP11 LIP8 SP12 LIG108 K9 X4 13 JL19 -$ 14 LP5 SP3 LP206 SP4 L0 SP409 L1 SP410 L2 SP411 LIP3 SP412 LIP4 SP413/ - LIL18 K407 X4 -$ 15 LL496 X4 -$ 16 LL495 X4 -$ 17 LL494 SP9 LIG27 K10 SP10 LIG29 K11 SP11 LIG76 K7 L100 SG100 L101 S/ -G101 L102 SG102 L0 SG103 L0 SG106 L0 SG104 LIP5 SG105 LIP6 SL4 L0 SP7 J/ -L22 23 LIP7 A1000 SP8 LIP7 AIG105 SP9 LIP8 SIP9 LIP7 A10000 SP8 LIP7 AI/ -L4 SP9 LIP8 SIP9 LIP7 A1 SP7 22 LIP7 L200 X15 TL23 L0 SG107 LIL2 AIL1 A/ -IL3 SP9 L33 SP10 LIG108 K7 LIG101 AIG100 AIG102 SP9 L303 SP10 LIG108 K7/ - LIP3 AIP2 AIP4 SP9 L3 SP10 LIG108 K7 L321 A123 L400 X9 SP9 L44 SP10 LI/ -G108 K7 L0 LIP2 X10 SP9 L-1 SP10 LIG108 K7 L0 LIP3 X10 SP9 L0 SP10 LIG1/ -08 K7 LP3 AIP2 X1 SP9 L1 SP10 LIG108 K7 LL2 AIP2 X1 SP9 L11 SP10 LIG108/ - K7 LG101 AIP2 X1 SP9 L101 SP10 LIG108 K7 L5 SP2 L15 SL1 L105 SG100 LIP/ -2 SP9 L5 SP10 LIG108 K7 LIL1 SP9 L15 SP10 LIG108 K7 LIG100 SP9 L105 SP1/ -0 LIG108 K7 L1234 SP7 L1 AIG105 SP8 LIP7 SIP8 L5678 SP7 L2 AIG105 SP8 L/ -IP7 SIP8 L1 AIG105 X1 SP9 L1234 SP10 LIG108 K7 LIP4 AIG105 X1 SP9 L5678/ - SP10 LIG108 K7 LIL1 LIP2 X5 SP9 L75 SP10 LIG108 K7 LIP2 L1 X5 SP9 LIP3/ - L2 X5 SP10 LIP9 AIP10 SP9 LIP4 L3 X5 SP10 LIP9 AIP10 SP9 L4 LIG100 X5 / -SP10 LIP9 AIP10 SP9 L433 SP10 LIG108 K7 LIL1 LIP2 X5 SP9 LIP2 LIL1 X5 S/ -P10 LIP9 AIP10 SP9 L150 SP10 LIG108 K7 L100 L2 X6 SP9 L50 SP10 LIG108 K/ -7 LIL1 LIP2 X6 SP9 L3 SP10 LIG108 K7 LIL1 SP9 LIP2 X2 SP10 LIP9 LIP10 X/ -6 SP9 L-3 SP10 LIG108 K7 LIL1 X2 LIP2 X6 SP9 L-3 SP10 LIG108 K7 LIL1 X2/ - SP9 LIP2 X2 SP10 LIP9 LIP10 X6 SP9 L3 SP10 LIG108 K7 LIL1 AIL1 LIL1 X6/ - SP9 L2 SP10 LIG108 K7 LIP2 LIL1 X5 SP9 LIL1 LIP2 X5 SP10 LIP9 LIP10 X6/ - SP9 L1 SP10 LIG108 K7 LIL2 AIL1 SP9 LIP3 AIP2 SP10 LIP9 LIP10 X5 L123 / -X5 SP9 L123 L6 X5 SP10 LIP9 LIP10 X6 SP9 L26 SP10 LIG108 K7 L7 L2 X7 SP/ -9 L1 SP10 LIG108 K7 LIG100 L100 X7 SP9 L5 SP10 LIG108 K7 LIL1 LIP2 X7 S/ -P9 L0 SP10 LIG108 K7 LIG100 X2 SP9 L-105 SP10 LIG108 K7 L105 LIG100 X10/ - SP9 L-1 SP10 LIG108 K7 L105 LIG100 X11 SP9 L0 SP10 LIG108 K7 LIG100 L1/ -05 X12 SP9 L0 SP10 LIG108 K7 LIG100 L105 X13 SP9 L-1 SP10 LIG108 K7 LIG/ -100 L105 X14 SP9 L0 SP10 LIG108 K7 LIG100 L105 X15 SP9 L-1 SP10 LIG108 / -K7 L1021 L3 X16 SP9 L8168 SP10 LIG108 K7 L1021 L3 X17 SP9 L127 SP10 LIG/ -108 K7 L1021 SP9 L1 AIP4 SP10 LIP9 LIP10 X16 SP9 L8168 SP10 LIG108 K7 L/ -1021 SP9 L1 AIP4 SP10 LIP9 LIP10 X17 SP9 L127 SP10 LIG108 K7 L10 L12 X1/ -8 SP9 L8 SP10 LIG108 K7 L10 L12 X19 SP9 L14 SP10 LIG108 K7 L10 L12 X21 / -L31 X18 SP9 L25 SP10 LIG108 K7 L10 L12 X20 SP9 L6 SP10 LIG108 K7 L-1 X3/ - SP9 L0 SP10 LIG108 K7 L0 X3 SP9 L-1 SP10 LIG108 K7 L-4321 L1234 X21 X3/ - SP9 L-4321 L1234 X20 SP10 LIG108 K7 LIG100 X2 SP9 L-105 SP10 LIG108 K7/ - LIG105 X1 SP9 L1000 SP10 LIG108 K7 L0 AIG105 X1 SP9 L1000 SP10 LIG108 / -K7 L1 AIG105 X1 SP9 L1234 SP10 LIG108 K7 LIG105 X1 L998 X9 AIG105 X1 SP/ -9 L5678 SP10 LIG108 K7 LIL4 X1 SP9 L10000 SP10 LIG108 K7 L0 AIL4 X1 SP9/ - L10000 SP10 LIG108 K7 LIL4 A0 X1 SP9 L10000 SP10 LIG108 K7 LIL4 A1 X1 / -SP9 L10001 SP10 LIG108 K7 L1 AIL4 X1 SP9 L10001 SP10 LIG108 K7 L200 AIL/ -4 X1 SP9 L10200 SP10 LIG108 K7 L-1 SL1 L0 SL2 LIL1 FL24 L16 SP2 24 LIP2/ - SP9 L16 SP10 LIG108 K7 L16 SP2 LIL2 FL25 L15 SP2 25 LIP2 SP9 L16 SP10 / -LIG108 K7 L15 SP2 LP8 SP7 JIL21 26 LL493 SP31 LIG60 K29 L1 AIG104 SG104/ - 20 L11 JL28 28 SL1 LIL1 SP9 L11 SP10 LIG108 K7 L100 SG103 LP8 SP7 L-1 / -SP10 L0 AIP7 SP11 LIP10 SIP11 L-2 SP10 L1 AIP7 SP11 LIP10 SIP11 LP11 SP/ -10 L0 SP22 JL29 30 LIP22 X2 SP23 LIP22 AIP10 SP24 LIP23 SIP24 LIP22 A1 / -SP22 29 LIP22 L10 X15 TL30 L5 AIP10 X1 SP24 L-5 SP25 LIG108 K22 L1 AIP7/ - X1 SP12 L-2 SP13 LIG108 K10 LIP2 SP9 L15 SP10 LIG100 SP13 L105 SP14 LI/ -G108 K11 SP11 LIL1 SP14 L11 SP15 LIG108 K12 SP12 LIG108 K7 AIP2 L15 X9 / -SP2 LIP2 SP9 L15 SP10 LIG108 K7 L1 AIP2 SP2 LIP2 SP9 L16 SP10 LIG108 K7/ - LIP2 L1 X9 SP2 LIP2 SP9 L15 SP10 LIG108 K7 L7 AIP2 SP2 LIP2 SP9 L22 SP/ -10 LIG108 K7 LIP2 L22 X9 SP2 LIP2 SP9 L0 SP10 LIG108 K7 L15 AIP2 SP2 LI/ -P2 SP9 L15 SP10 LIG108 K7 LIG100 AIP2 SP2 LIP2 SP9 L120 SP10 LIG108 K7 / -L1 SP2 L200 SG103 L0 SP7 L0 SP8 L0 SP9 L0 SP10 L-200 SP11 JL31 32 JL33 / -35 L1000 AIP7 SP7 JL34 36 LIP11 AIP8 SP8 JL34 37 L1 AIP7 SP7 38 L1 AIP7/ - SP7 39 L1 AIP7 SP7 40 L1 AIP7 SP7 41 L1 AIP7 SP7 42 L1 AIP7 SP7 43 L1 / -AIP7 SP7 44 L1 AIP7 SP7 45 L1 AIP7 SP7 46 L1 AIP7 SP7 47 L1 AIP7 SP7 48/ - L1 AIP7 SP7 49 L1 AIP7 SP7 50 L1 AIP7 SP7 51 L1 AIP7 SP7 52 L1 AIP7 SP/ -7 53 L1 AIP7 SP7 54 L1 AIP7 SP7 55 L1 AIP7 SP7 56 L1 AIP7 SP7 57 L1 AIP/ -7 SP7 58 L1 AIP7 SP7 59 L1 AIP7 SP7 60 L1 AIP7 SP7 61 L1 AIP7 SP7 62 L1/ - AIP7 SP7 63 L1 AIP7 SP7 64 L1 AIP7 SP7 65 L1 AIP7 SP7 66 L1 AIP7 SP7 6/ -7 L1 AIP7 SP7 68 L1 AIP7 SP7 JL34 33 LIP11 X23 D33 DL35 D-1000 DL36 D-2/ -00 DL37 D-190 DL38 D-180 DL39 D-5 DL40 D0 DL41 D-145 DL42 D7 DL43 D8 DL/ -44 D200 DL45 D190 DL46 D100 DL47 D90 DL48 D199 DL49 D95 DL50 D76 DL51 D/ -88 DL52 D99 DL53 D-98 DL54 D11 DL55 D12 DL56 D13 DL57 D41 DL58 D91 DL59/ - D92 DL60 D71 DL61 D73 DL62 D74 DL63 D81 DL64 D82 DL65 D61 DL66 D-171 D/ -L67 D-162 DL68 34 JL69 71 L1000 AIP9 SP9 JL70 72 L1 AIP9 SP9 73 L1 AIP9/ - SP9 74 L1 AIP9 SP9 75 L1 AIP9 SP9 76 L1 AIP9 SP9 77 L1 AIP9 SP9 78 L1 / -AIP9 SP9 79 L1 AIP9 SP9 80 L1 AIP9 SP9 81 L1 AIP9 SP9 82 L1 AIP9 SP9 83/ - L1 AIP9 SP9 84 L1 AIP9 SP9 85 L1 AIP9 SP9 86 L1 AIP9 SP9 87 L1 AIP9 SP/ -9 JL70 69 L10000 AIP11 X23 D16 DL71 D10020 DL72 D10021 DL73 D10022 DL74/ - D10023 DL75 D10024 DL76 D10025 DL77 D10026 DL78 D10027 DL79 D10028 DL8/ -0 D10029 DL81 D10010 DL82 D10011 DL83 D10012 DL84 D10013 DL85 D10014 DL/ -86 D10015 DL87 70 LIP11 A1 SP11 31 LIP11 L200 X15 TL32 LIP8 SP13 L0 SP1/ -4 LIG108 K11 LIP10 SP13 L0 SP14 LIG108 K11 LIP7 SP13 L401 L32 X9 L1000 / -X5 SP14 L1 A32 L32 X5 L2 X6 SP15 LIP14 AIP15 SP14 LIG108 K11 LIP9 SP13 / -L401 L16 X9 L1000 X5 SP14 L1 A16 L16 X5 L2 X6 SP15 LIP14 AIP15 SP14 LIG/ -108 K11 L250 SG103 L1 SP9 L2 SP10 L3 SP11 L4 SP12 L5 SP13 L6 SP14 L21 S/ -P15 LIL12 K7 L1 SP11 L1 SP12 LIG108 K9 SP9 L2 SP12 L2 SP13 LIG108 K10 S/ -P10 L3 SP13 L3 SP14 LIG108 K11 SP11 L4 SP14 L4 SP15 LIG108 K12 SP12 L5 / -SP15 L5 SP16 LIG108 K13 SP13 L6 SP16 L6 SP17 LIG108 K14 SP14 L21 SP17 L/ -21 SP18 LIG108 K15 SP15 LIL12 K7 L1 JL88 88 SP9 L2 JL89 89 SP10 L3 JL90/ - 90 SP11 L4 JL91 91 SP12 L5 JL92 92 SP13 L6 JL93 93 SP14 L21 SP15 LIL12/ - K7 L1 JL94 94 SP9 L2 SP12 L2 SP13 LIG108 K10 SP10 L3 JL95 95 SP11 L4 S/ -P14 L4 SP15 LIG108 K12 SP12 L5 JL96 96 SP13 L6 SP16 L6 SP17 LIG108 K14 / -SP14 L21 SP15 LIL12 K7 L1 SP9 L2 SP12 L2 SP13 LIG108 K10 SP10 L3 JL97 9/ -7 SP11 L4 SP12 L5 SP15 L5 SP16 LIG108 K13 SP13 L6 JL98 98 SP14 L21 SP15/ - LIL12 K7 LIG105 X1 SP9 L0 AIG105 X1 SP10 L200 AIG105 X1 SP11 LIL4 X1 S/ -P12 L0 AIL4 X1 SP13 L200 AIL4 X1 SP14 L1000 L2 X5 A1200 SP15 L10000 L2 / -X5 SP16 LIP15 AIP16 A10200 SP15 LIL12 K7 L1 SP9 L1 SP10 L1 SP11 L1 SP12/ - L1 SP13 L1 SP14 L6 SP15 LIP2 AIP2 LIP2 X6 AIL12 L2 X9 K7 L1 SP9 L2 SP1/ -0 L3 SP11 L4 SP12 L5 SP13 L6 SP14 L21 SP15 LL12 X1 K7 L300 SG103 L3 A2 / -AIG100 A6 SP9 L116 SP10 LIG108 K7 L2 AIG100 A3 A6 SP9 L116 SP10 LIG108 / -K7 L3 A6 A2 AIG100 SP9 L116 SP10 LIG108 K7 LIG100 L104 X9 SP9 L1 SP10 L/ -IG108 K7 L2 AIP2 SP9 L2 AIP2 SP10 LIP9 LIP10 X10 FL100 L99 SP9 JL99 100/ - L98 SP9 99 L99 SP10 LIG108 K7 LIG100 SP9 L1 AIG100 SP10 LIP9 LIP10 X12/ - FL102 L21 SP9 JL101 102 L22 SP9 101 L21 SP10 LIG108 K7 LIG100 SP9 L1 A/ -IG100 SP10 LIP9 LIP10 X14 FL104 L31 SP9 JL103 104 L32 SP9 103 L32 SP10 / -LIG108 K7 LIG100 L105 X15 FL106 L41 SP9 JL105 106 L42 SP9 105 L41 SP10 / -LIG108 K7 LIG100 L105 X13 FL108 L51 SP9 JL107 108 L52 SP9 107 L51 SP10 / -LIG108 K7 L400 SG103 L0 SP2 L1 SP3 L2 SP4 LIP2 SP9 L0 SP10 LIG108 K7 LI/ -P3 SP9 L1 SP10 LIG108 K7 LIP4 SP9 L2 SP10 LIG108 K7 L101 SG100 L102 SG1/ -01 L103 SG102 L11 SL1 L12 SL2 L13 SL3 L1 AIP2 SP9 L1 SP10 LIG108 K7 L1 / -AIG100 SP9 L102 SP10 LIG108 K7 L1 AIL1 SP9 L12 SP10 LIG108 K7 LL1 L2 X5/ - L2 X6 AIG100 L101 X9 X1 SP9 L11 SP10 LIG108 K7 LG100 SL1 LIL1 X1 SP9 L/ -101 SP10 LIG108 K7 LG101 SL2 LL2 SL1 LIL1 X1 X1 SP9 L102 SP10 LIG108 K7/ - L1 AIL4 SP7 L0 AIL4 SP8 LIP7 SIP8 LG102 SP7 L1 AIL4 SP8 LIP7 SIP8 LIP3/ - LIP4 X5 SP9 L0 AIL4 X1 A0 X1 A0 X1 SP10 LIP9 AIP10 L2 X9 SP9 L103 SP10/ - LIG108 K7 LIP3 LIP4 X5 SP9 L1 AIL4 X1 A0 X1 SP10 LIP9 AIP10 L2 X9 SP9 / -L103 SP10 LIG108 K7 L123 SP11 L123 SP12 LIG108 K9 SP9 L123 SP12 L123 SP/ -13 LIG108 K10 SP10 LIG108 K7 LL492 SP9 LIG106 SP10 LIG104 SP11 LIG76 K7/ - X4 19 -1 D10 2 D11 3 D12 4 D0 499 C8 C37 C73 C51 C32 C37 C73 C53 C32 498 C3 C7/ -9 C75 C10 497 C23 C70 C65 C73 C76 C69 C68 C32 C37 C88 C56 C40 C37 C78 C/ -41 C32 C37 C88 C56 C40 C37 C78 C41 C10 12 DL11 18 DL17 496 C3 C78 C111 / -C119 495 C5 C84 C111 C100 C97 C121 21 DL20 494 C25 C10 C67 C71 C84 C69 / -C83 C84 C69 C82 C32 C69 C78 C84 C69 C82 C69 C68 C32 C37 C83 C32 C37 C83/ - C10 C10 27 DL26 493 C11 C71 C79 C84 C79 C32 C69 C82 C82 C79 C82 C10 49/ -2 C35 C10 C37 C78 C32 C84 C69 C83 C84 C83 C32 C67 C79 C77 C80 C76 C69 C/ -84 C69 C68 C44 C32 C37 C78 C32 C70 C65 C73 C76 C85 C82 C69 C40 C83 C41 / -C10 -G108L5 G1L14 G27L15 G29L16 -Z diff --git a/Applications/BCPL/examples/fact.b b/Applications/BCPL/examples/fact.b deleted file mode 100644 index fbd9aa76..00000000 --- a/Applications/BCPL/examples/fact.b +++ /dev/null @@ -1,5 +0,0 @@ - GLOBAL $( START:1; WRITEF:76 $) - LET START () BE $(1 - LET F(N) = N=0 -> 1, N*F(N-1) - FOR I = 1 TO 10 DO WRITEF("F(%N), = %N*N", I, F(I)) - FINISH $)1 diff --git a/Applications/BCPL/examples/fact.i b/Applications/BCPL/examples/fact.i deleted file mode 100644 index 3439ca0b..00000000 --- a/Applications/BCPL/examples/fact.i +++ /dev/null @@ -1,72 +0,0 @@ -/proj/hci/src/langs/1/bcpl/local/boot/icint $0; exit $? -11 LIP2 X24 X4 G11L11 /SELECTINPUT -12 LIP2 X25 X4 G12L12 /SELECTOUTPUT -13 X26 X4 G13L13 /RDCH -14 LIP2 X27 X4 G14L14 /WRCH -42 LIP2 X28 X4 G42L42 /FINDINPUT -41 LIP2 X29 X4 G41L41 /FINDOUTPUT -30 LIP2 X30 X4 G30L30 /STOP -31 X31 X4 G31L31 /LEVEL -32 LIP3 LIP2 X32 G32L32 /LONGJUMP -46 X33 X4 G46L46 /ENDREAD -47 X34 X4 G47L47 /ENDWRITE -40 LIP3 LIP2 X35 G40L40 /APTOVEC -85 LIP3 LIP2 X36 X4 G85L85 / GETBYTE -86 LIP3 LIP2 X37 X4 G86L86 / PUTBYTE -Z - - - -Z -JL12 -$ 1 L1 SP3 LIP2 SP6 L0 SP7 LIG85 K4 SP4 JL13 14 LIP2 SP9 LIP3 SP10 LIG8/ -5 K7 SP7 LIG14 K5 LIP3 A1 SP3 13 LIP3 LIP4 X15 TL14 X4 -$ 2 L0 SP4 LIP2 SP7 L0 SP8 LIG85 K5 SP5 JL15 16 LIP2 SP8 LIP4 SP9 LIG85/ - K6 SP6 LIP4 AIP3 SP7 LIP6 SIP7 LIP4 A1 SP4 15 LIP4 LIP5 X15 TL16 X4 -$ 3 L0 AIP2 X1 L255 X18 SP4 LIP4 L2 X6 SP5 L0 SP6 LIP4 SP7 JL18 19 LIP3/ - SP10 LIP6 SP11 LIP6 AIP2 X1 SP12 LIG86 K8 LIP6 A1 SP6 18 LIP6 LIP7 X15/ - TL19 L1 LIP4 X18 L0 X10 FL20 LIP3 SP8 L1 AIP4 SP9 L0 SP10 LIG86 K6 20 / -LIP5 JL17 17 X4 -$ 4 LP7 SP4 L0 SP5 LIP2 SP6 LIP2 L0 X12 FL21 LIP3 L1 X9 SP3 LIP2 X2 SP6/ - 21 22 LIP6 L10 X7 SP28 LIP5 AIP4 SP29 LIP28 SIP29 LIP6 L10 X6 SP6 L1 A/ -IP5 SP5 L0 LIP6 X10 FL22 L1 AIP5 SP28 LIP3 SP29 JL23 24 L32 SP32 LIG14 / -K30 LIP28 A1 SP28 23 LIP28 LIP29 X15 TL24 LIP2 L0 X12 FL25 L45 SP30 LIG/ -14 K28 25 LIP5 L1 X9 SP28 JL26 27 LIP28 AIP4 X1 A48 SP31 LIG14 K29 LIP2/ -8 AIL499 SP28 26 LIP28 L0 X13 TL27 X4 -$ 5 LIP2 SP5 L0 SP6 LIG68 K3 X4 -$ 6 L10 SP4 LIG14 K2 X4 -$ 7 L0 SP2 L0 SP3 29 LIG13 K4 SG71 JL31 33 34 35 JIL30 36 LIL498 SP3 37/ - LIG13 K4 SG71 JL32 31 LIG71 X23 D5 DL32 D32 DL33 D9 DL34 D10 DL35 D45 / -DL36 D43 DL37 32 JL39 38 LIP2 L10 X5 AIG71 L48 X9 SP2 LIG13 K4 SG71 39 / -L48 LIG71 X15 FL40 LIG71 L57 X15 TL38 40 LIP3 FL41 LIP2 X2 SP2 41 LIP2 / -JL28 28 X4 -$ 8 LIP3 L1 X14 FL42 LIP2 L3 X17 SP6 LIP3 L1 X9 SP7 LIG77 K4 42 L7 LIP2/ - X18 A48 SP6 LIG14 K4 X4 -$ 9 LIP3 L1 X14 FL43 LIP2 L4 X17 SP6 LIP3 L1 X9 SP7 LIG75 K4 43 L15 LIP/ -2 X18 AL44 X1 SP6 LIG14 K4 X4 -$ 10 LP3 SP14 L1 SP15 LIP2 SP18 L0 SP19 LIG85 K16 SP16 JL45 46 LIP2 SP1/ -9 LIP15 SP20 LIG85 K17 SP17 L37 LIP17 X10 FL47 L0 SP18 L0 AIP14 X1 SP19/ - L0 SP20 LIP2 SP23 L1 AIP15 SP24 LIG85 K21 SP21 L1 AIP15 SP15 JL53 55 L/ -IP21 SP24 LIG14 K22 JL54 56 LIG60 SP18 JIL50 57 LIG14 SP18 JIL50 58 LIG/ -77 SP18 JIL52 59 LIG75 SP18 JIL52 60 LIG68 SP18 JIL52 61 LIG68 SP18 JIL/ -50 51 L1 AIP15 SP15 LIP2 SP24 LIP15 SP25 LIG85 K22 SP20 L48 LIP20 X15 F/ -L63 LIP20 L57 X15 FL63 LIP20 L48 X9 SP22 JL62 63 LIP20 L65 X9 A10 SP22 / -62 LIP22 SP20 49 LIP19 SP24 LIP20 SP25 LIP18 K22 L1 AIP14 SP14 JL54 53 / -LIP21 X23 D6 DL55 D83 DL56 D67 DL57 D79 DL58 D88 DL59 D73 DL60 D78 DL61/ - 54 JL48 47 LIP17 SP20 LIG14 K18 48 LIP15 A1 SP15 45 LIP15 LIP16 X15 TL/ -46 X4 -$ 11 LL497 SP4 LIG60 K2 X4 12 -499 D-1 30 DL29 498 D-1 44 D48 D49 D50 D51 D52 D53 D54 D55 D56 D57 D65 / -D66 D67 D68 D69 D70 50 DL49 52 DL51 497 C26 C10 C77 C65 C80 C83 C84 C79/ - C82 C69 C32 C78 C79 C84 C32 C73 C77 C80 C76 C69 C77 C69 C78 C84 C69 C6/ -8 C10 -G60L1 G67L2 G66L3 G68L4 G62L5 G63L6 G70L7 G77L8 G75L9 G76L10 G78L11 -Z -JL2 -$ 1 JL5 -$ 3 L0 LIP2 X10 FL7 L1 SP3 JL6 7 LIP2 L1 X9 SP5 LIL4 K3 LIP2 X5 SP3 6 L/ -IP3 X4 5 L1 SP2 JL8 9 LL499 SP5 LIP2 SP6 LIP2 SP9 LIL4 K7 SP7 LIG76 K3 / -LIP2 A1 SP2 8 LIP2 L10 X15 TL9 X22 X4 2 -4 DL3 499 C12 C70 C40 C37 C78 C41 C44 C32 C61 C32 C37 C78 C10 -G1L1 -Z diff --git a/Applications/BCPL/examples/hello.b b/Applications/BCPL/examples/hello.b deleted file mode 100644 index c76743a8..00000000 --- a/Applications/BCPL/examples/hello.b +++ /dev/null @@ -1,13 +0,0 @@ -// a first program. -// bcpl hello.b -// icint hello.i - -GET "LIBHDR" - -LET START() BE - $( LET A, B, C, SUM = 1, 2, 3, 0 - SUM := A + B + C - WRITES("Sum of 1 + 2 + 3 is ") - WRITEN(SUM) - WRITES("*NHello, World*N") - $) diff --git a/Applications/BCPL/examples/hello.i b/Applications/BCPL/examples/hello.i deleted file mode 100644 index 8800ae3f..00000000 --- a/Applications/BCPL/examples/hello.i +++ /dev/null @@ -1,72 +0,0 @@ -JL2 -$ 1 L1 SP2 L2 SP3 L3 SP4 L0 SP5 LIP3 AIP2 AIP4 SP5 LL499 SP8 LIG60 K6 L/ -IP5 SP8 LIG62 K6 LL498 SP8 LIG60 K6 X4 2 -499 C20 C83 C117 C109 C32 C111 C102 C32 C49 C32 C43 C32 C50 C32 C43 C32/ - C51 C32 C105 C115 C32 498 C14 C10 C72 C101 C108 C108 C111 C44 C32 C87 / -C111 C114 C108 C100 C10 -G1L1 -Z -JL13 -$ 1 L1 SP3 LIP2 SP6 L0 SP7 LIG85 K4 SP4 JL14 15 LIP2 SP9 LIP3 SP10 LIG8/ -5 K7 SP7 LIG14 K5 LIP3 A1 SP3 14 LIP3 LIP4 X15 TL15 X4 -$ 2 L0 SP4 LIP2 SP7 L0 SP8 LIG85 K5 SP5 JL16 17 LIP2 SP8 LIP4 SP9 LIG85/ - K6 SP6 LIP4 AIP3 SP7 LIP6 SIP7 LIP4 A1 SP4 16 LIP4 LIP5 X15 TL17 X4 -$ 3 L0 AIP2 X1 L255 X18 SP4 LIP4 L2 X6 SP5 L0 SP6 LIP4 SP7 JL19 20 LIP3/ - SP10 LIP6 SP11 LIP6 AIP2 X1 SP12 LIG86 K8 LIP6 A1 SP6 19 LIP6 LIP7 X15/ - TL20 JL21 23 LIP3 SP8 L1 AIP4 SP9 L0 SP10 LIG86 K6 24 JL22 21 L1 LIP4 / -X18 X23 D2 DL22 D0 DL23 D1 DL24 22 LIP5 JL18 18 X4 -$ 4 LP7 SP4 L0 SP5 LIP2 SP6 LIP2 L0 X12 FL25 LIP3 L1 X9 SP3 JL26 25 LIP/ -2 X2 SP6 26 27 LIP6 L10 X7 SP28 LIP5 AIP4 SP29 LIP28 SIP29 LIP6 L10 X6 / -SP6 L1 AIP5 SP5 L0 LIP6 X10 FL27 L1 AIP5 SP28 LIP3 SP29 JL28 29 L32 SP3/ -2 LIG14 K30 LIP28 A1 SP28 28 LIP28 LIP29 X15 TL29 LIP2 L0 X12 FL30 L45 / -SP30 LIG14 K28 30 LIP5 L1 X9 SP28 JL31 32 L48 SP31 LIP28 AIP4 X1 SP32 L/ -IP31 LIP32 X9 SP31 LIG14 K29 LIP28 A-1 SP28 31 LIP28 L0 X13 TL32 X4 -$ 5 LIP2 SP5 L0 SP6 LIG68 K3 X4 -$ 6 L10 SP4 LIG14 K2 X4 -$ 7 L12 SP4 LIG14 K2 X4 -$ 8 L0 SP2 L0 SP3 34 LIG13 K4 SG71 JL36 38 39 40 JIL35 41 L-1 SP3 42 LI/ -G13 K4 SG71 JL37 36 LIG71 X23 D5 DL37 D32 DL38 D9 DL39 D10 DL40 D45 DL4/ -1 D43 DL42 37 JL44 43 LIP2 L10 X5 AIG71 L48 X9 SP2 LIG13 K4 SG71 44 L48/ - LIG71 X15 FL45 LIG71 L57 X15 TL43 45 LIP3 FL46 LIP2 X2 SP2 46 LIP2 JL3/ -3 33 X4 -$ 9 LIP3 L1 X14 FL47 LIP2 L3 X17 SP6 LIP3 L1 X9 SP7 LIG77 K4 47 L7 LIP2/ - X18 A48 SP6 LIG14 K4 X4 -$ 10 LIP3 L1 X14 FL48 LIP2 L4 X17 SP6 LIP3 L1 X9 SP7 LIG75 K4 48 L15 LI/ -P2 X18 AL49 X1 SP6 LIG14 K4 X4 -$ 11 LP3 SP14 L1 SP15 LIP2 SP18 L0 SP19 LIG85 K16 SP16 JL50 51 LIP2 SP1/ -9 LIP15 SP20 LIG85 K17 SP17 L37 LIP17 X10 FL52 L0 SP18 L0 AIP14 X1 SP19/ - L0 SP20 LIP2 SP23 L1 AIP15 SP24 LIG85 K21 SP21 L1 AIP15 SP15 JL58 60 L/ -IP21 SP24 LIG14 K22 JL59 61 LIG60 SP18 JIL55 62 LIG14 SP18 JIL55 63 LIG/ -77 SP18 JIL57 64 LIG75 SP18 JIL57 65 LIG68 SP18 JIL57 66 LIG68 SP18 JIL/ -55 56 L1 AIP15 SP15 LIP2 SP24 LIP15 SP25 LIG85 K22 SP20 L48 LIP20 X15 F/ -L68 LIP20 L57 X15 FL68 LIP20 L48 X9 SP22 JL67 68 LIP20 L65 X9 A10 SP22 / -67 LIP22 SP20 54 LIP19 SP24 LIP20 SP25 LIP18 K22 L1 AIP14 SP14 JL59 58 / -LIP21 X23 D6 DL60 D83 DL61 D67 DL62 D79 DL63 D88 DL64 D73 DL65 D78 DL66/ - 59 JL53 52 LIP17 SP20 LIG14 K18 53 LIP15 A1 SP15 50 LIP15 LIP16 X15 TL/ -51 X4 -$ 12 LL499 SP4 LIG60 K2 X4 13 -35 DL34 49 D48 D49 D50 D51 D52 D53 D54 D55 D56 D57 D65 D66 D67 D68 D69 / -D70 55 DL54 57 DL56 499 C26 C10 C77 C65 C80 C83 C84 C79 C82 C69 C32 C78/ - C79 C84 C32 C73 C77 C80 C76 C69 C77 C69 C78 C84 C69 C68 C10 -G60L1 G67L2 G66L3 G68L4 G62L5 G63L6 G64L7 G70L8 G77L9 G75L10 G76L11 G78/ -L12 -Z -11 LIP2 X24 X4 G11L11 /SELECTINPUT -12 LIP2 X25 X4 G12L12 /SELECTOUTPUT -13 X26 X4 G13L13 /RDCH -14 LIP2 X27 X4 G14L14 /WRCH -42 LIP2 X28 X4 G42L42 /FINDINPUT -41 LIP2 X29 X4 G41L41 /FINDOUTPUT -30 LIP2 X30 X4 G30L30 /STOP -31 X31 X4 G31L31 /LEVEL -32 LIP3 LIP2 X32 G32L32 /LONGJUMP -46 X33 X4 G46L46 /ENDREAD -47 X34 X4 G47L47 /ENDWRITE -40 LIP3 LIP2 X35 G40L40 /APTOVEC -85 LIP3 LIP2 X36 X4 G85L85 / GETBYTE -86 LIP3 LIP2 X37 X4 G86L86 / PUTBYTE -16 X38 X4 G16L16 /INPUT -17 X39 X4 G17L17 /OUTPUT -15 LIP2 X40 X4 G15L15 /UNRDCH -35 X41 X4 G35L35 /REWIND -Z diff --git a/Applications/BCPL/iclib.i b/Applications/BCPL/iclib.i deleted file mode 100644 index 242f2a45..00000000 --- a/Applications/BCPL/iclib.i +++ /dev/null @@ -1,19 +0,0 @@ -11 LIP2 X24 X4 G11L11 /SELECTINPUT -12 LIP2 X25 X4 G12L12 /SELECTOUTPUT -13 X26 X4 G13L13 /RDCH -14 LIP2 X27 X4 G14L14 /WRCH -42 LIP2 X28 X4 G42L42 /FINDINPUT -41 LIP2 X29 X4 G41L41 /FINDOUTPUT -30 LIP2 X30 X4 G30L30 /STOP -31 X31 X4 G31L31 /LEVEL -32 LIP3 LIP2 X32 G32L32 /LONGJUMP -46 X33 X4 G46L46 /ENDREAD -47 X34 X4 G47L47 /ENDWRITE -40 LIP3 LIP2 X35 G40L40 /APTOVEC -85 LIP3 LIP2 X36 X4 G85L85 / GETBYTE -86 LIP3 LIP2 X37 X4 G86L86 / PUTBYTE -16 X38 X4 G16L16 /INPUT -17 X39 X4 G17L17 /OUTPUT -15 LIP2 X40 X4 G15L15 /UNRDCH -35 X41 X4 G35L35 /REWIND -Z diff --git a/Applications/BCPL/syn.b b/Applications/BCPL/syn.b deleted file mode 100644 index ae46a5c9..00000000 --- a/Applications/BCPL/syn.b +++ /dev/null @@ -1,1108 +0,0 @@ -// $Id: syn.bcpl,v 1.5 2004/12/21 10:32:12 rn Exp $ - -// MASTER - -GET "LIBHDR" - -GLOBAL $( -CHBUF:100; PRSOURCE:110 -PPTRACE:127; OPTION:128 -FORMTREE:150; PLIST:152 -TREEP:167; TREEVEC:168 -CHARCODE:190; REPORTCOUNT:191; REPORTMAX:192 -SOURCESTREAM:193; SYSPRINT:194; OCODE:195; SYSIN:196 -COMPILEAE:245 -SAVESPACESIZE:282 -$) - -LET CHARCODE(CH) = CH // THE DEFAULT SETTING OF CHARCODE - -AND EBCDICTOASCII(CH) = CH!TABLE - 0, 0, 0, 0, 0, #11, 0, 0, - 0, 0, 0, #13, #14, #15, 0, 0, - 0, 0, 0, 0, 0, #12, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, #12, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - #40, 0,#133,#135, 0, 0, 0, 0, - 0, 0, 0, #56, #74, #50, #53,#174, - #46, 0, 0, 0, 0, 0, 0, 0, - 0, 0, #41, #44, #52, #51, #73,#176, - #55, #57,#134, 0, 0,#136,#137, 0, - 0, 0, 0, #54, #45,#140, #76, #77, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, #72, #43,#100, #47, #75, #42, - 0,#141,#142,#143,#144,#145,#146,#147, - #150,#151, 0, 0, 0, 0, 0, 0, - 0,#152,#153,#154,#155,#156,#157,#160, - #161,#162, 0, 0, 0, 0, 0, 0, - 0, 0,#163,#164,#165,#166,#167,#170, - #171,#172, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0,#101,#102,#103,#104,#105,#106,#107, - #110,#111, 0, 0, 0, 0, 0, 0, - 0,#112,#113,#114,#115,#116,#117,#120, - #121,#122, 0, 0, 0, 0, 0, 0, - 0, 0,#123,#124,#125,#126,#127,#130, - #131,#132, 0, 0, 0, 0, 0, 0, - #60, #61, #62, #63, #64, #65, #66, #67, - #70, #71, 0, 0, 0, 0, 0, 0 -LET START(PARM) BE -$(1 -SYSIN := INPUT() -SYSPRINT := OUTPUT() -SELECTOUTPUT(SYSPRINT) - -WRITEF("*NBCPL %N*N", @START) - -$( LET OPT = VEC 20 - AND TREESIZE = 5500 - OPTION := OPT - SAVESPACESIZE := 2 - PPTRACE := FALSE - PRSOURCE := FALSE - FOR I = 0 TO 20 DO OPT!I := FALSE - -SOURCESTREAM := FINDINPUT("OPTIONS") - -UNLESS SOURCESTREAM=0 DO -$(P LET CH = 0 - AND N = 0 - SELECTINPUT(SOURCESTREAM) - WRITES("OPTIONS ") - - $( CH := RDCH() - L: IF CH='*N' \/ CH=ENDSTREAMCH BREAK - WRCH(CH) - IF CH='P' DO N := 1 - IF CH='T' DO N := 2 - IF CH='C' DO N := 3 - IF CH='M' DO N := 4 - IF CH='N' DO N := 5 - IF CH='A' DO CHARCODE := EBCDICTOASCII - IF CH='S' DO PRSOURCE := TRUE - IF CH='E' DO PPTRACE := TRUE - IF CH='L' DO $( TREESIZE := READN() - WRITEN(TREESIZE) - CH := TERMINATOR - GOTO L $) - IF CH='3' DO SAVESPACESIZE := 3 - OPTION!N := TRUE - $) REPEAT - - NEWLINE() - ENDREAD() $)P - - REPORTMAX := 20 - REPORTCOUNT := 0 - - - -SOURCESTREAM := SYSIN -SELECTINPUT(SOURCESTREAM) - -OCODE := FINDOUTPUT("OCODE") -IF OCODE=0 DO OCODE := SYSPRINT - -$(2 LET COMP(V, TREEMAX) BE - $(C LET B = VEC 63 - CHBUF := B - - $(3 TREEP, TREEVEC := V+TREEMAX, V - - $( LET A = FORMTREE() - IF A=0 BREAK - - WRITEF("*NTREE SIZE %N*N", TREEMAX+TREEVEC-TREEP) - - IF OPTION!2 DO $( WRITES('AE TREE*N') - PLIST(A, 0, 20) - NEWLINE() $) - - - UNLESS REPORTCOUNT=0 DO STOP(8) - - UNLESS OPTION!3 DO - $( SELECTOUTPUT(OCODE) - COMPILEAE(A) - SELECTOUTPUT(SYSPRINT) $) - - $)3 REPEAT - $)C - - APTOVEC(COMP, TREESIZE) - - ENDREAD() - IF OPTION!4 DO MAPSTORE() - WRITES('*NPHASE 1 COMPLETE*N') - UNLESS REPORTCOUNT=0 DO STOP(8) - FINISH $)1 -. - -// LEX1 - - -GET "SYNHDR" - -LET NEXTSYMB() BE -$(1 NLPENDING := FALSE - -NEXT: IF PPTRACE DO WRCH(CH) - - SWITCHON CH INTO - - $( CASE '*P': - CASE '*N': LINECOUNT := LINECOUNT + 1 - NLPENDING := TRUE // IGNORABLE CHARACTERS - CASE '*T': - CASE '*S': RCH() REPEATWHILE CH='*S' - GOTO NEXT - - CASE '0':CASE '1':CASE '2':CASE '3':CASE '4': - CASE '5':CASE '6':CASE '7':CASE '8':CASE '9': - SYMB := S.NUMBER - READNUMBER(10) - RETURN - - CASE 'A':CASE 'B':CASE 'C':CASE 'D':CASE 'E': - CASE 'F':CASE 'G':CASE 'H':CASE 'I':CASE 'J': - CASE 'K':CASE 'L':CASE 'M':CASE 'N':CASE 'O': - CASE 'P':CASE 'Q':CASE 'R':CASE 'S':CASE 'T': - CASE 'U':CASE 'V':CASE 'W':CASE 'X':CASE 'Y': - CASE 'Z': - RDTAG(CH) - SYMB := LOOKUPWORD() - IF SYMB=S.GET DO $( PERFORMGET(); GOTO NEXT $) - RETURN - - CASE '$': RCH() - UNLESS CH='(' \/ CH=')' DO CAEREPORT(91) - SYMB := CH='(' -> S.LSECT, S.RSECT - RDTAG('$') - LOOKUPWORD() - RETURN - - CASE '[': - CASE '(': SYMB := S.LPAREN; GOTO L - CASE ']': - CASE ')': SYMB := S.RPAREN; GOTO L - - CASE '#': SYMB := S.NUMBER - RCH() - IF '0'<=CH<='7' DO $( READNUMBER(8); RETURN $) - IF CH='B' DO $( RCH(); READNUMBER(2); RETURN $) - IF CH='O' DO $( RCH(); READNUMBER(8); RETURN $) - IF CH='X' DO $( RCH(); READNUMBER(16); RETURN $) - CAEREPORT(33) - - CASE '?': SYMB := S.QUERY; GOTO L - CASE '+': SYMB := S.PLUS; GOTO L - CASE ',': SYMB := S.COMMA; GOTO L - CASE ';': SYMB := S.SEMICOLON; GOTO L - CASE '@': SYMB := S.LV; GOTO L - CASE '&': SYMB := S.LOGAND; GOTO L - CASE '=': SYMB := S.EQ; GOTO L - CASE '!': SYMB := S.VECAP; GOTO L - CASE '_': SYMB := S.ASS; GOTO L - CASE '**': SYMB := S.MULT; GOTO L - - CASE '/': RCH() - IF CH='\' DO $( SYMB := S.LOGAND; GOTO L $) - IF CH='/' GOTO COMMENT - UNLESS CH='**' DO $( SYMB := S.DIV; RETURN $) - - RCH() - - UNTIL CH=ENDSTREAMCH DO TEST CH='**' - - THEN $( RCH() - UNLESS CH='/' LOOP - RCH() - GOTO NEXT $) - - OR $( IF CH='*N' DO LINECOUNT := LINECOUNT+1 - RCH() $) - - CAEREPORT(63) - - - COMMENT: RCH() REPEATUNTIL CH='*N' \/ CH=ENDSTREAMCH - GOTO NEXT - - CASE '|': RCH() - IF CH='|' GOTO COMMENT - SYMB := S.LOGOR - RETURN - - CASE '\': RCH() - IF CH='/' DO $( SYMB := S.LOGOR; GOTO L $) - IF CH='=' DO $( SYMB := S.NE; GOTO L $) - SYMB := S.NOT - RETURN - - CASE '<': RCH() - IF CH='=' DO $( SYMB := S.LE; GOTO L $) - IF CH='<' DO $( SYMB := S.LSHIFT; GOTO L $) - SYMB := S.LS - RETURN - - CASE '>': RCH() - IF CH='=' DO $( SYMB := S.GE; GOTO L $) - IF CH='>' DO $( SYMB := S.RSHIFT; GOTO L $) - SYMB := S.GR - RETURN - - CASE '-': RCH() - IF CH='>' DO $( SYMB := S.COND; GOTO L $) - SYMB := S.MINUS - RETURN - - CASE ':': RCH() - IF CH='=' DO $( SYMB := S.ASS; GOTO L $) - SYMB := S.COLON - RETURN - - CASE '*'':CASE '*"': - $(1 LET QUOTE = CH - CHARP := 0 - - $( RCH() - IF CH=QUOTE \/ CHARP=255 DO - $( UNLESS CH=QUOTE DO CAEREPORT(95) - IF CHARP=1 & CH='*'' DO - $( SYMB := S.NUMBER - DECVAL := CHARCODE(DECVAL) - GOTO L $) - CHARV!0 := CHARP - WORDSIZE := PACKSTRING(CHARV, WORDV) - SYMB := S.STRING - GOTO L $) - - - IF CH='*N' DO LINECOUNT := LINECOUNT + 1 - - IF CH='**' DO - $( RCH() - IF CH='*N' DO - $( LINECOUNT := LINECOUNT+1 - RCH() REPEATWHILE CH='*S' \/ CH='*T' - UNLESS CH='**' DO CAEREPORT(34) - LOOP $) - IF CH='T' DO CH := '*T' - IF CH='S' DO CH := '*S' - IF CH='N' DO CH := '*N' - IF CH='B' DO CH := '*B' - IF CH='P' DO CH := '*P' $) - - DECVAL, CHARP := CH, CHARP+1 - CHARV!CHARP := CH $) REPEAT $)1 - - - - DEFAULT: IF CH=ENDSTREAMCH DO - CASE '.': $( IF GETP=0 DO - $( SYMB := S.END - RETURN $) - - ENDREAD() - GETP := GETP - 3 - SOURCESTREAM := GETV!GETP - SELECTINPUT(SOURCESTREAM) - LINECOUNT := GETV!(GETP+1) - CH := GETV!(GETP+2) - GOTO NEXT $) - - CH := '*S' - CAEREPORT(94) - RCH() - GOTO NEXT - - L: RCH() $)1 - -AND READNUMBER(RADIX) BE - $( LET D = VALUE(CH) - DECVAL := D - IF D>=RADIX DO CAEREPORT(33) - - $( RCH() - D := VALUE(CH) - IF D>=RADIX RETURN - DECVAL := RADIX*DECVAL + D $) REPEAT - $) - - -AND VALUE(CH) = '0'<=CH<='9' -> CH-'0', - 'A'<=CH<='F' -> CH-'A'+10, - 100 - -. - -// LEX2 - - -GET "SYNHDR" - -LET D(S, ITEM) BE $( UNPACKSTRING(S, CHARV) - WORDSIZE := PACKSTRING(CHARV, WORDV) - LOOKUPWORD() - WORDNODE!0 := ITEM $) - -AND DECLSYSWORDS() BE - $( D("AND", S.AND) - - D("BE", S.BE) - D("BREAK", S.BREAK) - D("BY", S.BY) - - D("CASE", S.CASE) - - D("DO", S.DO) - D("DEFAULT", S.DEFAULT) - - D("EQ", S.EQ) - D("EQV", S.EQV) - D("ELSE", S.OR) - D("ENDCASE", S.ENDCASE) - - D("FALSE", S.FALSE) - D("FOR", S.FOR) - D("FINISH", S.FINISH) - - D("GOTO", S.GOTO) - D("GE", S.GE) - D("GR", S.GR) - D("GLOBAL", S.GLOBAL) - D("GET", S.GET) - - D("IF", S.IF) - D("INTO", S.INTO) - - D("LET", S.LET) - D("LV", S.LV) - D("LE", S.LE) - D("LS", S.LS) - D("LOGOR", S.LOGOR) - D("LOGAND", S.LOGAND) - D("LOOP", S.LOOP) - D("LSHIFT", S.LSHIFT) - - D("MANIFEST", S.MANIFEST) - - D("NE", S.NE) - D("NOT", S.NOT) - D("NEQV", S.NEQV) - - D("OR", S.OR) - - D("RESULTIS", S.RESULTIS) - D("RETURN", S.RETURN) - D("REM", S.REM) - D("RSHIFT", S.RSHIFT) - D("RV", S.RV) - D("REPEAT", S.REPEAT) - D("REPEATWHILE", S.REPEATWHILE) - D("REPEATUNTIL", S.REPEATUNTIL) - - D("SWITCHON", S.SWITCHON) - D("STATIC", S.STATIC) - - D("TO", S.TO) - D("TEST", S.TEST) - D("TRUE", S.TRUE) - D("THEN", S.DO) - D("TABLE", S.TABLE) - - D("UNTIL", S.UNTIL) - D("UNLESS", S.UNLESS) - - D("VEC", S.VEC) - D("VALOF", S.VALOF) - - D("WHILE", S.WHILE) - - D("$", 0); NULLTAG := WORDNODE $) - -AND LOOKUPWORD() = VALOF - -$(1 LET HASHVAL = (WORDV!0+WORDV!WORDSIZE >> 1) REM NAMETABLESIZE - LET M = @NAMETABLE!HASHVAL - - NEXT: WORDNODE := !M - UNLESS WORDNODE=0 DO - $(2 FOR I = 0 TO WORDSIZE DO - IF WORDNODE!(I+2) NE WORDV!I DO - $( M := WORDNODE+1 - GOTO NEXT $) - RESULTIS WORDNODE!0 $)2 - - WORDNODE := NEWVEC(WORDSIZE+2) - WORDNODE!0, WORDNODE!1 := S.NAME, NAMETABLE!HASHVAL - FOR I = 0 TO WORDSIZE DO WORDNODE!(I+2) := WORDV!I - NAMETABLE!HASHVAL := WORDNODE - RESULTIS S.NAME -$)1 - -. - -// LEX3 - - -GET "SYNHDR" - -LET RCH() BE - $( CH := RDCH() - - IF PRSOURCE DO IF GETP=0 /\ CH NE ENDSTREAMCH DO - $( UNLESS LINECOUNT=PRLINE DO $( WRITEF("%I4 ", LINECOUNT) - PRLINE := LINECOUNT $) - WRCH(CH) $) - - CHCOUNT := CHCOUNT + 1 - CHBUF!(CHCOUNT&63) := CH $) - -AND WRCHBUF() BE - $( WRITES("*N...") - FOR P = CHCOUNT-63 TO CHCOUNT DO - $( LET K = CHBUF!(P&63) - UNLESS K=0 DO WRCH(K) $) - NEWLINE() $) - - -AND RDTAG(X) BE - $( CHARP, CHARV!1 := 1, X - - $( RCH() - UNLESS 'A'<=CH<='Z' \/ - '0'<=CH<='9' \/ - CH='.' BREAK - CHARP := CHARP+1 - CHARV!CHARP := CH $) REPEAT - - CHARV!0 := CHARP - WORDSIZE := PACKSTRING(CHARV, WORDV) $) - - -AND PERFORMGET() BE - $( NEXTSYMB() - UNLESS SYMB=S.STRING THEN CAEREPORT(97) - - IF OPTION!5 RETURN - - GETV!GETP := SOURCESTREAM - GETV!(GETP+1) := LINECOUNT - GETV!(GETP+2) := CH - GETP := GETP + 3 - LINECOUNT := 1 - SOURCESTREAM := FINDINPUT(WORDV) - IF SOURCESTREAM=0 THEN - SOURCESTREAM := FINDLIBINPUT(WORDV) - IF SOURCESTREAM=0 THEN CAEREPORT(96,WORDV) - SELECTINPUT(SOURCESTREAM) - RCH() $) - -AND APPEND(D, S) BE - $( LET ND = GETBYTE(D, 0) - AND NS = GETBYTE(S, 0) - FOR I = 1 TO NS DO $( - ND := ND + 1 - PUTBYTE(D, ND, GETBYTE(S, I)) $) - PUTBYTE(D, 0, ND) $) - -AND FINDLIBINPUT(NAME) = VALOF - $( LET PATH = VEC 64 - AND DIR = "/usr/local/lib/bcplkit/" - TEST GETBYTE(DIR, 0) + GETBYTE(NAME, 0) > 255 - THEN RESULTIS 0 - OR $( PUTBYTE(PATH, 0, 0) - APPEND(PATH, DIR) - APPEND(PATH, NAME) - RESULTIS FINDINPUT(PATH) $) - $) - - -. - -// CAE0 - - -GET "SYNHDR" - -LET NEWVEC(N) = VALOF - $( TREEP := TREEP - N - 1 - IF TREEP<=TREEVEC DO - $( REPORTMAX := 0 - CAEREPORT(98) $) - RESULTIS TREEP $) - -AND LIST1(X) = VALOF - $( LET P = NEWVEC(0) - P!0 := X - RESULTIS P $) - -AND LIST2(X, Y) = VALOF - $( LET P = NEWVEC(1) - P!0, P!1 := X, Y - RESULTIS P $) - -AND LIST3(X, Y, Z) = VALOF - $( LET P = NEWVEC(2) - P!0, P!1, P!2 := X, Y, Z - RESULTIS P $) - -AND LIST4(X, Y, Z, T) = VALOF - $( LET P = NEWVEC(3) - P!0, P!1, P!2, P!3 := X, Y, Z, T - RESULTIS P $) - -AND LIST5(X, Y, Z, T, U) = VALOF - $( LET P = NEWVEC(4) - P!0, P!1, P!2, P!3, P!4 := X, Y, Z, T, U - RESULTIS P $) - -AND LIST6(X, Y, Z, T, U, V) = VALOF - $( LET P = NEWVEC(5) - P!0, P!1, P!2, P!3, P!4, P!5 := X, Y, Z, T, U, V - RESULTIS P $) - -AND CAEREPORT(N, A) BE - $( REPORTCOUNT := REPORTCOUNT + 1 - WRITEF("*NSYNTAX ERROR NEAR LINE %N: ", LINECOUNT) - CAEMESSAGE(N, A) - WRCHBUF() - IF REPORTCOUNT GR REPORTMAX DO - $( WRITES('*NCOMPILATION ABORTED*N') - STOP(8) $) - NLPENDING := FALSE - - UNTIL SYMB=S.LSECT \/ SYMB=S.RSECT \/ - SYMB=S.LET \/ SYMB=S.AND \/ - SYMB=S.END \/ NLPENDING DO NEXTSYMB() - LONGJUMP(REC.P, REC.L) $) - -AND FORMTREE() = VALOF - $(1 CHCOUNT := 0 - FOR I = 0 TO 63 DO CHBUF!I := 0 - - $( LET V = VEC 10 // FOR 'GET' STREAMS - GETV, GETP, GETT := V, 0, 10 - - $( LET V = VEC 100 - WORDV := V - - $( LET V = VEC 256 - CHARV, CHARP := V, 0 - - $( LET V = VEC 100 - NAMETABLE, NAMETABLESIZE := V, 100 - FOR I = 0 TO 100 DO NAMETABLE!I := 0 - - REC.P, REC.L := LEVEL(), L - - LINECOUNT, PRLINE := 1, 0 - RCH() - - IF CH=ENDSTREAMCH RESULTIS 0 - DECLSYSWORDS() - - L: NEXTSYMB() - - IF OPTION!1 DO // PP DEBUGGING OPTION - $( WRITEF("%N %S*N", SYMB, WORDV) - IF SYMB=S.END RESULTIS 0 - GOTO L $) - - $( LET A = RDBLOCKBODY() - UNLESS SYMB=S.END DO $( CAEREPORT(99); GOTO L $) - - RESULTIS A $)1 - - - -AND CAEMESSAGE(N, A) BE - $( LET S = VALOF - - SWITCHON N INTO - - $( DEFAULT: WRITEN(N); RETURN - - CASE 91: RESULTIS "'8' '(' OR ')' EXPECTED" - CASE 94: RESULTIS "ILLEGAL CHARACTER" - CASE 95: RESULTIS "STRING TOO LONG" - CASE 96: RESULTIS "NO INPUT %S" - CASE 97: RESULTIS "STRING OR NUMBER EXPECTED" - CASE 98: RESULTIS "PROGRAM TOO LARGE" - CASE 99: RESULTIS "INCORRECT TERMINATION" - - CASE 8:CASE 40:CASE 43: - RESULTIS "NAME EXPECTED" - CASE 6: RESULTIS "'$(' EXPECTED" - CASE 7: RESULTIS "'$)' EXPECTED" - CASE 9: RESULTIS "UNTAGGED '$)' MISMATCH" - CASE 32: RESULTIS "ERROR IN EXPRESSION" - CASE 33: RESULTIS "ERROR IN NUMBER" - CASE 34: RESULTIS "BAD STRING" - CASE 15:CASE 19:CASE 41: RESULTIS "')' MISSING" - CASE 30: RESULTIS "',' MISSING" - CASE 42: RESULTIS "'=' OR 'BE' EXPECTED" - CASE 44: RESULTIS "'=' OR '(' EXPECTED" - CASE 50: RESULTIS "ERROR IN LABEL" - CASE 51: RESULTIS "ERROR IN COMMAND" - CASE 54: RESULTIS "'OR' EXPECTED" - CASE 57: RESULTIS "'=' EXPECTED" - CASE 58: RESULTIS "'TO' EXPECTED" - CASE 60: RESULTIS "'INTO' EXPECTED" - CASE 61:CASE 62: RESULTIS "':' EXPECTED" - CASE 63: RESULTIS "'**/' MISSING" - $) - - WRITEF(S, A) $) - - -. - -// CAE1 - - -GET "SYNHDR" - -LET RDBLOCKBODY() = VALOF - $(1 LET P, L = REC.P, REC.L - LET A = 0 - - REC.P, REC.L := LEVEL(), RECOVER - - IGNORE(S.SEMICOLON) - - SWITCHON SYMB INTO - $( CASE S.MANIFEST: - CASE S.STATIC: - CASE S.GLOBAL: - $( LET OP = SYMB - NEXTSYMB() - A := RDSECT(RDCDEFS) - A := LIST3(OP, A, RDBLOCKBODY()) - GOTO RET $) - - - CASE S.LET: NEXTSYMB() - A := RDEF() - RECOVER: WHILE SYMB=S.AND DO - $( NEXTSYMB() - A := LIST3(S.AND, A, RDEF()) $) - A := LIST3(S.LET, A, RDBLOCKBODY()) - GOTO RET - - DEFAULT: A := RDSEQ() - - UNLESS SYMB=S.RSECT \/ SYMB=S.END DO - CAEREPORT(51) - - CASE S.RSECT: CASE S.END: - RET: REC.P, REC.L := P, L - RESULTIS A $)1 - -AND RDSEQ() = VALOF - $( LET A = 0 - IGNORE(S.SEMICOLON) - A := RCOM() - IF SYMB=S.RSECT \/ SYMB=S.END RESULTIS A - RESULTIS LIST3(S.SEQ, A, RDSEQ()) $) - - -AND RDCDEFS() = VALOF - $(1 LET A, B = 0, 0 - LET PTR = @A - LET P, L = REC.P, REC.L - REC.P, REC.L := LEVEL(), RECOVER - - $( B := RNAME() - TEST SYMB=S.EQ \/ SYMB=S.COLON THEN NEXTSYMB() - OR CAEREPORT(45) - !PTR := LIST4(S.CONSTDEF, 0, B, REXP(0)) - PTR := @H2!(!PTR) - RECOVER: IGNORE(S.SEMICOLON) $) REPEATWHILE SYMB=S.NAME - - REC.P, REC.L := P, L - RESULTIS A $)1 - -AND RDSECT(R) = VALOF - $( LET TAG, A = WORDNODE, 0 - CHECKFOR(S.LSECT, 6) - A := R() - UNLESS SYMB=S.RSECT DO CAEREPORT(7) - TEST TAG=WORDNODE - THEN NEXTSYMB() - OR IF WORDNODE=NULLTAG DO - $( SYMB := 0 - CAEREPORT(9) $) - RESULTIS A $) - - -AND RNAMELIST() = VALOF - $( LET A = RNAME() - UNLESS SYMB=S.COMMA RESULTIS A - NEXTSYMB() - RESULTIS LIST3(S.COMMA, A, RNAMELIST()) $) - - -AND RNAME() = VALOF - $( LET A = WORDNODE - CHECKFOR(S.NAME, 8) - RESULTIS A $) - -AND IGNORE(ITEM) BE IF SYMB=ITEM DO NEXTSYMB() - -AND CHECKFOR(ITEM, N) BE - $( UNLESS SYMB=ITEM DO CAEREPORT(N) - NEXTSYMB() $) - -. - -// CAE2 - - -GET "SYNHDR" -LET RBEXP() = VALOF - $(1 LET A, OP = 0, SYMB - - SWITCHON SYMB INTO - - $( DEFAULT: - CAEREPORT(32) - - CASE S.QUERY: - NEXTSYMB(); RESULTIS LIST1(S.QUERY) - - CASE S.TRUE: - CASE S.FALSE: - CASE S.NAME: - A := WORDNODE - NEXTSYMB() - RESULTIS A - - CASE S.STRING: - A := NEWVEC(WORDSIZE+1) - A!0 := S.STRING - FOR I = 0 TO WORDSIZE DO A!(I+1) := WORDV!I - NEXTSYMB() - RESULTIS A - - CASE S.NUMBER: - A := LIST2(S.NUMBER, DECVAL) - NEXTSYMB() - RESULTIS A - - CASE S.LPAREN: - NEXTSYMB() - A := REXP(0) - CHECKFOR(S.RPAREN, 15) - RESULTIS A - - CASE S.VALOF: - NEXTSYMB() - RESULTIS LIST2(S.VALOF, RCOM()) - - CASE S.VECAP: OP := S.RV - CASE S.LV: - CASE S.RV: NEXTSYMB(); RESULTIS LIST2(OP, REXP(35)) - - CASE S.PLUS: NEXTSYMB(); RESULTIS REXP(34) - - CASE S.MINUS: NEXTSYMB() - A := REXP(34) - TEST H1!A=S.NUMBER - THEN H2!A := - H2!A - OR A := LIST2(S.NEG, A) - RESULTIS A - - CASE S.NOT: NEXTSYMB(); RESULTIS LIST2(S.NOT, REXP(24)) - - CASE S.TABLE: NEXTSYMB() - RESULTIS LIST2(S.TABLE, REXPLIST()) $)1 - - - -AND REXP(N) = VALOF - $(1 LET A = RBEXP() - - LET B, C, P, Q = 0, 0, 0, 0 - - L: $( LET OP = SYMB - - IF NLPENDING RESULTIS A - - SWITCHON OP INTO - $(B DEFAULT: RESULTIS A - - CASE S.LPAREN: NEXTSYMB() - B := 0 - UNLESS SYMB=S.RPAREN DO B := REXPLIST() - CHECKFOR(S.RPAREN, 19) - A := LIST3(S.FNAP, A, B) - GOTO L - - CASE S.VECAP: P := 40; GOTO LASSOC - - CASE S.REM:CASE S.MULT:CASE S.DIV: P := 35; GOTO LASSOC - - CASE S.PLUS:CASE S.MINUS: P := 34; GOTO LASSOC - - CASE S.EQ:CASE S.NE: - CASE S.LE:CASE S.GE: - CASE S.LS:CASE S.GR: - IF N>=30 RESULTIS A - - $(R NEXTSYMB() - B := REXP(30) - A := LIST3(OP, A, B) - TEST C=0 THEN C := A - OR C := LIST3(S.LOGAND, C, A) - A, OP := B, SYMB $)R REPEATWHILE S.EQ<=OP<=S.GE - - A := C - GOTO L - - CASE S.LSHIFT:CASE S.RSHIFT: P, Q := 25, 30; GOTO DIADIC - - CASE S.LOGAND: P := 23; GOTO LASSOC - - CASE S.LOGOR: P := 22; GOTO LASSOC - - CASE S.EQV:CASE S.NEQV: P := 21; GOTO LASSOC - - CASE S.COND: - IF N>=13 RESULTIS A - NEXTSYMB() - B := REXP(0) - CHECKFOR(S.COMMA, 30) - A := LIST4(S.COND, A, B, REXP(0)) - GOTO L - - LASSOC: Q := P - - DIADIC: IF N>=P RESULTIS A - NEXTSYMB() - A := LIST3(OP, A, REXP(Q)) - GOTO L $)B $)1 - -LET REXPLIST() = VALOF - $(1 LET A = 0 - LET PTR = @A - - $( LET B = REXP(0) - UNLESS SYMB=S.COMMA DO $( !PTR := B - RESULTIS A $) - NEXTSYMB() - !PTR := LIST3(S.COMMA, B, 0) - PTR := @H3!(!PTR) $) REPEAT - $)1 - -LET RDEF() = VALOF - $(1 LET N = RNAMELIST() - - SWITCHON SYMB INTO - - $( CASE S.LPAREN: - $( LET A = 0 - NEXTSYMB() - UNLESS H1!N=S.NAME DO CAEREPORT(40) - IF SYMB=S.NAME DO A := RNAMELIST() - CHECKFOR(S.RPAREN, 41) - - IF SYMB=S.BE DO - $( NEXTSYMB() - RESULTIS LIST5(S.RTDEF, N, A, RCOM(), 0) $) - - IF SYMB=S.EQ DO - $( NEXTSYMB() - RESULTIS LIST5(S.FNDEF, N, A, REXP(0), 0) $) - - CAEREPORT(42) $) - - DEFAULT: CAEREPORT(44) - - CASE S.EQ: - NEXTSYMB() - IF SYMB=S.VEC DO - $( NEXTSYMB() - UNLESS H1!N=S.NAME DO CAEREPORT(43) - RESULTIS LIST3(S.VECDEF, N, REXP(0)) $) - RESULTIS LIST3(S.VALDEF, N, REXPLIST()) $)1 - -. - - -// CAE4 - - - -GET "SYNHDR" - -LET RBCOM() = VALOF - $(1 LET A, B, OP = 0, 0, SYMB - - SWITCHON SYMB INTO - $( DEFAULT: RESULTIS 0 - - CASE S.NAME:CASE S.NUMBER:CASE S.STRING: - CASE S.TRUE:CASE S.FALSE:CASE S.LV:CASE S.RV:CASE S.VECAP: - CASE S.LPAREN: - A := REXPLIST() - - IF SYMB=S.ASS THEN - $( OP := SYMB - NEXTSYMB() - RESULTIS LIST3(OP, A, REXPLIST()) $) - - IF SYMB=S.COLON DO - $( UNLESS H1!A=S.NAME DO CAEREPORT(50) - NEXTSYMB() - RESULTIS LIST4(S.COLON, A, RBCOM(), 0) $) - - IF H1!A=S.FNAP DO - $( H1!A := S.RTAP - RESULTIS A $) - - CAEREPORT(51) - RESULTIS A - - CASE S.GOTO:CASE S.RESULTIS: - NEXTSYMB() - RESULTIS LIST2(OP, REXP(0)) - - CASE S.IF:CASE S.UNLESS: - CASE S.WHILE:CASE S.UNTIL: - NEXTSYMB() - A := REXP(0) - IGNORE(S.DO) - RESULTIS LIST3(OP, A, RCOM()) - - CASE S.TEST: - NEXTSYMB() - A := REXP(0) - IGNORE(S.DO) - B := RCOM() - CHECKFOR(S.OR, 54) - RESULTIS LIST4(S.TEST, A, B, RCOM()) - - CASE S.FOR: - $( LET I, J, K = 0, 0, 0 - NEXTSYMB() - A := RNAME() - CHECKFOR(S.EQ, 57) - I := REXP(0) - CHECKFOR(S.TO, 58) - J := REXP(0) - IF SYMB=S.BY DO $( NEXTSYMB() - K := REXP(0) $) - IGNORE(S.DO) - RESULTIS LIST6(S.FOR, A, I, J, K, RCOM()) $) - - CASE S.LOOP: - CASE S.BREAK:CASE S.RETURN:CASE S.FINISH:CASE S.ENDCASE: - A := WORDNODE - NEXTSYMB() - RESULTIS A - - CASE S.SWITCHON: - NEXTSYMB() - A := REXP(0) - CHECKFOR(S.INTO, 60) - RESULTIS LIST3(S.SWITCHON, A, RDSECT(RDSEQ)) - - CASE S.CASE: - NEXTSYMB() - A := REXP(0) - CHECKFOR(S.COLON, 61) - RESULTIS LIST3(S.CASE, A, RBCOM()) - - CASE S.DEFAULT: - NEXTSYMB() - CHECKFOR(S.COLON, 62) - RESULTIS LIST2(S.DEFAULT, RBCOM()) - - CASE S.LSECT: - RESULTIS RDSECT(RDBLOCKBODY) $)1 - - -AND RCOM() = VALOF - $(1 LET A = RBCOM() - - IF A=0 DO CAEREPORT(51) - - WHILE SYMB=S.REPEAT \/ SYMB=S.REPEATWHILE \/ - SYMB=S.REPEATUNTIL DO - $( LET OP = SYMB - NEXTSYMB() - TEST OP=S.REPEAT - THEN A := LIST2(OP, A) - OR A := LIST3(OP, A, REXP(0)) $) - - RESULTIS A $)1 - -. - -// PLIST - - -GET "SYNHDR" - -LET PLIST(X, N, D) BE - $(1 LET SIZE = 0 - LET V = TABLE 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - IF X=0 DO $( WRITES("NIL"); RETURN $) - - SWITCHON H1!X INTO - $( CASE S.NUMBER: WRITEN(H2!X); RETURN - - CASE S.NAME: WRITES(X+2); RETURN - - CASE S.STRING: WRITEF("*"%S*"", X+1); RETURN - - CASE S.FOR: - SIZE := SIZE + 2 - - CASE S.COND:CASE S.FNDEF:CASE S.RTDEF: - CASE S.TEST:CASE S.CONSTDEF: - SIZE := SIZE + 1 - - CASE S.VECAP:CASE S.FNAP: - CASE S.MULT:CASE S.DIV:CASE S.REM:CASE S.PLUS:CASE S.MINUS: - CASE S.EQ:CASE S.NE:CASE S.LS:CASE S.GR:CASE S.LE:CASE S.GE: - CASE S.LSHIFT:CASE S.RSHIFT:CASE S.LOGAND:CASE S.LOGOR: - CASE S.EQV:CASE S.NEQV:CASE S.COMMA: - CASE S.AND:CASE S.VALDEF:CASE S.VECDEF: - CASE S.ASS:CASE S.RTAP:CASE S.COLON:CASE S.IF:CASE S.UNLESS: - CASE S.WHILE:CASE S.UNTIL:CASE S.REPEATWHILE: - CASE S.REPEATUNTIL: - CASE S.SWITCHON:CASE S.CASE:CASE S.SEQ:CASE S.LET: - CASE S.MANIFEST:CASE S.STATIC:CASE S.GLOBAL: - SIZE := SIZE + 1 - - CASE S.VALOF:CASE S.LV:CASE S.RV:CASE S.NEG:CASE S.NOT: - CASE S.TABLE:CASE S.GOTO:CASE S.RESULTIS:CASE S.REPEAT: - CASE S.DEFAULT: - SIZE := SIZE + 1 - - CASE S.LOOP: - CASE S.BREAK:CASE S.RETURN:CASE S.FINISH:CASE S.ENDCASE: - CASE S.TRUE:CASE S.FALSE:CASE S.QUERY: - DEFAULT: - SIZE := SIZE + 1 - - IF N=D DO $( WRITES("ETC") - RETURN $) - - WRITES ("OP") - WRITEN(H1!X) - FOR I = 2 TO SIZE DO - $( NEWLINE() - FOR J=0 TO N-1 DO WRITES( V!J ) - WRITES("**-") - V!N := I=SIZE->" ","! " - PLIST(H1!(X+I-1), N+1, D) $) - RETURN $)1 diff --git a/Applications/BCPL/syn.i b/Applications/BCPL/syn.i deleted file mode 100644 index e74b9e81..00000000 --- a/Applications/BCPL/syn.i +++ /dev/null @@ -1,402 +0,0 @@ -JL4 -$ 1 LIP2 X4 -$ 2 LL5 AIP2 X1 X4 4 JL7 -$ 6 LIG16 K3 SG196 LIG17 K3 SG194 LIG194 SP5 LIG12 K3 LL499 SP5 LG1 SP6/ - LIG76 K3 LP5 SP3 L5500 SP4 LIP3 SG128 L2 SG282 L0 SG127 L0 SG110 L0 SP/ -26 JL8 9 L0 SP27 LIP26 AIP3 SP28 LIP27 SIP28 LIP26 A1 SP26 8 LIP26 L20 / -X15 TL9 LL498 SP28 LIG42 K26 SG193 L0 LIG193 X10 TL10 L0 SP26 L0 SP27 L/ -IG193 SP30 LIG11 K28 LL497 SP30 LIG60 K28 13 LIG13 K28 SP26 11 L10 LIP2/ -6 X10 TL15 L-1 LIP26 X10 FL14 15 JL16 14 LIP26 SP30 LIG14 K28 L80 LIP26/ - X10 FL17 L1 SP27 17 L84 LIP26 X10 FL18 L2 SP27 18 L67 LIP26 X10 FL19 L/ -3 SP27 19 L77 LIP26 X10 FL20 L4 SP27 20 L78 LIP26 X10 FL21 L5 SP27 21 L/ -65 LIP26 X10 FL22 LIL3 SG190 22 L83 LIP26 X10 FL23 L-1 SG110 23 L69 LIP/ -26 X10 FL24 L-1 SG127 24 L76 LIP26 X10 FL25 LIG70 K28 SP4 LIP4 SP30 LIG/ -62 K28 LIG71 SP26 JIL12 25 L51 LIP26 X10 FL26 L3 SG282 26 L-1 SP28 LIP2/ -7 AIG128 SP29 LIP28 SIP29 JL13 16 LIG63 K28 LIG46 K28 10 L20 SG192 L0 S/ -G191 LIG196 SG193 LIG193 SP28 LIG11 K26 LL496 SP28 LIG41 K26 SG195 L0 L/ -IG195 X10 FL27 LIG194 SG195 27 JL30 -$ 28 LP5 SP4 LIP4 SG100 31 LIP3 AIP2 SG167 LIP2 SG168 LIG150 K69 SP69 L/ -0 LIP69 X10 FL32 JL33 32 LL495 SP72 LIG168 AIP3 LIG167 X9 SP73 LIG76 K7/ -0 L2 AIG128 X1 FL34 LL494 SP72 LIG60 K70 LIP69 SP72 L0 SP73 L20 SP74 LI/ -G152 K70 LIG63 K70 34 L0 LIG191 X10 TL35 L8 SP72 LIG30 K70 35 L3 AIG128/ - X1 TL36 LIG195 SP72 LIG12 K70 LIP69 SP72 LIG245 K70 LIG194 SP72 LIG12 / -K70 36 JL31 33 X4 30 LIL29 SP28 LIP4 SP29 LIG40 K26 LIG46 K26 L4 AIG128/ - X1 FL37 LIG78 K26 37 LL493 SP28 LIG60 K26 L0 LIG191 X10 TL38 L8 SP28 L/ -IG30 K26 38 X22 X4 7 -3 DL2 5 D0 D0 D0 D0 D0 D9 D0 D0 D0 D0 D0 D11 D12 D13 D0 D0 D0 D0 D0 D0 / -D0 D10 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D10 D0 D0 D0 D0 D0 / -D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D32 D0 D/ -91 D93 D0 D0 D0 D0 D0 D0 D0 D46 D60 D40 D43 D124 D38 D0 D0 D0 D0 D0 D0 / -D0 D0 D0 D33 D36 D42 D41 D59 D126 D45 D47 D92 D0 D0 D94 D95 D0 D0 D0 D0/ - D44 D37 D96 D62 D63 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D58 D35 D64 D39 D61 / -D34 D0 D97 D98 D99 D100 D101 D102 D103 D104 D105 D0 D0 D0 D0 D0 D0 D0 D/ -106 D107 D108 D109 D110 D111 D112 D113 D114 D0 D0 D0 D0 D0 D0 D0 D0 D11/ -5 D116 D117 D118 D119 D120 D121 D122 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D/ -0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D65 D66 D67 D68 D69 D70 D71 D72 D73 / -D0 D0 D0 D0 D0 D0 D0 D74 D75 D76 D77 D78 D79 D80 D81 D82 D0 D0 D0 D0 D0/ - D0 D0 D0 D83 D84 D85 D86 D87 D88 D89 D90 D0 D0 D0 D0 D0 D0 D48 D49 D50/ - D51 D52 D53 D54 D55 D56 D57 D0 D0 D0 D0 D0 D0 499 C9 C10 C66 C67 C80 C/ -76 C32 C37 C78 C10 498 C7 C79 C80 C84 C73 C79 C78 C83 12 DL11 497 C9 C7/ -9 C80 C84 C73 C79 C78 C83 C32 C32 496 C5 C79 C67 C79 C68 C69 29 DL28 49/ -5 C14 C10 C84 C82 C69 C69 C32 C83 C73 C90 C69 C32 C37 C78 C10 494 C8 C6/ -5 C69 C32 C84 C82 C69 C69 C10 493 C18 C10 C80 C72 C65 C83 C69 C32 C49 C/ -32 C67 C79 C77 C80 C76 C69 C84 C69 C10 -G190L1 G1L6 -Z -JL6 -$ 1 L0 SG122 11 LIG127 FL13 LIG117 SP4 LIG14 K2 13 JL14 16 17 L1 AIG133/ - SG133 L-1 SG122 18 19 20 LIG126 K2 L32 LIG117 X10 TL18 JIL12 21 22 23 / -24 25 26 27 28 29 30 L1 SG115 L10 SP4 LIL3 K2 X4 31 32 33 34 35 36 37 3/ -8 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 LIG117 SP4 LIG1/ -18 K2 LIG125 K2 SG115 L93 LIG115 X10 FL57 LIG155 K2 JIL12 57 X4 58 LIG1/ -26 K2 L40 LIG117 X10 TL59 L41 LIG117 X10 TL59 L91 SP4 LIG151 K2 59 L40 / -LIG117 X10 FL61 L91 SP2 JL60 61 L92 SP2 60 LIP2 SG115 L36 SP4 LIG118 K2/ - LIG125 K2 X4 62 63 L105 SG115 JIL8 64 65 L106 SG115 JIL8 66 L1 SG115 L/ -IG126 K2 L48 LIG117 X15 FL67 LIG117 L55 X15 FL67 L8 SP4 LIL3 K2 X4 67 L/ -66 LIG117 X10 FL68 LIG126 K2 L2 SP4 LIL3 K2 X4 68 L79 LIG117 X10 FL69 L/ -IG126 K2 L8 SP4 LIL3 K2 X4 69 L88 LIG117 X10 FL70 LIG126 K2 L16 SP4 LIL/ -3 K2 X4 70 L33 SP4 LIG151 K2 71 L16 SG115 JIL8 72 L14 SG115 JIL8 73 L38/ - SG115 JIL8 74 L97 SG115 JIL8 75 L7 SG115 JIL8 76 L33 SG115 JIL8 77 L20/ - SG115 JIL8 78 L9 SG115 JIL8 79 L50 SG115 JIL8 80 L11 SG115 JIL8 81 LIG/ -126 K2 L92 LIG117 X10 FL82 L33 SG115 JIL8 82 L47 LIG117 X10 FL83 JIL10 / -83 L42 LIG117 X10 TL84 L12 SG115 X4 84 LIG126 K2 JL86 85 L42 LIG117 X10/ - FL87 LIG126 K2 L47 LIG117 X10 TL89 JL86 89 LIG126 K2 JIL12 JL88 87 L10/ - LIG117 X10 FL90 L1 AIG133 SG133 90 LIG126 K2 88 86 L-1 LIG117 X10 FL85/ - L63 SP4 LIG151 K2 91 9 LIG126 K2 L10 LIG117 X10 TL92 L-1 LIG117 X10 FL/ -91 92 JIL12 93 LIG126 K2 L124 LIG117 X10 FL94 JIL10 94 L34 SG115 X4 95 / -LIG126 K2 L47 LIG117 X10 FL96 L34 SG115 JIL8 96 L61 LIG117 X10 FL97 L21/ - SG115 JIL8 97 L30 SG115 X4 98 LIG126 K2 L61 LIG117 X10 FL99 L24 SG115 / -JIL8 99 L60 LIG117 X10 FL100 L31 SG115 JIL8 100 L22 SG115 X4 101 LIG126/ - K2 L61 LIG117 X10 FL102 L25 SG115 JIL8 102 L62 LIG117 X10 FL103 L32 SG/ -115 JIL8 103 L23 SG115 X4 104 LIG126 K2 L62 LIG117 X10 FL105 L37 SG115 / -JIL8 105 L15 SG115 X4 106 LIG126 K2 L61 LIG117 X10 FL107 L50 SG115 JIL8/ - 107 L54 SG115 X4 108 109 LIG117 SP2 L0 SG109 110 LIG126 K3 LIP2 LIG117/ - X10 TL112 L255 LIG109 X10 FL111 112 LIP2 LIG117 X10 TL113 L95 SP5 LIG1/ -51 K3 113 L1 LIG109 X10 FL114 L39 LIG117 X10 FL114 L1 SG115 LIG101 SP5 / -LIG190 K3 SG101 JIL8 114 LIG109 SP3 L0 AIG108 SP4 LIP3 SIP4 LIG108 SP5 / -LIG106 SP6 LIG66 K3 SG107 L3 SG115 JIL8 111 L10 LIG117 X10 FL115 L1 AIG/ -133 SG133 115 L42 LIG117 X10 FL116 LIG126 K3 L10 LIG117 X10 FL117 L1 AI/ -G133 SG133 118 LIG126 K3 L32 LIG117 X10 TL118 L9 LIG117 X10 TL118 L42 L/ -IG117 X10 TL119 L34 SP5 LIG151 K3 119 JL110 117 L84 LIG117 X10 FL120 L9/ - SG117 120 L83 LIG117 X10 FL121 L32 SG117 121 L78 LIG117 X10 FL122 L10 / -SG117 122 L66 LIG117 X10 FL123 L0 SG117 123 L80 LIG117 X10 FL124 L12 SG/ -117 124 116 LIG117 SG101 L1 AIG109 SG109 LIG117 SP3 LIG109 AIG108 SP4 L/ -IP3 SIP4 JL110 125 L-1 LIG117 X10 FL126 127 L0 LIG104 X10 FL128 L90 SG1/ -15 X4 128 LIG46 K2 LIG104 L3 X9 SG104 LIG104 AIG103 X1 SG193 LIG193 SP4/ - LIG11 K2 L1 AIG104 AIG103 X1 SG133 L2 AIG104 AIG103 X1 SG117 JIL12 126/ - L32 SG117 L94 SP4 LIG151 K2 LIG126 K2 JIL12 7 LIG126 K2 JL15 14 LIG117/ - X23 D66 DL125 D12 DL16 D10 DL17 D9 DL19 D32 DL20 D48 DL21 D49 DL22 D50/ - DL23 D51 DL24 D52 DL25 D53 DL26 D54 DL27 D55 DL28 D56 DL29 D57 DL30 D6/ -5 DL31 D66 DL32 D67 DL33 D68 DL34 D69 DL35 D70 DL36 D71 DL37 D72 DL38 D/ -73 DL39 D74 DL40 D75 DL41 D76 DL42 D77 DL43 D78 DL44 D79 DL45 D80 DL46 / -D81 DL47 D82 DL48 D83 DL49 D84 DL50 D85 DL51 D86 DL52 D87 DL53 D88 DL54/ - D89 DL55 D90 DL56 D36 DL58 D91 DL62 D40 DL63 D93 DL64 D41 DL65 D35 DL6/ -6 D63 DL71 D43 DL72 D44 DL73 D59 DL74 D64 DL75 D38 DL76 D61 DL77 D33 DL/ -78 D95 DL79 D42 DL80 D47 DL81 D124 DL93 D92 DL95 D60 DL98 D62 DL101 D45/ - DL104 D58 DL106 D39 DL108 D34 DL109 D46 DL127 15 X4 -$ 2 LIG117 SP5 LIL5 K3 SP3 LIP3 SG101 LIP3 LIP2 X13 FL129 L33 SP6 LIG15/ -1 K4 129 130 LIG126 K4 LIG117 SP6 LIL5 K4 SP3 LIP3 LIP2 X13 FL131 X4 13/ -1 LIG101 LIP2 X5 AIP3 SG101 JL130 X4 -$ 4 L48 LIP2 X15 FL133 LIP2 L57 X15 FL133 LIP2 L48 X9 SP3 JL132 133 L65/ - LIP2 X15 FL135 LIP2 L70 X15 FL135 LIP2 L65 X9 A10 SP3 JL134 135 L100 S/ -P3 134 132 LIP3 X4 6 -3 DL2 5 DL4 8 DL7 10 DL9 12 DL11 -G120L1 -Z -JL5 -$ 1 LIP2 SP6 LIG108 SP7 LIG67 K4 LIG108 SP6 LIG106 SP7 LIG66 K4 SG107 L/ -IG125 K4 LIP3 SP4 L0 AIG116 SP5 LIP4 SIP5 X4 -$ 3 LL499 SP4 L40 SP5 LIL2 K2 LL498 SP4 L89 SP5 LIL2 K2 LL497 SP4 L66 S/ -P5 LIL2 K2 LL496 SP4 L100 SP5 LIL2 K2 LL495 SP4 L71 SP5 LIL2 K2 LL494 S/ -P4 L101 SP5 LIL2 K2 LL493 SP4 L72 SP5 LIL2 K2 LL492 SP4 L20 SP5 LIL2 K2/ - LL491 SP4 L35 SP5 LIL2 K2 LL490 SP4 L102 SP5 LIL2 K2 LL489 SP4 L69 SP5/ - LIL2 K2 LL488 SP4 L5 SP5 LIL2 K2 LL487 SP4 L56 SP5 LIL2 K2 LL486 SP4 L/ -68 SP5 LIL2 K2 LL485 SP4 L52 SP5 LIL2 K2 LL484 SP4 L25 SP5 LIL2 K2 LL48/ -3 SP4 L23 SP5 LIL2 K2 LL482 SP4 L76 SP5 LIL2 K2 LL481 SP4 L93 SP5 LIL2 / -K2 LL480 SP4 L57 SP5 LIL2 K2 LL479 SP4 L98 SP5 LIL2 K2 LL478 SP4 L74 SP/ -5 LIL2 K2 LL477 SP4 L7 SP5 LIL2 K2 LL476 SP4 L24 SP5 LIL2 K2 LL475 SP4 / -L22 SP5 LIL2 K2 LL474 SP4 L34 SP5 LIL2 K2 LL473 SP4 L33 SP5 LIL2 K2 LL4/ -72 SP4 L65 SP5 LIL2 K2 LL471 SP4 L31 SP5 LIL2 K2 LL470 SP4 L75 SP5 LIL2/ - K2 LL469 SP4 L21 SP5 LIL2 K2 LL468 SP4 L30 SP5 LIL2 K2 LL467 SP4 L36 S/ -P5 LIL2 K2 LL466 SP4 L102 SP5 LIL2 K2 LL465 SP4 L53 SP5 LIL2 K2 LL464 S/ -P4 L67 SP5 LIL2 K2 LL463 SP4 L13 SP5 LIL2 K2 LL462 SP4 L32 SP5 LIL2 K2 / -LL461 SP4 L8 SP5 LIL2 K2 LL460 SP4 L61 SP5 LIL2 K2 LL459 SP4 L62 SP5 LI/ -L2 K2 LL458 SP4 L63 SP5 LIL2 K2 LL457 SP4 L70 SP5 LIL2 K2 LL456 SP4 L79/ - SP5 LIL2 K2 LL455 SP4 L99 SP5 LIL2 K2 LL454 SP4 L55 SP5 LIL2 K2 LL453 / -SP4 L4 SP5 LIL2 K2 LL452 SP4 L101 SP5 LIL2 K2 LL451 SP4 L39 SP5 LIL2 K2/ - LL450 SP4 L60 SP5 LIL2 K2 LL449 SP4 L58 SP5 LIL2 K2 LL448 SP4 L103 SP5/ - LIL2 K2 LL447 SP4 L6 SP5 LIL2 K2 LL446 SP4 L59 SP5 LIL2 K2 LL445 SP4 L/ -0 SP5 LIL2 K2 LIG116 SG134 X4 -$ 4 L0 AIG106 X1 SP2 LIG107 AIG106 X1 SP3 LIP2 AIP3 L1 X17 LIG149 X7 SP/ -2 LIP2 AIG148 SP3 7 LIP3 X1 SG116 L0 LIG116 X10 TL9 L0 SP4 LIG107 SP5 J/ -L10 11 L2 AIP4 AIG116 X1 SP6 LIP4 AIG106 X1 SP7 LIP6 LIP7 X11 FL12 L1 A/ -IG116 SP3 JIL8 12 LIP4 A1 SP4 10 LIP4 LIP5 X15 TL11 L0 AIG116 X1 JL6 9 / -L2 AIG107 SP6 LIG166 K4 SG116 L2 SP4 L0 AIG116 SP5 LIP4 SIP5 LIP2 AIG14/ -8 X1 SP4 L1 AIG116 SP5 LIP4 SIP5 L0 SP4 LIG107 SP5 JL13 14 LIP4 AIG106 / -X1 SP6 L2 AIP4 AIG116 SP7 LIP6 SIP7 LIP4 A1 SP4 13 LIP4 LIP5 X15 TL14 L/ -IG116 SP4 LIP2 AIG148 SP5 LIP4 SIP5 L2 JL6 6 X4 5 -2 DL1 499 C3 C65 C78 C68 498 C2 C66 C69 497 C5 C66 C82 C69 C65 C75 496 / -C2 C66 C89 495 C4 C67 C65 C83 C69 494 C2 C68 C79 493 C7 C68 C69 C70 C65/ - C85 C76 C84 492 C2 C69 C81 491 C3 C69 C81 C86 490 C4 C69 C76 C83 C69 4/ -89 C7 C69 C78 C68 C67 C65 C83 C69 488 C5 C70 C65 C76 C83 C69 487 C3 C70/ - C79 C82 486 C6 C70 C73 C78 C73 C83 C72 485 C4 C71 C79 C84 C79 484 C2 C/ -71 C69 483 C2 C71 C82 482 C6 C71 C76 C79 C66 C65 C76 481 C3 C71 C69 C84/ - 480 C2 C73 C70 479 C4 C73 C78 C84 C79 478 C3 C76 C69 C84 477 C2 C76 C8/ -6 476 C2 C76 C69 475 C2 C76 C83 474 C5 C76 C79 C71 C79 C82 473 C6 C76 C/ -79 C71 C65 C78 C68 472 C4 C76 C79 C79 C80 471 C6 C76 C83 C72 C73 C70 C8/ -4 470 C8 C77 C65 C78 C73 C70 C69 C83 C84 469 C2 C78 C69 468 C3 C78 C79 / -C84 467 C4 C78 C69 C81 C86 466 C2 C79 C82 465 C8 C82 C69 C83 C85 C76 C8/ -4 C73 C83 464 C6 C82 C69 C84 C85 C82 C78 463 C3 C82 C69 C77 462 C6 C82 / -C83 C72 C73 C70 C84 461 C2 C82 C86 460 C6 C82 C69 C80 C69 C65 C84 459 C/ -11 C82 C69 C80 C69 C65 C84 C87 C72 C73 C76 C69 458 C11 C82 C69 C80 C69 / -C65 C84 C85 C78 C84 C73 C76 457 C8 C83 C87 C73 C84 C67 C72 C79 C78 456 / -C6 C83 C84 C65 C84 C73 C67 455 C2 C84 C79 454 C4 C84 C69 C83 C84 453 C4/ - C84 C82 C85 C69 452 C4 C84 C72 C69 C78 451 C5 C84 C65 C66 C76 C69 450 / -C5 C85 C78 C84 C73 C76 449 C6 C85 C78 C76 C69 C83 C83 448 C3 C86 C69 C6/ -7 447 C5 C86 C65 C76 C79 C70 446 C5 C87 C72 C73 C76 C69 445 C1 C36 8 DL/ -7 -G121L3 G125L4 -Z -JL9 -$ 1 LIG13 K2 SG117 LIG110 FL10 L0 LIG104 X10 FL11 L-1 LIG117 X11 FL11 L/ -IG111 LIG133 X10 TL12 LL499 SP4 LIG133 SP5 LIG76 K2 LIG133 SG111 12 LIG/ -117 SP4 LIG14 K2 11 10 L1 AIG132 SG132 LIG117 SP2 L63 LIG132 X18 AIG100/ - SP3 LIP2 SIP3 X4 -$ 2 LL498 SP4 LIG60 K2 LIG132 L63 X9 SP2 LIG132 SP3 JL13 14 L63 LIP2 X1/ -8 AIG100 X1 SP4 L0 LIP4 X10 TL15 LIP4 SP7 LIG14 K5 15 LIP2 A1 SP2 13 LI/ -P2 LIP3 X15 TL14 LIG63 K2 X4 -$ 3 L1 SG109 LIP2 SP3 L1 AIG108 SP4 LIP3 SIP4 16 LIG126 K3 L65 LIG117 X/ -15 FL18 LIG117 L90 X15 TL17 18 L48 LIG117 X15 FL19 LIG117 L57 X15 TL17 / -19 L46 LIG117 X10 TL17 JL20 17 L1 AIG109 SG109 LIG117 SP3 LIG109 AIG108/ - SP4 LIP3 SIP4 JL16 20 LIG109 SP3 L0 AIG108 SP4 LIP3 SIP4 LIG108 SP5 LI/ -G106 SP6 LIG66 K3 SG107 X4 -$ 4 LIG120 K2 L3 LIG115 X10 TL21 L97 SP4 LIG151 K2 21 L5 AIG128 X1 FL22/ - X4 22 LIG193 SP2 LIG104 AIG103 SP3 LIP2 SIP3 LIG133 SP2 L1 AIG104 AIG1/ -03 SP3 LIP2 SIP3 LIG117 SP2 L2 AIG104 AIG103 SP3 LIP2 SIP3 L3 AIG104 SG/ -104 L1 SG133 LIG106 SP4 LIG42 K2 SG193 L0 LIG193 X10 FL23 LIG106 SP4 LI/ -L8 K2 SG193 23 L0 LIG193 X10 FL24 L96 SP4 LIG106 SP5 LIG151 K2 24 LIG19/ -3 SP4 LIG11 K2 LIG126 K2 X4 -$ 5 LIP2 SP6 L0 SP7 LIG85 K4 SP4 LIP3 SP7 L0 SP8 LIG85 K5 SP5 L1 SP6 LI/ -P5 SP7 JL25 26 L1 AIP4 SP4 LIP2 SP10 LIP4 SP11 LIP3 SP14 LIP6 SP15 LIG8/ -5 K12 SP12 LIG86 K8 LIP6 A1 SP6 25 LIP6 LIP7 X15 TL26 LIP2 SP8 L0 SP9 L/ -IP4 SP10 LIG86 K6 X4 -$ 7 LP5 SP3 LL497 SP4 LIP4 SP72 L0 SP73 LIG85 K70 SP70 LIP2 SP73 L0 SP7/ -4 LIG85 K71 SP71 LIP70 AIP71 L255 X14 FL28 L0 JL27 JL29 28 LIP3 SP72 L0/ - SP73 L0 SP74 LIG86 K70 LIP3 SP72 LIP4 SP73 LIL6 K70 LIP3 SP72 LIP2 SP7/ -3 LIL6 K70 LIP3 SP72 LIG42 K70 JL27 29 27 X4 9 -6 DL5 8 DL7 499 C5 C37 C73 C52 C32 C32 498 C4 C10 C46 C46 C46 497 C23 C/ -47 C117 C115 C114 C47 C108 C111 C99 C97 C108 C47 C108 C105 C98 C47 C98 / -C99 C112 C108 C107 C105 C116 C47 -G126L1 G131L2 G118L3 G155L4 -Z -JL12 -$ 1 LIG167 LIP2 X9 L1 X9 SG167 LIG167 LIG168 X15 FL14 L0 SG192 L98 SP5 / -LIG151 K3 14 LIG167 JL13 13 X4 -$ 2 L0 SP5 LIG166 K3 SP3 LIP2 SP4 L0 AIP3 SP5 LIP4 SIP5 LIP3 JL15 15 X4/ - -$ 3 L1 SP6 LIG166 K4 SP4 LIP2 SP5 L0 AIP4 SP6 LIP5 SIP6 LIP3 SP5 L1 AIP/ -4 SP6 LIP5 SIP6 LIP4 JL16 16 X4 -$ 4 L2 SP7 LIG166 K5 SP5 LIP2 SP6 L0 AIP5 SP7 LIP6 SIP7 LIP3 SP6 L1 AIP/ -5 SP7 LIP6 SIP7 LIP4 SP6 L2 AIP5 SP7 LIP6 SIP7 LIP5 JL17 17 X4 -$ 5 L3 SP8 LIG166 K6 SP6 LIP2 SP7 L0 AIP6 SP8 LIP7 SIP8 LIP3 SP7 L1 AIP/ -6 SP8 LIP7 SIP8 LIP4 SP7 L2 AIP6 SP8 LIP7 SIP8 LIP5 SP7 L3 AIP6 SP8 LIP/ -7 SIP8 LIP6 JL18 18 X4 -$ 6 L4 SP9 LIG166 K7 SP7 LIP2 SP8 L0 AIP7 SP9 LIP8 SIP9 LIP3 SP8 L1 AIP/ -7 SP9 LIP8 SIP9 LIP4 SP8 L2 AIP7 SP9 LIP8 SIP9 LIP5 SP8 L3 AIP7 SP9 LIP/ -8 SIP9 LIP6 SP8 L4 AIP7 SP9 LIP8 SIP9 LIP7 JL19 19 X4 -$ 7 L5 SP10 LIG166 K8 SP8 LIP2 SP9 L0 AIP8 SP10 LIP9 SIP10 LIP3 SP9 L1 / -AIP8 SP10 LIP9 SIP10 LIP4 SP9 L2 AIP8 SP10 LIP9 SIP10 LIP5 SP9 L3 AIP8 / -SP10 LIP9 SIP10 LIP6 SP9 L4 AIP8 SP10 LIP9 SIP10 LIP7 SP9 L5 AIP8 SP10 / -LIP9 SIP10 LIP8 JL20 20 X4 -$ 8 L1 AIG191 SG191 LL499 SP6 LIG133 SP7 LIG76 K4 LIP2 SP6 LIP3 SP7 LIL/ -11 K4 LIG131 K4 LIG191 LIG192 X14 FL21 LL498 SP6 LIG60 K4 L8 SP6 LIG30 / -K4 21 L0 SG122 JL23 22 LIG120 K4 23 L91 LIG115 X10 TL24 L92 LIG115 X10 / -TL24 L74 LIG115 X10 TL24 L40 LIG115 X10 TL24 L90 LIG115 X10 TL24 LIG122/ - FL22 24 LIG135 SP6 LIG136 SP7 LIG32 K4 X4 -$ 9 L0 SG132 L0 SP2 JL26 27 L0 SP3 LIP2 AIG100 SP4 LIP3 SIP4 LIP2 A1 SP/ -2 26 LIP2 L63 X15 TL27 LP3 SP2 LIP2 SG103 L0 SG104 L10 SG105 LP15 SP14 / -LIP14 SG106 LP117 SP116 LIP116 SG108 L0 SG109 LP375 SP374 LIP374 SG148 / -L100 SG149 L0 SP476 JL30 31 L0 SP477 LIP476 AIG148 SP478 LIP477 SIP478 / -LIP476 A1 SP476 30 LIP476 L100 X15 TL31 LIG31 K476 SG135 LIL29 SG136 L1/ - SG133 L0 SG111 LIG126 K476 L-1 LIG117 X10 FL32 L0 JL25 32 LIG121 K476 / -28 LIG120 K476 L1 AIG128 X1 FL33 LL497 SP478 LIG115 SP479 LIG106 SP480 / -LIG76 K476 L90 LIG115 X10 FL34 L0 JL25 34 JIL29 33 LIG140 K476 SP476 L9/ -0 LIG115 X10 TL35 L99 SP479 LIG151 K477 JIL29 35 LIP476 JL25 25 X4 -$ 10 JL37 39 LIP2 SP6 LIG62 K4 X4 40 LL496 JL36 41 LL495 JL36 42 LL494 / -JL36 43 LL493 JL36 44 LL492 JL36 45 LL491 JL36 46 LL490 JL36 47 48 49 L/ -L489 JL36 50 LL488 JL36 51 LL487 JL36 52 LL486 JL36 53 LL485 JL36 54 LL/ -484 JL36 55 LL483 JL36 56 57 58 LL482 JL36 59 LL481 JL36 60 LL480 JL36 / -61 LL479 JL36 62 LL478 JL36 63 LL477 JL36 64 LL476 JL36 65 LL475 JL36 6/ -6 LL474 JL36 67 LL473 JL36 68 69 LL472 JL36 70 LL471 JL36 JL38 37 LIP2 / -X23 D31 DL39 D91 DL40 D94 DL41 D95 DL42 D96 DL43 D97 DL44 D98 DL45 D99 / -DL46 D8 DL47 D40 DL48 D43 DL49 D6 DL50 D7 DL51 D9 DL52 D32 DL53 D33 DL5/ -4 D34 DL55 D15 DL56 D19 DL57 D41 DL58 D30 DL59 D42 DL60 D44 DL61 D50 DL/ -62 D51 DL63 D54 DL64 D57 DL65 D58 DL66 D60 DL67 D61 DL68 D62 DL69 D63 D/ -L70 38 36 SP4 LIP4 SP7 LIP3 SP8 LIG76 K5 X4 12 -11 DL10 499 C29 C10 C83 C89 C78 C84 C65 C88 C32 C69 C82 C82 C79 C82 C32/ - C78 C69 C65 C82 C32 C76 C73 C78 C69 C32 C37 C78 C58 C32 C32 498 C21 C1/ -0 C67 C79 C77 C80 C73 C76 C65 C84 C73 C79 C78 C32 C65 C66 C79 C82 C84 C/ -69 C68 C10 29 DL28 497 C6 C37 C78 C32 C37 C83 C10 496 C24 C39 C56 C39 C/ -32 C32 C39 C40 C39 C32 C79 C82 C32 C39 C41 C39 C32 C69 C88 C80 C69 C67 / -C84 C69 C68 495 C17 C73 C76 C76 C69 C71 C65 C76 C32 C67 C72 C65 C82 C65/ - C67 C84 C69 C82 494 C15 C83 C84 C82 C73 C78 C71 C32 C84 C79 C79 C32 C7/ -6 C79 C78 C71 493 C11 C78 C79 C32 C73 C78 C80 C85 C84 C32 C37 C83 492 C/ -25 C83 C84 C82 C73 C78 C71 C32 C79 C82 C32 C78 C85 C77 C66 C69 C82 C32 / -C69 C88 C80 C69 C67 C84 C69 C68 491 C17 C80 C82 C79 C71 C82 C65 C77 C32/ - C84 C79 C79 C32 C76 C65 C82 C71 C69 490 C21 C73 C78 C67 C79 C82 C82 C6/ -9 C67 C84 C32 C84 C69 C82 C77 C73 C78 C65 C84 C73 C79 C78 489 C13 C78 C/ -65 C77 C69 C32 C69 C88 C80 C69 C67 C84 C69 C68 488 C13 C39 C36 C40 C39 / -C32 C69 C88 C80 C69 C67 C84 C69 C68 487 C13 C39 C36 C41 C39 C32 C69 C88/ - C80 C69 C67 C84 C69 C68 486 C22 C85 C78 C84 C65 C71 C71 C69 C68 C32 C3/ -9 C36 C41 C39 C32 C77 C73 C83 C77 C65 C84 C67 C72 485 C19 C69 C82 C82 C/ -79 C82 C32 C73 C78 C32 C69 C88 C80 C82 C69 C83 C83 C73 C79 C78 484 C15 / -C69 C82 C82 C79 C82 C32 C73 C78 C32 C78 C85 C77 C66 C69 C82 483 C10 C66/ - C65 C68 C32 C83 C84 C82 C73 C78 C71 482 C11 C39 C41 C39 C32 C77 C73 C8/ -3 C83 C73 C78 C71 481 C11 C39 C44 C39 C32 C77 C73 C83 C83 C73 C78 C71 4/ -80 C20 C39 C61 C39 C32 C79 C82 C32 C39 C66 C69 C39 C32 C69 C88 C80 C69 / -C67 C84 C69 C68 479 C19 C39 C61 C39 C32 C79 C82 C32 C39 C40 C39 C32 C69/ - C88 C80 C69 C67 C84 C69 C68 478 C14 C69 C82 C82 C79 C82 C32 C73 C78 C3/ -2 C76 C65 C66 C69 C76 477 C16 C69 C82 C82 C79 C82 C32 C73 C78 C32 C67 C/ -79 C77 C77 C65 C78 C68 476 C13 C39 C79 C82 C39 C32 C69 C88 C80 C69 C67 / -C84 C69 C68 475 C12 C39 C61 C39 C32 C69 C88 C80 C69 C67 C84 C69 C68 474/ - C13 C39 C84 C79 C39 C32 C69 C88 C80 C69 C67 C84 C69 C68 473 C15 C39 C7/ -3 C78 C84 C79 C39 C32 C69 C88 C80 C69 C67 C84 C69 C68 472 C12 C39 C58 C/ -39 C32 C69 C88 C80 C69 C67 C84 C69 C68 471 C12 C39 C42 C47 C39 C32 C77 / -C73 C83 C83 C73 C78 C71 -G166L1 G161L2 G162L3 G163L4 G164L5 G165L6 G169L7 G151L8 G150L9 -Z -JL9 -$ 1 LIG135 SP2 LIG136 SP3 L0 SP4 LIG31 K5 SG135 LIL14 SG136 L97 SP7 LIG/ -154 K5 JL15 17 18 19 LIG115 SP5 LIG120 K6 LIG147 SP8 LIG141 K6 SP4 LIP5/ - SP8 LIP4 SP9 LIG140 K10 SP10 LIG163 K6 SP4 JIL12 20 LIG120 K5 LIG145 K/ -5 SP4 13 JL22 21 LIG120 K5 L40 SP7 LIP4 SP8 LIG145 K9 SP9 LIG163 K5 SP4/ - 22 L40 LIG115 X10 TL21 L74 SP7 LIP4 SP8 LIG140 K9 SP9 LIG163 K5 SP4 JI/ -L12 23 LIG157 K5 SP4 L92 LIG115 X10 TL24 L90 LIG115 X10 TL24 L51 SP7 LI/ -G151 K5 24 25 26 11 LIP2 SG135 LIP3 SG136 LIP4 JL10 JL16 15 LIG115 X23 / -D6 DL23 D75 DL17 D79 DL18 D76 DL19 D74 DL20 D92 DL25 D90 DL26 16 10 X4 -$ 2 L0 SP2 L97 SP5 LIG154 K3 LIG146 K3 SP2 L92 LIG115 X10 TL29 L90 LIG1/ -15 X10 FL28 29 LIP2 JL27 28 L73 SP5 LIP2 SP6 LIG157 K7 SP7 LIG163 K3 JL/ -27 27 X4 -$ 3 L0 SP2 L0 SP3 LP2 SP4 LIG135 SP5 LIG136 SP6 LIG31 K7 SG135 LIL32 SG/ -136 33 LIG143 K7 SP3 L20 LIG115 X10 TL36 L54 LIG115 X10 FL34 36 LIG120 / -K7 JL35 34 L45 SP9 LIG151 K7 35 L43 SP9 L0 SP10 LIP3 SP11 L0 SP14 LIG14/ -4 K12 SP12 LIG164 K7 SIP4 LIP4 X1 A1 SP4 31 L97 SP9 LIG154 K7 L2 LIG115/ - X10 TL33 LIP5 SG135 LIP6 SG136 LIP2 JL30 30 X4 -$ 4 LIG116 SP3 L0 SP4 L91 SP7 L6 SP8 LIG153 K5 LIP2 K5 SP4 L92 LIG115 X/ -10 TL38 L7 SP7 LIG151 K5 38 LIG116 LIP3 X10 FL39 LIG120 K5 JL40 39 LIG1/ -34 LIG116 X10 FL41 L0 SG115 L9 SP7 LIG151 K5 41 40 LIP4 JL37 37 X4 -$ 5 LIG143 K2 SP2 L38 LIG115 X10 TL43 LIP2 JL42 43 LIG120 K3 L38 SP5 LI/ -P2 SP6 LIG142 K7 SP7 LIG163 K3 JL42 42 X4 -$ 6 LIG116 SP2 L2 SP5 L8 SP6 LIG153 K3 LIP2 JL44 44 X4 -$ 7 LIP2 LIG115 X10 FL45 LIG120 K3 45 X4 -$ 8 LIP2 LIG115 X10 TL46 LIP3 SP6 LIG151 K4 46 LIG120 K4 X4 9 -12 DL11 14 DL13 32 DL31 -G140L1 G157L2 G147L3 G141L4 G142L5 G143L6 G154L7 G153L8 -Z -JL4 -$ 1 L0 SP2 LIG115 SP3 JL6 8 L32 SP6 LIG151 K4 9 LIG120 K4 L16 SP6 LIG16/ -1 K4 JL5 10 11 12 LIG116 SP2 LIG120 K4 LIP2 JL5 13 L1 AIG107 SP6 LIG166/ - K4 SP2 L3 SP4 L0 AIP2 SP5 LIP4 SIP5 L0 SP4 LIG107 SP5 JL14 15 LIP4 AIG/ -106 X1 SP6 L1 AIP4 AIP2 SP7 LIP6 SIP7 LIP4 A1 SP4 14 LIP4 LIP5 X15 TL15/ - LIG120 K4 LIP2 JL5 16 L1 SP6 LIG101 SP7 LIG162 K4 SP2 LIG120 K4 LIP2 J/ -L5 17 LIG120 K4 L0 SP6 LIG144 K4 SP2 L106 SP6 L15 SP7 LIG153 K4 LIP2 JL/ -5 18 LIG120 K4 L6 SP6 LIG146 K7 SP7 LIG162 K4 JL5 19 L8 SP3 20 21 LIG12/ -0 K4 LIP3 SP6 L35 SP9 LIG144 K7 SP7 LIG162 K4 JL5 22 LIG120 K4 L34 SP6 / -LIG144 K4 JL5 23 LIG120 K4 L34 SP6 LIG144 K4 SP2 LIP2 A0 X1 L1 X10 FL24/ - LIP2 A1 X1 X2 SP4 LIP2 A1 SP5 LIP4 SIP5 JL25 24 L17 SP6 LIP2 SP7 LIG16/ -2 K4 SP2 25 LIP2 JL5 26 LIG120 K4 L30 SP6 L24 SP9 LIG144 K7 SP7 LIG162 / -K4 JL5 27 LIG120 K4 L39 SP6 LIG156 K7 SP7 LIG162 K4 JL5 JL7 6 LIG115 X2/ -3 D15 DL8 D16 DL9 D4 DL10 D5 DL11 D2 DL12 D3 DL13 D1 DL16 D105 DL17 D6 / -DL18 D9 DL19 D7 DL20 D8 DL21 D14 DL22 D15 DL23 D30 DL26 D39 DL27 7 5 X4/ - -$ 3 LIL2 K3 SP3 L0 SP4 L0 SP5 L0 SP6 L0 SP7 29 LIG115 SP8 LIG122 FL35 L/ -IP3 JL28 35 JL36 38 LIP3 JL28 39 LIG120 K9 L0 SP4 L106 LIG115 X10 TL40 / -LIG156 K9 SP4 40 L106 SP11 L19 SP12 LIG153 K9 L10 SP11 LIP3 SP12 LIP4 S/ -P13 LIG163 K9 SP3 JIL30 41 L40 SP6 JIL34 42 43 44 L35 SP6 JIL34 45 46 L/ -34 SP6 JIL34 47 48 49 50 51 52 LIP2 L30 X13 FL53 LIP3 JL28 53 54 LIG120/ - K9 L30 SP11 LIG144 K9 SP4 LIP8 SP11 LIP3 SP12 LIP4 SP13 LIG163 K9 SP3 / -L0 LIP5 X10 FL55 LIP3 SP5 JL56 55 L33 SP11 LIP5 SP12 LIP3 SP13 LIG163 K/ -9 SP5 56 LIP4 SP3 LIG115 SP8 L20 LIP8 X15 FL57 LIP8 L25 X15 TL54 57 LIP/ -5 SP3 JIL30 58 59 L25 SP6 L30 SP7 JIL32 60 L23 SP6 JIL34 61 L22 SP6 JIL/ -34 62 63 L21 SP6 JIL34 64 LIP2 L13 X13 FL65 LIP3 JL28 65 LIG120 K9 L0 S/ -P11 LIG144 K9 SP4 L38 SP11 L30 SP12 LIG153 K9 L37 SP11 LIP3 SP12 LIP4 S/ -P13 L0 SP16 LIG144 K14 SP14 LIG164 K9 SP3 JIL30 33 LIP6 SP7 31 LIP2 LIP/ -6 X13 FL66 LIP3 JL28 66 LIG120 K9 LIP8 SP11 LIP3 SP12 LIP7 SP15 LIG144 / -K13 SP13 LIG163 K9 SP3 JIL30 JL37 36 LIP8 X23 D20 DL38 D105 DL39 D9 DL4/ -1 D13 DL42 D11 DL43 D12 DL44 D14 DL45 D15 DL46 D20 DL47 D21 DL48 D24 DL/ -49 D25 DL50 D22 DL51 D23 DL52 D31 DL58 D32 DL59 D33 DL60 D34 DL61 D35 D/ -L62 D36 DL63 D37 DL64 37 28 X4 4 JL68 -$ 67 L0 SP2 LP2 SP3 70 L0 SP6 LIG144 K4 SP4 L38 LIG115 X10 TL71 LIP4 SI/ -P3 LIP2 JL69 71 LIG120 K5 L38 SP7 LIP4 SP8 L0 SP9 LIG163 K5 SIP3 LIP3 X/ -1 A2 SP3 JL70 69 X4 68 JL73 -$ 72 LIG142 K2 SP2 JL75 77 L0 SP3 LIG120 K4 LIP2 A0 X1 L2 X10 TL78 L40 / -SP6 LIG151 K4 78 L2 LIG115 X10 FL79 LIG142 K4 SP3 79 L106 SP6 L41 SP7 L/ -IG153 K4 L89 LIG115 X10 FL80 LIG120 K4 L45 SP6 LIP2 SP7 LIP3 SP8 LIG146/ - K9 SP9 L0 SP10 LIG165 K4 JL74 80 L20 LIG115 X10 FL81 LIG120 K4 L44 SP6/ - LIP2 SP7 LIP3 SP8 L0 SP11 LIG144 K9 SP9 L0 SP10 LIG165 K4 JL74 81 L42 / -SP6 LIG151 K4 82 L44 SP5 LIG151 K3 83 LIG120 K3 L103 LIG115 X10 FL84 LI/ -G120 K3 LIP2 A0 X1 L2 X10 TL85 L43 SP5 LIG151 K3 85 L42 SP5 LIP2 SP6 L0/ - SP9 LIG144 K7 SP7 LIG163 K3 JL74 84 L41 SP5 LIP2 SP6 LIG156 K7 SP7 LIG/ -163 K3 JL74 JL76 75 LIG115 X23 D2 DL82 D105 DL77 D20 DL83 76 74 X4 73 -2 DL1 30 DL29 32 DL31 34 DL33 -G144L3 G156L67 G145L72 -Z -JL4 -$ 1 L0 SP2 L0 SP3 LIG115 SP4 JL6 8 L0 JL5 9 10 11 12 13 14 15 16 17 LIG/ -156 K5 SP2 L50 LIG115 X10 FL18 LIG115 SP4 LIG120 K5 LIP4 SP7 LIP2 SP8 L/ -IG156 K9 SP9 LIG163 K5 JL5 18 L54 LIG115 X10 FL19 LIP2 A0 X1 L2 X10 TL2/ -0 L50 SP7 LIG151 K5 20 LIG120 K5 L54 SP7 LIP2 SP8 LIL2 K9 SP9 L0 SP10 L/ -IG164 K5 JL5 19 LIP2 A0 X1 L10 X10 FL21 L51 SP5 LIP2 A0 SP6 LIP5 SIP6 L/ -IP2 JL5 21 L51 SP7 LIG151 K5 LIP2 JL5 22 23 LIG120 K5 LIP4 SP7 L0 SP10 / -LIG144 K8 SP8 LIG162 K5 JL5 24 25 26 27 LIG120 K5 L0 SP7 LIG144 K5 SP2 / -L101 SP7 LIG154 K5 LIP4 SP7 LIP2 SP8 LIG146 K9 SP9 LIG163 K5 JL5 28 LIG/ -120 K5 L0 SP7 LIG144 K5 SP2 L101 SP7 LIG154 K5 LIG146 K5 SP3 L102 SP7 L/ -54 SP8 LIG153 K5 L55 SP7 LIP2 SP8 LIP3 SP9 LIG146 K10 SP10 LIG164 K5 JL/ -5 29 L0 SP5 L0 SP6 L0 SP7 LIG120 K8 LIG143 K8 SP2 L20 SP10 L57 SP11 LIG/ -153 K8 L0 SP10 LIG144 K8 SP5 L99 SP10 L58 SP11 LIG153 K8 L0 SP10 LIG144/ - K8 SP6 L100 LIG115 X10 FL30 LIG120 K8 L0 SP10 LIG144 K8 SP7 30 L101 SP/ -10 LIG154 K8 L56 SP10 LIP2 SP11 LIP5 SP12 LIP6 SP13 LIP7 SP14 LIG146 K1/ -5 SP15 LIG169 K8 JL5 31 32 33 34 35 LIG116 SP2 LIG120 K5 LIP2 JL5 36 LI/ -G120 K5 L0 SP7 LIG144 K5 SP2 L98 SP7 L60 SP8 LIG153 K5 L70 SP7 LIP2 SP8/ - LIG157 SP11 LIG141 K9 SP9 LIG163 K5 JL5 37 LIG120 K5 L0 SP7 LIG144 K5 / -SP2 L54 SP7 L61 SP8 LIG153 K5 L71 SP7 LIP2 SP8 LIL2 K9 SP9 LIG163 K5 JL/ -5 38 LIG120 K5 L54 SP7 L62 SP8 LIG153 K5 L72 SP7 LIL2 K8 SP8 LIG162 K5 / -JL5 39 LIG140 SP7 LIG141 K5 JL5 JL7 6 LIG115 X23 D26 DL8 D2 DL9 D1 DL10/ - D3 DL11 D4 DL12 D5 DL13 D7 DL14 D8 DL15 D9 DL16 D105 DL17 D52 DL22 D53/ - DL23 D57 DL24 D58 DL25 D59 DL26 D60 DL27 D55 DL28 D56 DL29 D65 DL31 D6/ -6 DL32 D67 DL33 D68 DL34 D69 DL35 D70 DL36 D71 DL37 D72 DL38 D91 DL39 7/ - 5 X4 -$ 3 LIL2 K2 SP2 L0 LIP2 X10 FL41 L51 SP5 LIG151 K3 41 JL43 42 LIG115 SP/ -3 LIG120 K4 L61 LIP3 X10 FL44 LIP3 SP6 LIP2 SP7 LIG162 K4 SP2 JL45 44 L/ -IP3 SP6 LIP2 SP7 L0 SP10 LIG144 K8 SP8 LIG163 K4 SP2 45 43 L61 LIG115 X/ -10 TL42 L62 LIG115 X10 TL42 L63 LIG115 X10 TL42 LIP2 JL40 40 X4 4 -2 DL1 -G146L3 -Z -JL2 -$ 1 L0 SP5 LL3 SP6 L0 LIP2 X10 FL4 LL499 SP9 LIG60 K7 X4 4 JL5 7 LIP2 A/ -1 X1 SP9 LIG62 K7 X4 8 L2 AIP2 SP9 LIG60 K7 X4 9 LL498 SP9 L1 AIP2 SP10/ - LIG76 K7 X4 10 L2 AIP5 SP5 11 12 13 14 15 L1 AIP5 SP5 16 17 18 19 20 2/ -1 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 / -45 46 47 48 49 50 51 52 53 54 L1 AIP5 SP5 55 56 57 58 59 60 61 62 63 64/ - L1 AIP5 SP5 65 66 67 68 69 70 71 72 73 L1 AIP5 SP5 LIP4 LIP3 X10 FL74 / -LL497 SP9 LIG60 K7 X4 74 LL496 SP9 LIG60 K7 LIP2 A0 X1 SP9 LIG62 K7 L2 / -SP7 LIP5 SP8 JL75 76 LIG63 K9 L0 SP9 LIP3 L1 X9 SP10 JL77 78 LIP9 AIP6 / -X1 SP13 LIG60 K11 LIP9 A1 SP9 77 LIP9 LIP10 X15 TL78 LL495 SP11 LIG60 K/ -9 LIP5 LIP7 X10 FL80 LL494 SP9 JL79 80 LL493 SP9 79 LIP3 AIP6 SP10 LIP9/ - SIP10 LIP7 AIP2 L1 X9 A0 X1 SP11 L1 AIP3 SP12 LIP4 SP13 LIG152 K9 LIP7/ - A1 SP7 75 LIP7 LIP8 X15 TL76 X4 JL6 5 LIP2 A0 X1 X23 D66 DL73 D1 DL7 D/ -2 DL8 D3 DL9 D56 DL10 D37 DL11 D44 DL12 D45 DL13 D55 DL14 D43 DL15 D9 D/ -L16 D10 DL17 D11 DL18 D12 DL19 D13 DL20 D14 DL21 D15 DL22 D20 DL23 D21 / -DL24 D22 DL25 D23 DL26 D24 DL27 D25 DL28 D31 DL29 D32 DL30 D33 DL31 D34/ - DL32 D35 DL33 D36 DL34 D38 DL35 D40 DL36 D41 DL37 D42 DL38 D50 DL39 D5/ -1 DL40 D54 DL41 D57 DL42 D58 DL43 D59 DL44 D60 DL45 D62 DL46 D63 DL47 D/ -70 DL48 D71 DL49 D73 DL50 D74 DL51 D75 DL52 D79 DL53 D76 DL54 D6 DL55 D/ -7 DL56 D8 DL57 D17 DL58 D30 DL59 D39 DL60 D52 DL61 D53 DL62 D61 DL63 D7/ -2 DL64 D65 DL65 D66 DL66 D67 DL67 D68 DL68 D69 DL69 D4 DL70 D5 DL71 D16/ - DL72 6 X4 2 -3 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 499 C3 C7/ -8 C73 C76 498 C4 C34 C37 C83 C34 497 C3 C69 C84 C67 496 C2 C79 C80 495 / -C2 C42 C45 494 C2 C32 C32 493 C2 C33 C32 -G152L1 -Z diff --git a/Applications/BCPL/trn.b b/Applications/BCPL/trn.b deleted file mode 100644 index 3e6ef83b..00000000 --- a/Applications/BCPL/trn.b +++ /dev/null @@ -1,940 +0,0 @@ -// $Id: trn.bcpl,v 1.1 2004/12/09 20:29:37 rn Exp $ - -// TRN0 - -GET "TRNHDR" - -LET NEXTPARAM() = VALOF - $( PARAMNUMBER := PARAMNUMBER + 1 - RESULTIS PARAMNUMBER $) - -AND TRANSREPORT(N, X) BE - $( SELECTOUTPUT(SYSPRINT) - REPORTCOUNT := REPORTCOUNT + 1 - IF REPORTCOUNT GE REPORTMAX DO - $( WRITES("*NCOMPILATION ABORTED*N") - STOP(8) $) - WRITES("*NREPORT: "); TRNMESSAGE(N) - WRITEF("*NCOMMANDS COMPILED %N*N", COMCOUNT) - PLIST(X, 0, 4); NEWLINE() - SELECTOUTPUT(OCODE) $) - -AND TRNMESSAGE(N) BE -$( LET S = VALOF - SWITCHON N INTO - - $( DEFAULT: WRITEF("COMPILER ERROR %N", N); RETURN - - CASE 141: RESULTIS "TOO MANY CASES" - CASE 104: RESULTIS "ILLEGAL USE OF BREAK, LOOP OR RESULTIS" - CASE 101: - CASE 105: RESULTIS "ILLEGAL USE OF CASE OR DEFAULT" - CASE 106: RESULTIS "TWO CASES WITH SAME CONSTANT" - CASE 144: RESULTIS "TOO MANY GLOBALS" - CASE 142: RESULTIS "NAME DECLARED TWICE" - CASE 143: RESULTIS "TOO MANY NAMES DECLARED" - CASE 115: RESULTIS "NAME NOT DECLARED" - CASE 116: RESULTIS "DYNAMIC FREE VARIABLE USED" - CASE 117:CASE 118:CASE 119: - RESULTIS "ERROR IN CONSTANT EXPRESSION" - CASE 110:CASE 112: - RESULTIS "LHS AND RHS DO NOT MATCH" - CASE 109:CASE 113: - RESULTIS "LTYPE EXPRESSION EXPECTED" - $) - - WRITES(S) $) - - -LET COMPILEAE(X) BE - $(1 LET A = VEC 1200 - LET D = VEC 100 - LET K = VEC 150 - LET L = VEC 150 - - DVEC, DVECS, DVECE, DVECP, DVECT := A, 3, 3, 3, 1200 - DVEC!0, DVEC!1, DVEC!2 := 0, 0, 0 - - GLOBDECL, GLOBDECLS, GLOBDECLT := D, 0, 100 - - CASEK, CASEL, CASEP, CASET, CASEB := K, L, 0, 150, -1 - ENDCASELABEL, DEFAULTLABEL := 0, 0 - - RESULTLABEL, BREAKLABEL, LOOPLABEL := -1, -1, -1 - - COMCOUNT, CURRENTBRANCH := 0, X - - OCOUNT := 0 - - PARAMNUMBER := 0 - SSP := SAVESPACESIZE - OUT2(S.STACK, SSP) - DECLLABELS(X) - TRANS(X) - OUT2(S.GLOBAL, GLOBDECLS/2) - - $( LET I = 0 - UNTIL I=GLOBDECLS DO - $( OUTN(GLOBDECL!I) - OUTL(GLOBDECL!(I+1)) - I := I + 2 $) - - ENDOCODE() $)1 - -. - -// TRN1 - - -GET "TRNHDR" - -LET TRANS(X) BE - $(TR -NEXT: - $( LET SW = FALSE - IF X=0 RETURN - CURRENTBRANCH := X - - SWITCHON H1!X INTO -$( DEFAULT: TRANSREPORT(100, X); RETURN - - CASE S.LET: - $( LET A, B, S, S1 = DVECE, DVECS, SSP, 0 - LET V = VECSSP - DECLNAMES(H2!X) - CHECKDISTINCT(B, DVECS) - DVECE := DVECS - VECSSP, S1 := SSP, SSP - SSP := S - TRANSDEF(H2!X) - UNLESS SSP=S1 DO TRANSREPORT(110, X) - UNLESS SSP=VECSSP DO $( SSP := VECSSP - OUT2(S.STACK, SSP) $) - OUT1(S.STORE) - DECLLABELS(H3!X) - TRANS(H3!X) - VECSSP := V - UNLESS SSP=S DO OUT2(S.STACK, S) - DVECE, DVECS, SSP := A, B, S - RETURN $) - - CASE S.STATIC: - CASE S.GLOBAL: - CASE S.MANIFEST: - $(1 LET A, B, S = DVECE, DVECS, SSP - AND OP = H1!X - AND Y = H2!X - - IF OP=S.MANIFEST DO OP := S.NUMBER - - UNTIL Y=0 DO - $( TEST OP=S.STATIC THEN - $( LET M = NEXTPARAM() - ADDNAME(H3!Y, S.LABEL, M) - COMPDATALAB(M) - OUT2(S.ITEMN, EVALCONST(H4!Y)) $) - - OR ADDNAME(H3!Y, OP, EVALCONST(H4!Y)) - - Y := H2!Y - DVECE := DVECS $) - - DECLLABELS(H3!X) - TRANS(H3!X) - DVECE, DVECS, SSP := A, B, S - RETURN $)1 - - - CASE S.ASS: - ASSIGN(H2!X, H3!X) - RETURN - - CASE S.RTAP: - $( LET S = SSP - SSP := SSP+SAVESPACESIZE - OUT2(S.STACK, SSP) - LOADLIST(H3!X) - LOAD(H2!X) - OUT2(S.RTAP, S) - SSP := S - RETURN $) - - CASE S.GOTO: - LOAD(H2!X) - OUT1(S.GOTO) - SSP := SSP-1 - RETURN - - CASE S.COLON: - COMPLAB(H4!X) - TRANS(H3!X) - RETURN - - CASE S.UNLESS: SW := TRUE - CASE S.IF: - $( LET L = NEXTPARAM() - JUMPCOND(H2!X, SW, L) - TRANS(H3!X) - COMPLAB(L) - RETURN $) - - CASE S.TEST: - $( LET L, M = NEXTPARAM(), NEXTPARAM() - JUMPCOND(H2!X, FALSE, L) - TRANS(H3!X) - COMPJUMP(M) - COMPLAB(L) - TRANS(H4!X) - COMPLAB(M) - RETURN $) - - CASE S.LOOP: - IF LOOPLABEL<0 DO TRANSREPORT(104, X) - IF LOOPLABEL=0 DO LOOPLABEL := NEXTPARAM() - COMPJUMP(LOOPLABEL) - RETURN - - CASE S.BREAK: - IF BREAKLABEL<0 DO TRANSREPORT(104, X) - IF BREAKLABEL=0 DO BREAKLABEL := NEXTPARAM() - COMPJUMP(BREAKLABEL) - RETURN - - CASE S.RETURN: OUT1(S.RTRN) - RETURN - - CASE S.FINISH: OUT1(S.FINISH) - RETURN - - CASE S.RESULTIS: - IF RESULTLABEL<0 DO TRANSREPORT(104, X) - LOAD(H2!X) - OUT2P(S.RES, RESULTLABEL) - SSP := SSP - 1 - RETURN - - CASE S.WHILE: SW := TRUE - CASE S.UNTIL: - $( LET L, M = NEXTPARAM(), NEXTPARAM() - LET BL, LL = BREAKLABEL, LOOPLABEL - BREAKLABEL, LOOPLABEL := 0, M - - COMPJUMP(M) - COMPLAB(L) - TRANS(H3!X) - COMPLAB(M) - JUMPCOND(H2!X, SW, L) - UNLESS BREAKLABEL=0 DO COMPLAB(BREAKLABEL) - BREAKLABEL, LOOPLABEL := BL, LL - RETURN $) - - CASE S.REPEATWHILE: SW := TRUE - CASE S.REPEATUNTIL: - CASE S.REPEAT: - $( LET L, BL, LL = NEXTPARAM(), BREAKLABEL, LOOPLABEL - BREAKLABEL, LOOPLABEL := 0, 0 - COMPLAB(L) - TEST H1!X=S.REPEAT - THEN $( LOOPLABEL := L - TRANS(H2!X) - COMPJUMP(L) $) - OR $( TRANS(H2!X) - UNLESS LOOPLABEL=0 DO COMPLAB(LOOPLABEL) - JUMPCOND(H3!X, SW, L) $) - UNLESS BREAKLABEL=0 DO COMPLAB(BREAKLABEL) - BREAKLABEL, LOOPLABEL := BL, LL - RETURN $) - - CASE S.CASE: - $( LET L, K = NEXTPARAM(), EVALCONST(H2!X) - IF CASEP>=CASET DO TRANSREPORT(141, X) - IF CASEB<0 DO TRANSREPORT(105, X) - FOR I = CASEB TO CASEP-1 DO - IF CASEK!I=K DO TRANSREPORT(106, X) - CASEK!CASEP := K - CASEL!CASEP := L - CASEP := CASEP + 1 - COMPLAB(L) - TRANS(H3!X) - RETURN $) - - CASE S.DEFAULT: - IF CASEB<0 DO TRANSREPORT(105, X) - UNLESS DEFAULTLABEL=0 DO TRANSREPORT(101, X) - DEFAULTLABEL := NEXTPARAM() - COMPLAB(DEFAULTLABEL) - TRANS(H2!X) - RETURN - - CASE S.ENDCASE: IF CASEB<0 DO TRANSREPORT(105, X) - COMPJUMP(ENDCASELABEL) - RETURN - - CASE S.SWITCHON: - TRANSSWITCH(X) - RETURN - - CASE S.FOR: TRANSFOR(X) - RETURN - - CASE S.SEQ: - TRANS(H2!X) - COMCOUNT := COMCOUNT + 1 - X := H3!X - GOTO NEXT $)TR -. - -// TRN2 - - -GET "TRNHDR" - -LET DECLNAMES(X) BE UNLESS X=0 SWITCHON H1!X INTO - - $( DEFAULT: TRANSREPORT(102, CURRENTBRANCH) - RETURN - - CASE S.VECDEF: CASE S.VALDEF: - DECLDYN(H2!X) - RETURN - - CASE S.RTDEF: CASE S.FNDEF: - H5!X := NEXTPARAM() - DECLSTAT(H2!X, H5!X) - RETURN - - CASE S.AND: - DECLNAMES(H2!X) - DECLNAMES(H3!X) - RETURN $) - - -AND DECLDYN(X) BE UNLESS X=0 DO - - $( IF H1!X=S.NAME DO - $( ADDNAME(X, S.LOCAL, SSP) - SSP := SSP + 1 - RETURN $) - - IF H1!X=S.COMMA DO - $( ADDNAME(H2!X, S.LOCAL, SSP) - SSP := SSP + 1 - DECLDYN(H3!X) - RETURN $) - - TRANSREPORT(103, X) $) - -AND DECLSTAT(X, L) BE - $(1 LET T = CELLWITHNAME(X) - - IF DVEC!(T+1)=S.GLOBAL DO - $( LET N = DVEC!(T+2) - ADDNAME(X, S.GLOBAL, N) - IF GLOBDECLS>=GLOBDECLT DO TRANSREPORT(144, X) - GLOBDECL!GLOBDECLS := N - GLOBDECL!(GLOBDECLS+1) := L - GLOBDECLS := GLOBDECLS + 2 - RETURN $) - - - $( LET M = NEXTPARAM() - ADDNAME(X, S.LABEL, M) - COMPDATALAB(M) - OUT2P(S.ITEML, L) $)1 - - -AND DECLLABELS(X) BE - $( LET B = DVECS - SCANLABELS(X) - CHECKDISTINCT(B, DVECS) - DVECE := DVECS $) - - -AND CHECKDISTINCT(E, S) BE - UNTIL E=S DO - $( LET P = E + 3 - AND N = DVEC!E - WHILE P=DVECT DO TRANSREPORT(143, CURRENTBRANCH) - DVEC!DVECS, DVEC!(DVECS+1), DVEC!(DVECS+2) := N, P, A - DVECS := DVECS + 3 $) - - -AND CELLWITHNAME(N) = VALOF - $( LET X = DVECE - - X := X - 3 REPEATUNTIL X=0 \/ DVEC!X=N - - RESULTIS X $) - - -AND SCANLABELS(X) BE UNLESS X=0 SWITCHON H1!X INTO - - $( DEFAULT: RETURN - - CASE S.COLON: - H4!X := NEXTPARAM() - DECLSTAT(H2!X, H4!X) - - CASE S.IF: CASE S.UNLESS: CASE S.WHILE: CASE S.UNTIL: - CASE S.SWITCHON: CASE S.CASE: - SCANLABELS(H3!X) - RETURN - - CASE S.SEQ: - SCANLABELS(H3!X) - - CASE S.REPEAT: - CASE S.REPEATWHILE: CASE S.REPEATUNTIL: CASE S.DEFAULT: - SCANLABELS(H2!X) - RETURN - - CASE S.TEST: - SCANLABELS(H3!X) - SCANLABELS(H4!X) - RETURN $) - - -AND TRANSDEF(X) BE - $(1 TRANSDYNDEFS(X) - IF STATDEFS(X) DO - $( LET L, S= NEXTPARAM(), SSP - COMPJUMP(L) - TRANSSTATDEFS(X) - SSP := S - OUT2(S.STACK, SSP) - COMPLAB(L) $)1 - - -AND TRANSDYNDEFS(X) BE - SWITCHON H1!X INTO - $( CASE S.AND: - TRANSDYNDEFS(H2!X) - TRANSDYNDEFS(H3!X) - RETURN - - CASE S.VECDEF: - OUT2(S.LLP, VECSSP) - SSP := SSP + 1 - VECSSP := VECSSP + 1 + EVALCONST(H3!X) - RETURN - - CASE S.VALDEF: LOADLIST(H3!X) - RETURN - - DEFAULT: RETURN $) - -AND TRANSSTATDEFS(X) BE - SWITCHON H1!X INTO - $( CASE S.AND: - TRANSSTATDEFS(H2!X) - TRANSSTATDEFS(H3!X) - RETURN - - CASE S.FNDEF: CASE S.RTDEF: - $(2 LET A, B, C = DVECE, DVECS, DVECP - AND BL, LL = BREAKLABEL, LOOPLABEL - AND RL, CB = RESULTLABEL, CASEB - BREAKLABEL, LOOPLABEL := -1, -1 - RESULTLABEL, CASEB := -1, -1 - - COMPENTRY(H2!X, H5!X) - SSP := SAVESPACESIZE - - DVECP := DVECS - DECLDYN(H3!X) - CHECKDISTINCT(B, DVECS) - DVECE := DVECS - DECLLABELS(H4!X) - - OUT2(S.SAVE, SSP) - - TEST H1!X=S.FNDEF - THEN $( LOAD(H4!X); OUT1(S.FNRN) $) - OR $( TRANS(H4!X); OUT1(S.RTRN) $) - - OUT2(S.ENDPROC, 0) - - BREAKLABEL, LOOPLABEL := BL, LL - RESULTLABEL, CASEB := RL, CB - DVECE, DVECS, DVECP := A, B, C $)2 - - DEFAULT: RETURN $) - -AND STATDEFS(X) = H1!X=S.FNDEF \/ H1!X=S.RTDEF -> TRUE, - H1!X NE S.AND -> FALSE, - STATDEFS(H2!X) -> TRUE, - STATDEFS(H3!X) - - -. - -// TRN3 - - -GET "TRNHDR" - -LET JUMPCOND(X, B, L) BE -$(JC LET SW = B - SWITCHON H1!X INTO - $( CASE S.FALSE: B := NOT B - CASE S.TRUE: IF B DO COMPJUMP(L) - RETURN - - CASE S.NOT: JUMPCOND(H2!X, NOT B, L) - RETURN - - CASE S.LOGAND: SW := NOT SW - CASE S.LOGOR: - TEST SW THEN $( JUMPCOND(H2!X, B, L) - JUMPCOND(H3!X, B, L) $) - - OR $( LET M = NEXTPARAM() - JUMPCOND(H2!X, NOT B, M) - JUMPCOND(H3!X, B, L) - COMPLAB(M) $) - - RETURN - - DEFAULT: LOAD(X) - OUT2P(B -> S.JT, S.JF, L) - SSP := SSP - 1 - RETURN $)JC - -AND TRANSSWITCH(X) BE - $(1 LET P, B, DL = CASEP, CASEB, DEFAULTLABEL - AND ECL = ENDCASELABEL - LET L = NEXTPARAM() - ENDCASELABEL := NEXTPARAM() - CASEB := CASEP - - COMPJUMP(L) - DEFAULTLABEL := 0 - TRANS(H3!X) - COMPJUMP(ENDCASELABEL) - - COMPLAB(L) - LOAD(H2!X) - IF DEFAULTLABEL=0 DO DEFAULTLABEL := ENDCASELABEL - OUT3P(S.SWITCHON, CASEP-P, DEFAULTLABEL) - - FOR I = CASEB TO CASEP-1 DO $( OUTN(CASEK!I) - OUTL(CASEL!I) $) - - SSP := SSP - 1 - COMPLAB(ENDCASELABEL) - ENDCASELABEL := ECL - CASEP, CASEB, DEFAULTLABEL := P, B, DL $)1 - -AND TRANSFOR(X) BE - $( LET A, B = DVECE, DVECS - LET L, M = NEXTPARAM(), NEXTPARAM() - LET BL, LL = BREAKLABEL, LOOPLABEL - LET K, N = 0, 0 - LET STEP = 1 - LET S = SSP - BREAKLABEL, LOOPLABEL := 0, 0 - - ADDNAME(H2!X, S.LOCAL, S) - DVECE := DVECS - LOAD(H3!X) - - TEST H1!(H4!X)=S.NUMBER - THEN K, N := S.LN, H2!(H4!X) - OR $( K, N := S.LP, SSP - LOAD(H4!X) $) - - UNLESS H5!X=0 DO STEP := EVALCONST(H5!X) - - OUT1(S.STORE) - COMPJUMP(L) - DECLLABELS(H6!X) - COMPLAB(M) - TRANS(H6!X) - UNLESS LOOPLABEL=0 DO COMPLAB(LOOPLABEL) - OUT2(S.LP, S); OUT2(S.LN, STEP); OUT1(S.PLUS); OUT2(S.SP, S) - COMPLAB(L) - OUT2(S.LP, S); OUT2(K, N); OUT1(STEP<0 -> S.GE, S.LE) - OUT2P(S.JT, M) - - UNLESS BREAKLABEL=0 DO COMPLAB(BREAKLABEL) - BREAKLABEL, LOOPLABEL, SSP := BL, LL, S - OUT2(S.STACK, SSP) - DVECE, DVECS := A, B $) - -. - -// TRN4 - - -GET "TRNHDR" - -LET LOAD(X) BE - $(1 IF X=0 DO $( TRANSREPORT(148, CURRENTBRANCH) - LOADZERO() - RETURN $) - - $( LET OP = H1!X - - SWITCHON OP INTO - $( DEFAULT: TRANSREPORT(147, CURRENTBRANCH) - LOADZERO() - RETURN - - CASE S.DIV: CASE S.REM: CASE S.MINUS: - CASE S.LS: CASE S.GR: CASE S.LE: CASE S.GE: - CASE S.LSHIFT: CASE S.RSHIFT: - LOAD(H2!X) - LOAD(H3!X) - OUT1(OP) - SSP := SSP - 1 - RETURN - - CASE S.VECAP: CASE S.MULT: CASE S.PLUS: CASE S.EQ: CASE S.NE: - CASE S.LOGAND: CASE S.LOGOR: CASE S.EQV: CASE S.NEQV: - $( LET A, B = H2!X, H3!X - IF H1!A=S.NAME \/ H1!A=S.NUMBER DO - A, B := H3!X, H2!X - LOAD(A) - LOAD(B) - IF OP=S.VECAP DO $( OUT1(S.PLUS); OP := S.RV $) - OUT1(OP) - SSP := SSP - 1 - RETURN $) - - CASE S.NEG: CASE S.NOT: CASE S.RV: - LOAD(H2!X) - OUT1(OP) - RETURN - - CASE S.TRUE: CASE S.FALSE: CASE S.QUERY: - OUT1(OP) - SSP := SSP + 1 - RETURN - - CASE S.LV: LOADLV(H2!X) - RETURN - - CASE S.NUMBER: - OUT2(S.LN, H2!X) - SSP := SSP + 1 - RETURN - - CASE S.STRING: - $( LET S = @H2!X - OUT2(S.LSTR, GETBYTE(S, 0)) - FOR I = 1 TO GETBYTE(S, 0) DO OUTC(GETBYTE(S, I)) - WRC('*S') - SSP := SSP + 1 - RETURN $) - - CASE S.NAME: - TRANSNAME(X, S.LP, S.LG, S.LL, S.LN) - SSP := SSP + 1 - RETURN - - CASE S.VALOF: - $( LET RL = RESULTLABEL - LET A, B = DVECS, DVECE - DECLLABELS(H2!X) - RESULTLABEL := NEXTPARAM() - TRANS(H2!X) - COMPLAB(RESULTLABEL) - OUT2(S.RSTACK, SSP) - SSP := SSP + 1 - DVECS, DVECE := A, B - RESULTLABEL := RL - RETURN $) - - - CASE S.FNAP: - $( LET S = SSP - SSP := SSP + SAVESPACESIZE - OUT2(S.STACK, SSP) - LOADLIST(H3!X) - LOAD(H2!X) - OUT2(S.FNAP, S) - SSP := S + 1 - RETURN $) - - CASE S.COND: - $( LET L, M = NEXTPARAM(), NEXTPARAM() - LET S = SSP - JUMPCOND(H2!X, FALSE, M) - LOAD(H3!X) - COMPJUMP(L) - SSP := S; OUT2(S.STACK, SSP) - COMPLAB(M) - LOAD(H4!X) - COMPLAB(L) - RETURN $) - - CASE S.TABLE: - $( LET M = NEXTPARAM() - COMPDATALAB(M) - X := H2!X - WHILE H1!X=S.COMMA DO - $( OUT2(S.ITEMN, EVALCONST(H2!X)) - X := H3!X $) - OUT2(S.ITEMN, EVALCONST(X)) - OUT2P(S.LLL, M) - SSP := SSP + 1 - RETURN $) $)1 - - -AND LOADLV(X) BE - $(1 IF X=0 GOTO ERR - - SWITCHON H1!X INTO - $( DEFAULT: - ERR: TRANSREPORT(113, CURRENTBRANCH) - LOADZERO() - RETURN - - CASE S.NAME: - TRANSNAME(X, S.LLP, S.LLG, S.LLL, 0) - SSP := SSP + 1 - RETURN - - CASE S.RV: - LOAD(H2!X) - RETURN - - CASE S.VECAP: - $( LET A, B = H2!X, H3!X - IF H1!A=S.NAME DO A, B := H3!X, H2!X - LOAD(A) - LOAD(B) - OUT1(S.PLUS) - SSP := SSP - 1 - RETURN $) $)1 - -AND LOADZERO() BE $( OUT2(S.LN, 0) - SSP := SSP + 1 $) - -AND LOADLIST(X) BE UNLESS X=0 DO - $( UNLESS H1!X=S.COMMA DO $( LOAD(X); RETURN $) - - LOADLIST(H2!X) - LOADLIST(H3!X) $) -. - -// TRN5 - - -GET "TRNHDR" - -LET EVALCONST(X) = VALOF - $(1 IF X=0 DO $( TRANSREPORT(117, CURRENTBRANCH) - RESULTIS 0 $) - - SWITCHON H1!X INTO - $( DEFAULT: TRANSREPORT(118, X) - RESULTIS 0 - - CASE S.NAME: - $( LET T = CELLWITHNAME(X) - IF DVEC!(T+1)=S.NUMBER RESULTIS DVEC!(T+2) - TRANSREPORT(119, X) - RESULTIS 0 $) - - CASE S.NUMBER: RESULTIS H2!X - CASE S.TRUE: RESULTIS TRUE - CASE S.FALSE: RESULTIS FALSE - - CASE S.NEG: RESULTIS - EVALCONST(H2!X) - - CASE S.MULT: RESULTIS EVALCONST(H2!X) * EVALCONST(H3!X) - CASE S.DIV: RESULTIS EVALCONST(H2!X) / EVALCONST(H3!X) - CASE S.PLUS: RESULTIS EVALCONST(H2!X) + EVALCONST(H3!X) - CASE S.MINUS:RESULTIS EVALCONST(H2!X) - EVALCONST(H3!X) - $)1 - - -AND ASSIGN(X, Y) BE - $(1 IF X=0 \/ Y=0 DO - $( TRANSREPORT(110, CURRENTBRANCH) - RETURN $) - - SWITCHON H1!X INTO - $( CASE S.COMMA: - UNLESS H1!Y=S.COMMA DO - $( TRANSREPORT(112, CURRENTBRANCH) - RETURN $) - ASSIGN(H2!X, H2!Y) - ASSIGN(H3!X, H3!Y) - RETURN - - CASE S.NAME: - LOAD(Y) - TRANSNAME(X, S.SP, S.SG, S.SL, 0) - SSP := SSP - 1 - RETURN - - CASE S.RV: CASE S.VECAP: CASE S.COND: - LOAD(Y) - LOADLV(X) - OUT1(S.STIND) - SSP := SSP - 2 - RETURN - - DEFAULT: TRANSREPORT(109, CURRENTBRANCH) $)1 - - -AND TRANSNAME(X, P, G, L, N) BE - $(1 LET T = CELLWITHNAME(X) - LET K, A = DVEC!(T+1), DVEC!(T+2) - - IF T=0 DO $( TRANSREPORT(115, X) - OUT2(G, 2) - RETURN $) - - SWITCHON K INTO - $( CASE S.LOCAL: IF T62 /\ CH='*S' DO - $( WRCH('*N'); OCOUNT := 0; RETURN $) - WRCH(CH) $) diff --git a/Applications/BCPL/trn.i b/Applications/BCPL/trn.i deleted file mode 100644 index 69a9bca2..00000000 --- a/Applications/BCPL/trn.i +++ /dev/null @@ -1,341 +0,0 @@ -JL5 -$ 1 L1 AIG244 SG244 LIG244 JL6 6 X4 -$ 2 LIG194 SP6 LIG12 K4 L1 AIG191 SG191 LIG191 LIG192 X13 FL7 LL499 SP6/ - LIG60 K4 L8 SP6 LIG30 K4 7 LL498 SP6 LIG60 K4 LIP2 SP6 LIL4 K4 LL497 S/ -P6 LIG288 SP7 LIG76 K4 LIP3 SP6 L0 SP7 L4 SP8 LIG152 K4 LIG63 K4 LIG195/ - SP6 LIG12 K4 X4 -$ 3 JL9 11 LL496 SP5 LIP2 SP6 LIG76 K3 X4 12 LL495 JL8 13 LL494 JL8 14 / -15 LL493 JL8 16 LL492 JL8 17 LL491 JL8 18 LL490 JL8 19 LL489 JL8 20 LL4/ -88 JL8 21 LL487 JL8 22 23 24 LL486 JL8 25 26 LL485 JL8 27 28 LL484 JL8 / -JL10 9 LIP2 X23 D17 DL11 D141 DL12 D104 DL13 D101 DL14 D105 DL15 D106 D/ -L16 D144 DL17 D142 DL18 D143 DL19 D115 DL20 D116 DL21 D117 DL22 D118 DL/ -23 D119 DL24 D110 DL25 D112 DL26 D109 DL27 D113 DL28 10 8 SP3 LIP3 SP6 / -LIG60 K4 X4 5 JL30 -$ 29 LP4 SP3 LP1206 SP1205 LP1308 SP1307 LP1460 SP1459 LIP3 SG260 L3 SG/ -261 L3 SG262 L3 SG263 L1200 SG264 L0 SP1611 L0 AIG260 SP1612 LIP1611 SI/ -P1612 L0 SP1611 L1 AIG260 SP1612 LIP1611 SIP1612 L0 SP1611 L2 AIG260 SP/ -1612 LIP1611 SIP1612 LIP1205 SG285 L0 SG286 L100 SG287 LIP1307 SG265 LI/ -P1459 SG266 L0 SG267 L150 SG268 L-1 SG269 L0 SG274 L0 SG273 L-1 SG272 L/ --1 SG271 L-1 SG275 L0 SG288 LIP2 SG270 L0 SG251 L0 SG244 LIG282 SG280 L/ -91 SP1613 LIG280 SP1614 LIG291 K1611 LIP2 SP1613 LIG209 K1611 LIP2 SP16/ -13 LIG200 K1611 L76 SP1613 LIG286 L2 X6 SP1614 LIG291 K1611 L0 SP1611 J/ -L32 31 LIP1611 AIG285 X1 SP1614 LIG295 K1612 L1 AIP1611 AIG285 X1 SP161/ -4 LIG296 K1612 L2 AIP1611 SP1611 32 LIG286 LIP1611 X10 FL31 LIG252 K161/ -2 X4 30 -4 DL3 499 C21 C10 C67 C79 C77 C80 C73 C76 C65 C84 C73 C79 C78 C32 C65 C/ -66 C79 C82 C84 C69 C68 C10 498 C11 C10 C82 C69 C80 C79 C82 C84 C58 C32 / -C32 C32 497 C22 C10 C67 C79 C77 C77 C65 C78 C68 C83 C32 C67 C79 C77 C80/ - C73 C76 C69 C68 C32 C37 C78 C10 496 C18 C67 C79 C77 C80 C73 C76 C69 C8/ -2 C32 C69 C82 C82 C79 C82 C32 C32 C37 C78 495 C14 C84 C79 C79 C32 C77 C/ -65 C78 C89 C32 C67 C65 C83 C69 C83 494 C38 C73 C76 C76 C69 C71 C65 C76 / -C32 C85 C83 C69 C32 C79 C70 C32 C66 C82 C69 C65 C75 C44 C32 C76 C79 C79/ - C80 C32 C79 C82 C32 C82 C69 C83 C85 C76 C84 C73 C83 493 C30 C73 C76 C7/ -6 C69 C71 C65 C76 C32 C85 C83 C69 C32 C79 C70 C32 C67 C65 C83 C69 C32 C/ -79 C82 C32 C68 C69 C70 C65 C85 C76 C84 492 C28 C84 C87 C79 C32 C67 C65 / -C83 C69 C83 C32 C87 C73 C84 C72 C32 C83 C65 C77 C69 C32 C67 C79 C78 C83/ - C84 C65 C78 C84 491 C16 C84 C79 C79 C32 C77 C65 C78 C89 C32 C71 C76 C7/ -9 C66 C65 C76 C83 490 C19 C78 C65 C77 C69 C32 C68 C69 C67 C76 C65 C82 C/ -69 C68 C32 C84 C87 C73 C67 C69 489 C23 C84 C79 C79 C32 C77 C65 C78 C89 / -C32 C78 C65 C77 C69 C83 C32 C68 C69 C67 C76 C65 C82 C69 C68 488 C17 C78/ - C65 C77 C69 C32 C78 C79 C84 C32 C68 C69 C67 C76 C65 C82 C69 C68 487 C2/ -6 C68 C89 C78 C65 C77 C73 C67 C32 C70 C82 C69 C69 C32 C86 C65 C82 C73 C/ -65 C66 C76 C69 C32 C85 C83 C69 C68 486 C28 C69 C82 C82 C79 C82 C32 C73 / -C78 C32 C67 C79 C78 C83 C84 C65 C78 C84 C32 C69 C88 C80 C82 C69 C83 C83/ - C73 C79 C78 485 C24 C76 C72 C83 C32 C65 C78 C68 C32 C82 C72 C83 C32 C6/ -8 C79 C32 C78 C79 C84 C32 C77 C65 C84 C67 C72 484 C25 C76 C84 C89 C80 C/ -69 C32 C69 C88 C80 C82 C69 C83 C83 C73 C79 C78 C32 C69 C88 C80 C69 C67 / -C84 C69 C68 -G243L1 G210L2 G245L29 -Z -JL2 -$ 1 3 L0 SP3 L0 LIP2 X10 FL5 X4 5 LIP2 SG270 JL6 8 L100 SP6 LIP2 SP7 LI/ -G210 K4 X4 9 LIG262 SP4 LIG261 SP5 LIG280 SP6 L0 SP7 LIG281 SP8 LIP2 A1/ - X1 SP11 LIG201 K9 LIP5 SP11 LIG261 SP12 LIG204 K9 LIG261 SG262 LIG280 / -SG281 LIG280 SP7 LIP6 SG280 LIP2 A1 X1 SP11 LIG207 K9 LIP7 LIG280 X10 T/ -L10 L110 SP11 LIP2 SP12 LIG210 K9 10 LIG281 LIG280 X10 TL11 LIG281 SG28/ -0 L91 SP11 LIG280 SP12 LIG291 K9 11 L92 SP11 LIG290 K9 LIP2 A2 X1 SP11 / -LIG209 K9 LIP2 A2 X1 SP11 LIG200 K9 LIP8 SG281 LIP6 LIG280 X10 TL12 L91/ - SP11 LIP6 SP12 LIG291 K9 12 LIP4 SG262 LIP5 SG261 LIP6 SG280 X4 13 14 / -15 LIG262 SP4 LIG261 SP5 LIG280 SP6 LIP2 A0 X1 SP7 LIP2 A1 X1 SP8 L75 L/ -IP7 X10 FL16 L1 SP7 16 JL18 17 L79 LIP7 X10 FL19 LIG243 K9 SP9 LIP8 A2 / -X1 SP12 L78 SP13 LIP9 SP14 LIG205 K10 LIP9 SP12 LIG234 K10 L102 SP12 LI/ -P8 A3 X1 SP15 LIG235 K13 SP13 LIG291 K10 JL20 19 LIP8 A2 X1 SP11 LIP7 S/ -P12 LIP8 A3 X1 SP15 LIG235 K13 SP13 LIG205 K9 20 LIP8 A1 X1 SP8 LIG261 / -SG262 18 L0 LIP8 X10 FL17 LIP2 A2 X1 SP11 LIG209 K9 LIP2 A2 X1 SP11 LIG/ -200 K9 LIP4 SG262 LIP5 SG261 LIP6 SG280 X4 21 LIP2 A1 X1 SP6 LIP2 A2 X1/ - SP7 LIG230 K4 X4 22 LIG280 SP4 LIG282 AIG280 SG280 L91 SP7 LIG280 SP8 / -LIG291 K5 LIP2 A2 X1 SP7 LIG233 K5 LIP2 A1 X1 SP7 LIG231 K5 L51 SP7 LIP/ -4 SP8 LIG291 K5 LIP4 SG280 X4 23 LIP2 A1 X1 SP6 LIG231 K4 L52 SP6 LIG29/ -0 K4 LIG280 L1 X9 SG280 X4 24 LIP2 A3 X1 SP6 LIG240 K4 LIP2 A2 X1 SP6 L/ -IG200 K4 X4 25 L-1 SP3 26 LIG243 K4 SP4 LIP2 A1 X1 SP7 LIP3 SP8 LIP4 SP/ -9 LIG220 K5 LIP2 A2 X1 SP7 LIG200 K5 LIP4 SP7 LIG240 K5 X4 27 LIG243 K4/ - SP4 LIG243 K5 SP5 LIP2 A1 X1 SP8 L0 SP9 LIP4 SP10 LIG220 K6 LIP2 A2 X1/ - SP8 LIG200 K6 LIP5 SP8 LIG241 K6 LIP4 SP8 LIG240 K6 LIP2 A3 X1 SP8 LIG/ -200 K6 LIP5 SP8 LIG240 K6 X4 28 LIG275 L0 X12 FL29 L104 SP6 LIP2 SP7 LI/ -G210 K4 29 L0 LIG275 X10 FL30 LIG243 K4 SG275 30 LIG275 SP6 LIG241 K4 X/ -4 31 LIG271 L0 X12 FL32 L104 SP6 LIP2 SP7 LIG210 K4 32 L0 LIG271 X10 FL/ -33 LIG243 K4 SG271 33 LIG271 SP6 LIG241 K4 X4 34 L97 SP6 LIG290 K4 X4 3/ -5 L68 SP6 LIG290 K4 X4 36 LIG272 L0 X12 FL37 L104 SP6 LIP2 SP7 LIG210 K/ -4 37 LIP2 A1 X1 SP6 LIG231 K4 L98 SP6 LIG272 SP7 LIG292 K4 LIG280 L1 X9/ - SG280 X4 38 L-1 SP3 39 LIG243 K4 SP4 LIG243 K5 SP5 LIG271 SP6 LIG275 S/ -P7 L0 SG271 LIP5 SG275 LIP5 SP10 LIG241 K8 LIP4 SP10 LIG240 K8 LIP2 A2 / -X1 SP10 LIG200 K8 LIP5 SP10 LIG240 K8 LIP2 A1 X1 SP10 LIP3 SP11 LIP4 SP/ -12 LIG220 K8 L0 LIG271 X10 TL40 LIG271 SP10 LIG240 K8 40 LIP6 SG271 LIP/ -7 SG275 X4 41 L-1 SP3 42 43 LIG243 K4 SP4 LIG271 SP5 LIG275 SP6 L0 SG27/ -1 L0 SG275 LIP4 SP9 LIG240 K7 LIP2 A0 X1 L61 X10 FL44 LIP4 SG275 LIP2 A/ -1 X1 SP9 LIG200 K7 LIP4 SP9 LIG241 K7 JL45 44 LIP2 A1 X1 SP9 LIG200 K7 / -L0 LIG275 X10 TL46 LIG275 SP9 LIG240 K7 46 LIP2 A2 X1 SP9 LIP3 SP10 LIP/ -4 SP11 LIG220 K7 45 L0 LIG271 X10 TL47 LIG271 SP9 LIG240 K7 47 LIP5 SG2/ -71 LIP6 SG275 X4 48 LIG243 K4 SP4 LIP2 A1 X1 SP7 LIG235 K5 SP5 LIG267 L/ -IG268 X13 FL49 L141 SP8 LIP2 SP9 LIG210 K6 49 LIG269 L0 X12 FL50 L105 S/ -P8 LIP2 SP9 LIG210 K6 50 LIG269 SP6 LIG267 L1 X9 SP7 JL51 52 LIP6 AIG26/ -5 X1 LIP5 X10 FL53 L106 SP10 LIP2 SP11 LIG210 K8 53 LIP6 A1 SP6 51 LIP6/ - LIP7 X15 TL52 LIP5 SP6 LIG267 AIG265 SP7 LIP6 SIP7 LIP4 SP6 LIG267 AIG/ -266 SP7 LIP6 SIP7 L1 AIG267 SG267 LIP4 SP8 LIG240 K6 LIP2 A2 X1 SP8 LIG/ -200 K6 X4 54 LIG269 L0 X12 FL55 L105 SP6 LIP2 SP7 LIG210 K4 55 L0 LIG27/ -3 X10 TL56 L101 SP6 LIP2 SP7 LIG210 K4 56 LIG243 K4 SG273 LIG273 SP6 LI/ -G240 K4 LIP2 A1 X1 SP6 LIG200 K4 X4 57 LIG269 L0 X12 FL58 L105 SP6 LIP2/ - SP7 LIG210 K4 58 LIG274 SP6 LIG241 K4 X4 59 LIP2 SP6 LIG221 K4 X4 60 L/ -IP2 SP6 LIG222 K4 X4 61 LIP2 A1 X1 SP6 LIG200 K4 L1 AIG288 SG288 LIP2 A/ -2 X1 SP2 JIL4 JL7 6 LIP2 A0 X1 X23 D27 DL8 D74 DL9 D79 DL13 D76 DL14 D7/ -5 DL15 D50 DL21 D51 DL22 D52 DL23 D54 DL24 D58 DL25 D57 DL26 D55 DL27 D/ -65 DL28 D66 DL31 D67 DL34 D68 DL35 D53 DL36 D59 DL38 D60 DL39 D62 DL41 / -D63 DL42 D61 DL43 D71 DL48 D72 DL54 D69 DL57 D70 DL59 D56 DL60 D73 DL61/ - 7 X4 2 -4 DL3 -G200L1 -Z -JL17 -$ 1 L0 LIP2 X10 TL18 JL19 21 L102 SP5 LIG270 SP6 LIG210 K3 X4 22 23 LIP/ -2 A1 X1 SP5 LIG202 K3 X4 24 25 LIG243 K3 SP3 LIP2 A4 SP4 LIP3 SIP4 LIP2/ - A1 X1 SP5 LIP2 A4 X1 SP6 LIG203 K3 X4 26 LIP2 A1 X1 SP5 LIG201 K3 LIP2/ - A2 X1 SP5 LIG201 K3 X4 JL20 19 LIP2 A0 X1 X23 D5 DL21 D42 DL22 D41 DL2/ -3 D45 DL24 D44 DL25 D40 DL26 20 18 X4 -$ 2 L0 LIP2 X10 TL27 LIP2 A0 X1 L2 X10 FL28 LIP2 SP5 L77 SP6 LIG280 SP7/ - LIG205 K3 L1 AIG280 SG280 X4 28 LIP2 A0 X1 L38 X10 FL29 LIP2 A1 X1 SP5/ - L77 SP6 LIG280 SP7 LIG205 K3 L1 AIG280 SG280 LIP2 A2 X1 SP5 LIG202 K3 / -X4 29 L103 SP5 LIP2 SP6 LIG210 K3 27 X4 -$ 3 LIP2 SP6 LIG206 K4 SP4 L1 AIP4 AIG260 X1 L76 X10 FL30 L2 AIP4 AIG26/ -0 X1 SP5 LIP2 SP8 L76 SP9 LIP5 SP10 LIG205 K6 LIG286 LIG287 X13 FL31 L1/ -44 SP8 LIP2 SP9 LIG210 K6 31 LIP5 SP6 LIG286 AIG285 SP7 LIP6 SIP7 LIP3 / -SP6 L1 AIG286 AIG285 SP7 LIP6 SIP7 L2 AIG286 SG286 X4 30 LIG243 K5 SP5 / -LIP2 SP8 L78 SP9 LIP5 SP10 LIG205 K6 LIP5 SP8 LIG234 K6 L101 SP8 LIP3 S/ -P9 LIG292 K6 X4 -$ 4 LIG261 SP3 LIP2 SP6 LIL9 K4 LIP3 SP6 LIG261 SP7 LIG204 K4 LIG261 SG/ -262 X4 -$ 5 JL33 32 L3 AIP2 SP4 LIP2 AIG260 X1 SP5 JL35 34 LIP4 AIG260 X1 LIP5 / -X10 FL36 L142 SP8 LIP5 SP9 LIG210 K6 36 L3 AIP4 SP4 35 LIP4 LIP3 X12 TL/ -34 L3 AIP2 SP2 33 LIP3 LIP2 X10 FL32 X4 -$ 6 LIG261 LIG264 X13 FL37 L143 SP7 LIG270 SP8 LIG210 K5 37 LIP2 SP5 LI/ -G261 AIG260 SP6 LIP5 SIP6 LIP3 SP5 L1 AIG261 AIG260 SP6 LIP5 SIP6 LIP4 / -SP5 L2 AIG261 AIG260 SP6 LIP5 SIP6 L3 AIG261 SG261 X4 -$ 7 LIG262 SP3 39 LIP3 L3 X9 SP3 L0 LIP3 X10 TL40 LIP3 AIG260 X1 LIP2 X/ -10 FL39 40 LIP3 JL38 38 X4 -$ 8 L0 LIP2 X10 TL41 JL42 44 X4 45 LIG243 K3 SP3 LIP2 A3 SP4 LIP3 SIP4 / -LIP2 A1 X1 SP5 LIP2 A3 X1 SP6 LIG203 K3 46 47 48 49 50 51 LIP2 A2 X1 SP/ -5 LIL9 K3 X4 52 LIP2 A2 X1 SP5 LIL9 K3 53 54 55 56 LIP2 A1 X1 SP5 LIL9 / -K3 X4 57 LIP2 A2 X1 SP5 LIL9 K3 LIP2 A3 X1 SP5 LIL9 K3 X4 JL43 42 LIP2 / -A0 X1 X23 D13 DL44 D54 DL45 D57 DL46 D58 DL47 D59 DL48 D60 DL49 D70 DL5/ -0 D71 DL51 D73 DL52 D61 DL53 D62 DL54 D63 DL55 D72 DL56 D55 DL57 43 41 / -X4 -$ 10 LIP2 SP5 LIL12 K3 LIP2 SP5 LIL16 K3 FL58 LIG243 K3 SP3 LIG280 SP4 / -LIP3 SP7 LIG241 K5 LIP2 SP7 LIL14 K5 LIP4 SG280 L91 SP7 LIG280 SP8 LIG2/ -91 K5 LIP3 SP7 LIG240 K5 58 X4 -$ 11 JL59 61 LIP2 A1 X1 SP5 LIL12 K3 LIP2 A2 X1 SP5 LIL12 K3 X4 62 L45 / -SP5 LIG281 SP6 LIG291 K3 L1 AIG280 SG280 L1 AIG281 SP3 LIP2 A2 X1 SP6 L/ -IG235 K4 SP4 LIP3 AIP4 SG281 X4 63 LIP2 A2 X1 SP5 LIG233 K3 X4 64 X4 JL/ -60 59 LIP2 A0 X1 X23 D3 DL64 D40 DL61 D42 DL62 D41 DL63 60 X4 -$ 13 JL65 67 LIP2 A1 X1 SP5 LIL14 K3 LIP2 A2 X1 SP5 LIL14 K3 X4 68 69 L/ -IG262 SP3 LIG261 SP4 LIG263 SP5 LIG271 SP6 LIG275 SP7 LIG272 SP8 LIG269/ - SP9 L-1 SG271 L-1 SG275 L-1 SG272 L-1 SG269 LIP2 A1 X1 SP12 LIP2 A4 X1/ - SP13 LIG242 K10 LIG282 SG280 LIG261 SG263 LIP2 A2 X1 SP12 LIG202 K10 L/ -IP4 SP12 LIG261 SP13 LIG204 K10 LIG261 SG262 LIP2 A3 X1 SP12 LIG209 K10/ - L95 SP12 LIG280 SP13 LIG291 K10 LIP2 A0 X1 L44 X10 FL70 LIP2 A3 X1 SP1/ -2 LIG231 K10 L96 SP12 LIG290 K10 JL71 70 LIP2 A3 X1 SP12 LIG200 K10 L97/ - SP12 LIG290 K10 71 L103 SP12 L0 SP13 LIG291 K10 LIP6 SG271 LIP7 SG275 / -LIP8 SG272 LIP9 SG269 LIP3 SG262 LIP4 SG261 LIP5 SG263 72 X4 JL66 65 LI/ -P2 A0 X1 X23 D3 DL72 D40 DL67 D44 DL68 D45 DL69 66 X4 -$ 15 LIP2 A0 X1 L44 X10 TL75 LIP2 A0 X1 L45 X10 FL74 75 L-1 SP3 JL73 74/ - LIP2 A0 X1 L40 X11 FL77 L0 SP3 JL76 77 LIP2 A1 X1 SP5 LIL16 K3 FL79 L-/ -1 SP3 JL78 79 LIP2 A2 X1 SP5 LIL16 K3 SP3 78 76 73 LIP3 X4 17 -9 DL8 12 DL11 14 DL13 16 DL15 -G201L1 G202L2 G203L3 G209L4 G204L5 G205L6 G206L7 G207L10 -Z -JL4 -$ 1 LIP3 SP5 JL5 7 LIP3 X3 SP3 8 LIP3 FL9 LIP4 SP8 LIG241 K6 9 X4 10 LI/ -P2 A1 X1 SP8 LIP3 X3 SP9 LIP4 SP10 LIG220 K6 X4 11 LIP5 X3 SP5 12 LIP5 / -FL13 LIP2 A1 X1 SP8 LIP3 SP9 LIP4 SP10 LIG220 K6 LIP2 A2 X1 SP8 LIP3 SP/ -9 LIP4 SP10 LIG220 K6 JL14 13 LIG243 K6 SP6 LIP2 A1 X1 SP9 LIP3 X3 SP10/ - LIP6 SP11 LIG220 K7 LIP2 A2 X1 SP9 LIP3 SP10 LIP4 SP11 LIG220 K7 LIP6 / -SP9 LIG240 K7 14 X4 15 LIP2 SP8 LIG231 K6 LIP3 FL17 L86 SP8 JL16 17 L87/ - SP8 16 LIP4 SP9 LIG292 K6 LIG280 L1 X9 SG280 X4 JL6 5 LIP2 A0 X1 X23 D/ -5 DL15 D5 DL7 D4 DL8 D30 DL10 D33 DL11 D34 DL12 6 X4 -$ 2 LIG267 SP3 LIG269 SP4 LIG273 SP5 LIG274 SP6 LIG243 K7 SP7 LIG243 K8/ - SG274 LIG267 SG269 LIP7 SP10 LIG241 K8 L0 SG273 LIP2 A2 X1 SP10 LIG200/ - K8 LIG274 SP10 LIG241 K8 LIP7 SP10 LIG240 K8 LIP2 A1 X1 SP10 LIG231 K8/ - L0 LIG273 X10 FL18 LIG274 SG273 18 L70 SP10 LIG267 LIP3 X9 SP11 LIG273/ - SP12 LIG294 K8 LIG269 SP8 LIG267 L1 X9 SP9 JL19 20 LIP8 AIG265 X1 SP12/ - LIG295 K10 LIP8 AIG266 X1 SP12 LIG296 K10 LIP8 A1 SP8 19 LIP8 LIP9 X15/ - TL20 LIG280 L1 X9 SG280 LIG274 SP10 LIG240 K8 LIP6 SG274 LIP3 SG267 LI/ -P4 SG269 LIP5 SG273 X4 -$ 3 LIG262 SP3 LIG261 SP4 LIG243 K5 SP5 LIG243 K6 SP6 LIG271 SP7 LIG275/ - SP8 L0 SP9 L0 SP10 L1 SP11 LIG280 SP12 L0 SG271 L0 SG275 LIP2 A1 X1 SP/ -15 L77 SP16 LIP12 SP17 LIG205 K13 LIG261 SG262 LIP2 A2 X1 SP15 LIG231 K/ -13 LIP2 A3 X1 A0 X1 L1 X10 FL21 L42 SP9 LIP2 A3 X1 A1 X1 SP10 JL22 21 L/ -40 SP9 LIG280 SP10 LIP2 A3 X1 SP15 LIG231 K13 22 LIP2 A4 X1 L0 X10 TL23/ - LIP2 A4 X1 SP15 LIG235 K13 SP11 23 L92 SP15 LIG290 K13 LIP5 SP15 LIG24/ -1 K13 LIP2 A5 X1 SP15 LIG209 K13 LIP6 SP15 LIG240 K13 LIP2 A5 X1 SP15 L/ -IG200 K13 L0 LIG275 X10 TL24 LIG275 SP15 LIG240 K13 24 L40 SP15 LIP12 S/ -P16 LIG291 K13 L42 SP15 LIP11 SP16 LIG291 K13 L14 SP15 LIG290 K13 L80 S/ -P15 LIP12 SP16 LIG291 K13 LIP5 SP15 LIG240 K13 L40 SP15 LIP12 SP16 LIG2/ -91 K13 LIP9 SP15 LIP10 SP16 LIG291 K13 LIP11 L0 X12 FL26 L25 SP15 JL25 / -26 L24 SP15 25 LIG290 K13 L86 SP15 LIP6 SP16 LIG292 K13 L0 LIG271 X10 T/ -L27 LIG271 SP15 LIG240 K13 27 LIP7 SG271 LIP8 SG275 LIP12 SG280 L91 SP1/ -5 LIG280 SP16 LIG291 K13 LIP3 SG262 LIP4 SG261 X4 4 - -G220L1 G221L2 G222L3 -Z -JL5 -$ 1 L0 LIP2 X10 FL6 L148 SP5 LIG270 SP6 LIG210 K3 LIG236 K3 X4 6 LIP2 A/ -0 X1 SP3 JL7 9 L147 SP6 LIG270 SP7 LIG210 K4 LIG236 K4 X4 10 11 12 13 1/ -4 15 16 17 18 LIP2 A1 X1 SP6 LIG231 K4 LIP2 A2 X1 SP6 LIG231 K4 LIP3 SP/ -6 LIG290 K4 LIG280 L1 X9 SG280 X4 19 20 21 22 23 24 25 26 27 LIP2 A1 X1/ - SP4 LIP2 A2 X1 SP5 LIP4 A0 X1 L2 X10 TL29 LIP4 A0 X1 L1 X10 FL28 29 LI/ -P2 A2 X1 SP4 LIP2 A1 X1 SP5 28 LIP4 SP8 LIG231 K6 LIP5 SP8 LIG231 K6 L9/ - LIP3 X10 FL30 L14 SP8 LIG290 K6 L8 SP3 30 LIP3 SP8 LIG290 K6 LIG280 L1/ - X9 SG280 X4 31 32 33 LIP2 A1 X1 SP6 LIG231 K4 LIP3 SP6 LIG290 K4 X4 34/ - 35 36 LIP3 SP6 LIG290 K4 L1 AIG280 SG280 X4 37 LIP2 A1 X1 SP6 LIG232 K/ -4 X4 38 L42 SP6 LIP2 A1 X1 SP7 LIG291 K4 L1 AIG280 SG280 X4 39 LIP2 A1 / -SP4 L43 SP7 LIP4 SP10 L0 SP11 LIG85 K8 SP8 LIG291 K5 L1 SP5 LIP4 SP8 L0/ - SP9 LIG85 K6 SP6 JL40 41 LIP4 SP11 LIP5 SP12 LIG85 K9 SP9 LIG297 K7 LI/ -P5 A1 SP5 40 LIP5 LIP6 X15 TL41 L32 SP7 LIG250 K5 L1 AIG280 SG280 X4 42/ - LIP2 SP6 L40 SP7 L41 SP8 L44 SP9 L42 SP10 LIG237 K4 L1 AIG280 SG280 X4/ - 43 LIG272 SP4 LIG261 SP5 LIG262 SP6 LIP2 A1 X1 SP9 LIG209 K7 LIG243 K7/ - SG272 LIP2 A1 X1 SP9 LIG200 K7 LIG272 SP9 LIG240 K7 L93 SP9 LIG280 SP1/ -0 LIG291 K7 L1 AIG280 SG280 LIP5 SG261 LIP6 SG262 LIP4 SG272 X4 44 LIG2/ -80 SP4 LIG282 AIG280 SG280 L91 SP7 LIG280 SP8 LIG291 K5 LIP2 A2 X1 SP7 / -LIG233 K5 LIP2 A1 X1 SP7 LIG231 K5 L10 SP7 LIP4 SP8 LIG291 K5 L1 AIP4 S/ -G280 X4 45 LIG243 K4 SP4 LIG243 K5 SP5 LIG280 SP6 LIP2 A1 X1 SP9 L0 SP1/ -0 LIP5 SP11 LIG220 K7 LIP2 A2 X1 SP9 LIG231 K7 LIP4 SP9 LIG241 K7 LIP6 / -SG280 L91 SP9 LIG280 SP10 LIG291 K7 LIP5 SP9 LIG240 K7 LIP2 A3 X1 SP9 L/ -IG231 K7 LIP4 SP9 LIG240 K7 X4 46 LIG243 K4 SP4 LIP4 SP7 LIG234 K5 LIP2/ - A1 X1 SP2 JL48 47 L102 SP7 LIP2 A1 X1 SP10 LIG235 K8 SP8 LIG291 K5 LIP/ -2 A2 X1 SP2 48 LIP2 A0 X1 L38 X10 TL47 L102 SP7 LIP2 SP10 LIG235 K8 SP8/ - LIG291 K5 L47 SP7 LIP4 SP8 LIG292 K5 L1 AIG280 SG280 X4 JL8 7 LIP3 X23/ - D32 DL9 D12 DL10 D13 DL11 D15 DL12 D22 DL13 D23 DL14 D24 DL15 D25 DL16/ - D31 DL17 D32 DL18 D9 DL19 D11 DL20 D14 DL21 D20 DL22 D21 DL23 D33 DL24/ - D34 DL25 D35 DL26 D36 DL27 D17 DL31 D30 DL32 D8 DL33 D4 DL34 D5 DL35 D/ -16 DL36 D7 DL37 D1 DL38 D3 DL39 D2 DL42 D6 DL43 D10 DL44 D37 DL45 D39 D/ -L46 8 X4 -$ 2 L0 LIP2 X10 FL51 JIL50 51 JL52 54 49 L113 SP5 LIG270 SP6 LIG210 K3 / -LIG236 K3 X4 55 LIP2 SP5 L45 SP6 L46 SP7 L47 SP8 L0 SP9 LIG237 K3 L1 AI/ -G280 SG280 X4 56 LIP2 A1 X1 SP5 LIG231 K3 X4 57 LIP2 A1 X1 SP3 LIP2 A2 / -X1 SP4 LIP3 A0 X1 L2 X10 FL58 LIP2 A2 X1 SP3 LIP2 A1 X1 SP4 58 LIP3 SP7/ - LIG231 K5 LIP4 SP7 LIG231 K5 L14 SP7 LIG290 K5 LIG280 L1 X9 SG280 X4 J/ -L53 52 LIP2 A0 X1 X23 D3 DL54 D2 DL55 D8 DL56 D9 DL57 53 X4 -$ 3 L42 SP4 L0 SP5 LIG291 K2 L1 AIG280 SG280 X4 -$ 4 L0 LIP2 X10 TL59 LIP2 A0 X1 L38 X10 TL60 LIP2 SP5 LIG231 K3 X4 60 L/ -IP2 A1 X1 SP5 LIG233 K3 LIP2 A2 X1 SP5 LIG233 K3 59 X4 5 -50 DL49 -G231L1 G232L2 G236L3 G233L4 -Z -JL4 -$ 1 L0 LIP2 X10 FL6 L117 SP5 LIG270 SP6 LIG210 K3 L0 JL5 6 JL7 9 L118 S/ -P5 LIP2 SP6 LIG210 K3 L0 JL5 10 LIP2 SP5 LIG206 K3 SP3 L1 AIP3 AIG260 X/ -1 L1 X10 FL11 L2 AIP3 AIG260 X1 JL5 11 L119 SP6 LIP2 SP7 LIG210 K4 L0 J/ -L5 12 LIP2 A1 X1 JL5 13 L-1 JL5 14 L0 JL5 15 LIP2 A1 X1 SP5 LIG235 K3 X/ -2 JL5 16 LIP2 A1 X1 SP5 LIG235 K3 SP3 LIP2 A2 X1 SP6 LIG235 K4 SP4 LIP3/ - LIP4 X5 JL5 17 LIP2 A1 X1 SP5 LIG235 K3 SP3 LIP2 A2 X1 SP6 LIG235 K4 S/ -P4 LIP3 LIP4 X6 JL5 18 LIP2 A1 X1 SP5 LIG235 K3 SP3 LIP2 A2 X1 SP6 LIG2/ -35 K4 SP4 LIP3 AIP4 JL5 19 LIP2 A1 X1 SP5 LIG235 K3 SP3 LIP2 A2 X1 SP6 / -LIG235 K4 SP4 LIP3 LIP4 X9 JL5 JL8 7 LIP2 A0 X1 X23 D9 DL9 D2 DL10 D1 D/ -L12 D4 DL13 D5 DL14 D17 DL15 D11 DL16 D12 DL17 D14 DL18 D15 DL19 8 5 X4/ - -$ 2 L0 LIP2 X10 TL21 L0 LIP3 X10 FL20 21 L110 SP6 LIG270 SP7 LIG210 K4 / -X4 20 JL22 24 LIP3 A0 X1 L38 X10 TL25 L112 SP6 LIG270 SP7 LIG210 K4 X4 / -25 LIP2 A1 X1 SP6 LIP3 A1 X1 SP7 LIG230 K4 LIP2 A2 X1 SP6 LIP3 A2 X1 SP/ -7 LIG230 K4 X4 26 LIP3 SP6 LIG231 K4 LIP2 SP6 L80 SP7 L81 SP8 L82 SP9 L/ -0 SP10 LIG237 K4 LIG280 L1 X9 SG280 X4 27 28 29 LIP3 SP6 LIG231 K4 LIP2/ - SP6 LIG232 K4 L83 SP6 LIG290 K4 LIG280 L2 X9 SG280 X4 30 L109 SP6 LIG2/ -70 SP7 LIG210 K4 JL23 22 LIP2 A0 X1 X23 D5 DL30 D38 DL24 D2 DL26 D8 DL2/ -7 D9 DL28 D37 DL29 23 X4 -$ 3 LIP2 SP9 LIG206 K7 SP7 L1 AIP7 AIG260 X1 SP8 L2 AIP7 AIG260 X1 SP9 / -L0 LIP7 X10 FL31 L115 SP12 LIP2 SP13 LIG210 K10 LIP4 SP12 L2 SP13 LIG29/ -1 K10 X4 31 JL32 34 LIP7 LIG263 X12 FL35 L116 SP12 LIP2 SP13 LIG210 K10/ - 35 LIP3 SP12 LIP9 SP13 LIG291 K10 X4 36 LIP4 SP12 LIP9 SP13 LIG291 K10/ - X4 37 LIP5 SP12 LIP9 SP13 LIG292 K10 X4 38 L0 LIP6 X10 FL39 L113 SP12 / -LIP2 SP13 LIG210 K10 LIP3 SP6 39 LIP6 SP12 LIP9 SP13 LIG291 K10 JL33 32/ - LIP8 X23 D4 DL33 D77 DL34 D76 DL36 D78 DL37 D1 DL38 33 X4 4 - -G235L1 G230L2 G237L3 -Z -JL18 -$ 1 L90 SP5 LIP2 SP6 LIG292 K3 X4 -$ 2 L2 AIP2 SP4 L94 SP7 LIP4 SP10 L0 SP11 LIG85 K8 SP8 LIP3 SP9 LIG294 / -K5 L1 SP5 LIP4 SP8 L0 SP9 LIG85 K6 SP6 JL19 20 LIP4 SP11 LIP5 SP12 LIG8/ -5 K9 SP9 LIG297 K7 LIP5 A1 SP5 19 LIP5 LIP6 X15 TL20 L32 SP7 LIG250 K5 / -X4 -$ 3 L100 SP5 LIP2 SP6 LIG292 K3 X4 -$ 4 L85 SP5 LIP2 SP6 LIG292 K3 X4 -$ 5 LIP2 SP5 LIG298 K3 L32 SP5 LIG250 K3 X4 -$ 6 LIP2 SP6 LIG298 K4 L32 SP6 LIG250 K4 LIP3 SP6 LIG253 K4 L32 SP6 LIG/ -250 K4 X4 -$ 7 LIP2 SP6 LIG298 K4 L32 SP6 LIG250 K4 L76 SP6 LIG250 K4 LIP3 SP6 LIG/ -253 K4 L32 SP6 LIG250 K4 X4 -$ 8 LIP2 SP7 LIG298 K5 L32 SP7 LIG250 K5 LIP3 SP7 LIG253 K5 L32 SP7 LIG/ -250 K5 L76 SP7 LIG250 K5 LIP4 SP7 LIG253 K5 L32 SP7 LIG250 K5 X4 -$ 9 LIP2 SP5 LIG253 K3 X4 -$ 10 L32 SP5 LIG250 K3 L76 SP5 LIG250 K3 LIP2 SP5 LIG253 K3 L32 SP5 LIG/ -250 K3 X4 -$ 11 LIP2 SP7 LIG190 K5 SP5 LIG253 K3 L32 SP5 LIG250 K3 X4 -$ 12 JL22 24 L199 SP5 LIG270 SP6 LIG210 K3 LL499 JL21 25 LL498 JL21 26 / -LL497 JL21 27 LL496 JL21 28 LL495 JL21 29 LL494 JL21 30 LL493 JL21 31 L/ -L492 JL21 32 LL491 JL21 33 LL490 JL21 34 LL489 JL21 35 LL488 JL21 36 LL/ -487 JL21 37 LL486 JL21 38 LL485 JL21 39 LL484 JL21 40 LL483 JL21 41 LL4/ -82 JL21 42 LL481 JL21 43 LL480 JL21 44 LL479 JL21 45 LL478 JL21 46 LL47/ -7 JL21 47 LL476 JL21 48 LL475 JL21 49 LL474 JL21 50 LL473 JL21 51 LL472/ - JL21 52 LL471 JL21 53 LL470 JL21 54 LL469 JL21 55 LL468 JL21 56 LL467 / -JL21 57 LL466 JL21 58 LL465 JL21 59 LL464 JL21 60 LL463 JL21 61 LL462 J/ -L21 62 LL461 JL21 63 LL460 JL21 64 LL459 JL21 65 LL458 JL21 66 LL457 JL/ -21 67 LL456 JL21 68 LL455 JL21 69 LL454 JL21 70 LL453 JL21 71 LL452 JL2/ -1 72 LL451 JL21 73 LL450 JL21 74 LL449 JL21 75 LL448 JL21 76 LL447 JL21/ - 77 LL446 JL21 78 LL445 JL21 79 LL444 JL21 80 LL443 JL21 81 LL442 JL21 / -JL23 22 LIP2 X23 D57 DL24 D11 DL25 D12 DL26 D13 DL27 D14 DL28 D15 DL29 / -D20 DL30 D21 DL31 D22 DL32 D23 DL33 D24 DL34 D25 DL35 D31 DL36 D32 DL37/ - D33 DL38 D34 DL39 D35 DL40 D36 DL41 D17 DL42 D30 DL43 D8 DL44 D4 DL45 / -D5 DL46 D16 DL47 D40 DL48 D41 DL49 D42 DL50 D43 DL51 D44 DL52 D45 DL53 / -D46 DL54 D47 DL55 D80 DL56 D81 DL57 D82 DL58 D83 DL59 D85 DL60 D86 DL61/ - D87 DL62 D52 DL63 D90 DL64 D91 DL65 D92 DL66 D94 DL67 D95 DL68 D10 DL6/ -9 D96 DL70 D51 DL71 D97 DL72 D103 DL73 D98 DL74 D93 DL75 D68 DL76 D70 D/ -L77 D76 DL78 D100 DL79 D101 DL80 D102 DL81 23 21 SP3 L1 SP4 LIP3 SP7 L0/ - SP8 LIG85 K5 SP5 JL82 83 LIP3 SP10 LIP4 SP11 LIG85 K8 SP8 LIG250 K6 LI/ -P4 A1 SP4 82 LIP4 LIP5 X15 TL83 X4 -$ 13 LIP2 L0 X12 FL84 L45 SP5 LIG250 K3 JL85 84 LIP2 X2 SP2 85 LIP2 SP5/ - LIL15 K3 X4 -$ 14 LIP2 L-9 X12 FL86 LIP2 L10 X6 SP5 LIL15 K3 86 L48 SP5 LIP2 L10 X7 / -SP6 LIP5 LIP6 X9 SP5 LIG250 K3 X4 -$ 16 L10 SP4 LIG14 K2 L0 SG251 X4 -$ 17 L1 AIG251 SG251 LIG251 L62 X14 FL87 L32 LIP2 X10 FL87 L10 SP5 LIG1/ -4 K3 L0 SG251 X4 87 LIP2 SP5 LIG14 K3 X4 18 -15 DL14 499 C5 C69 C82 C82 C79 C82 498 C4 C77 C85 C76 C84 497 C3 C68 C7/ -3 C86 496 C3 C82 C69 C77 495 C4 C80 C76 C85 C83 494 C5 C77 C73 C78 C85 / -C83 493 C2 C69 C81 492 C2 C78 C69 491 C2 C76 C83 490 C2 C71 C82 489 C2 / -C76 C69 488 C2 C71 C69 487 C6 C76 C83 C72 C73 C70 C84 486 C6 C82 C83 C7/ -2 C73 C70 C84 485 C6 C76 C79 C71 C65 C78 C68 484 C5 C76 C79 C71 C79 C82/ - 483 C3 C69 C81 C86 482 C4 C78 C69 C81 C86 481 C3 C78 C69 C71 480 C3 C7/ -8 C79 C84 479 C2 C82 C86 478 C4 C84 C82 C85 C69 477 C5 C70 C65 C76 C83 / -C69 476 C5 C81 C85 C69 C82 C89 475 C2 C76 C80 474 C2 C76 C71 473 C2 C76/ - C78 472 C4 C76 C83 C84 C82 471 C2 C76 C76 470 C3 C76 C76 C80 469 C3 C7/ -6 C76 C71 468 C3 C76 C76 C76 467 C2 C83 C80 466 C2 C83 C71 465 C2 C83 C/ -76 464 C5 C83 C84 C73 C78 C68 463 C4 C74 C85 C77 C80 462 C2 C74 C84 461/ - C2 C74 C70 460 C4 C71 C79 C84 C79 459 C3 C76 C65 C66 458 C5 C83 C84 C6/ -5 C67 C75 457 C5 C83 C84 C79 C82 C69 456 C5 C69 C78 C84 C82 C89 455 C4 / -C83 C65 C86 C69 454 C4 C70 C78 C65 C80 453 C4 C70 C78 C82 C78 452 C4 C8/ -2 C84 C65 C80 451 C4 C82 C84 C82 C78 450 C7 C69 C78 C68 C80 C82 C79 C67/ - 449 C3 C82 C69 C83 448 C6 C82 C83 C84 C65 C67 C75 447 C6 C70 C73 C78 C/ -73 C83 C72 446 C8 C83 C87 C73 C84 C67 C72 C79 C78 445 C6 C71 C76 C79 C6/ -6 C65 C76 444 C7 C68 C65 C84 C65 C76 C65 C66 443 C5 C73 C84 C69 C77 C76/ - 442 C5 C73 C84 C69 C77 C78 -G240L1 G242L2 G234L3 G241L4 G290L5 G291L6 G292L7 G294L8 G295L9 G296L10 / -G297L11 G298L12 G253L13 G252L16 G250L17 -Z