Add simple example programs
authornealcrook <neal@pippaluk.org.uk>
Wed, 23 Nov 2016 11:45:51 +0000 (11:45 +0000)
committernealcrook <neal@pippaluk.org.uk>
Wed, 23 Nov 2016 11:45:51 +0000 (11:45 +0000)
Applications/BCPL/examples/cgtest.i [new file with mode: 0644]
Applications/BCPL/examples/fact.b [new file with mode: 0644]
Applications/BCPL/examples/fact.i [new file with mode: 0644]
Applications/BCPL/examples/hello.b [new file with mode: 0644]
Applications/BCPL/examples/hello.i [new file with mode: 0644]

diff --git a/Applications/BCPL/examples/cgtest.i b/Applications/BCPL/examples/cgtest.i
new file mode 100644 (file)
index 0000000..5dd9149
--- /dev/null
@@ -0,0 +1,196 @@
+/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
new file mode 100644 (file)
index 0000000..fbd9aa7
--- /dev/null
@@ -0,0 +1,5 @@
+ 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
new file mode 100644 (file)
index 0000000..3439ca0
--- /dev/null
@@ -0,0 +1,72 @@
+/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
new file mode 100644 (file)
index 0000000..c76743a
--- /dev/null
@@ -0,0 +1,13 @@
+// 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
new file mode 100644 (file)
index 0000000..8800ae3
--- /dev/null
@@ -0,0 +1,72 @@
+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