1: 1 ..1
2: ..1:begin:
3:
4: ignore
5: blanks
6: pr1:
7: comment
8: salt;pr1
9: parse
10: first
11: salt;pr2
12: diag
13: error
14: pr2:
15: comment
16: salt;pr2
17: parse
18: line
19: salt;pr2
20: diag
21: error
22: salt;pr2
23: putcharcl
24: 1 parse
25: last
26: .3=.
27: <1 \0>;.even
28: .2=.
29: .tx;.3
30: .tp;.byte 1,0;
31: 1 .tn
32: .1=.
33: fref
34: 1 trans;1 .2
35: .4=.
36: .tp;.byte 2,0;
37: .txs;':
38: 1 .tp;.byte 1,0;
39: first:
40:
41: parse
42: .1
43: getfref
44: line
45: 1 trans;1 .4
46: .1=.
47: 1
48: .2=.
49: 2
50: .3=.
51: 1 .txs;';
52: .5=.
53: <??? \0>;.even
54: .4=.
55: .tn
56: .tx;.5
57: .tp;.byte 2,0;
58: .tp;.byte 1,0;
59: 1 .tn
60: error:
61:
62: smark
63: ignore
64: none
65: any
66: .1
67: string
68: .2
69: scopy
70: .pxs;';
71: alt;..3
72: trans;1 .3
73: goto;..2
74: ..3:null
75: ..2:
76: 1 trans;1 .4
77: .1=.
78: .tp;.byte 2,0;
79: .tn
80: .tp;.byte 1,0;
81: 1 .tn
82: line:
83:
84: labels
85: charcl
86: alt;..7
87: .pxs;';
88: goto;..4
89: ..7:statement
90: salt;..5
91: numbers
92: salt;..6
93: trule
94: .pxs;';
95: ..6:
96: ..5:
97: ..4:
98: 1 trans;1 .1
99: .1=.
100: .tp;.byte 2,0;
101: .tn
102: 1 .tp;.byte 1,0;
103: numbers:
104:
105: number
106: .pxs;';
107: numbers
108: alt;done
109: 1 trans;1 .1
110: .1=.
111: .tp;.byte 2,0;
112: .tn
113: 1 .tp;.byte 1,0;
114: labels:
115:
116: label
117: labels
118: alt;done
119: 1 trans;1 .1
120: .1=.
121: .tp;.byte 1,0;
122: 1 .txs;':
123: label:
124:
125: name
126: .pxs;':
127: 1 trans;1 .1
128: .2=.
129: <.pn:1 .pxs;12\0>;.even
130: .3=.
131: <.tn:1 .txs;12\0>;.even
132: .1=.
133: .tx;.2
134: .tn
135: .tx;.3
136: 1 .tn
137: last:
138:
139: 1 trans;1 .1
140: .1=.
141: </*\0>;.even
142: .2=.
143: 4
144: :
145:
146: .px;.1
147: co1:
148: ignore
149: .2
150: .pxs;'*
151: ignore
152: none
153: .pxs;'/
154: 1 alt;co1
155: .1=.
156: 0
157: .2=.
158: gpar;1
159: .tp;.byte 2,0;
160: 1 .tp;.byte 1,0;
161: .3=.
162: gpar;1
163: 1 generate
164: .4=.
165: gpar;1
166: .tp;.byte 2,0;nil
167: .tn
168: 1 .tp;.byte 1,0;q1
169: .5=.
170: 1 .tp;.byte 1,0;xbit
171: .7=.
172: <1 succ\0>;.even
173: .6=.
174: .tp;.byte 1,0;nil
175: .tn
176: 1 .tx;.7
177: statement:
178:
179: .l;csym
180: .l;.1
181: .st
182: .p
183: oldtab
184: dtt
185: oldtab
186: pat
187: proc
188: alt;..11
189: plst
190: tlst
191: .pxs;')
192: trans;1 .2
193: goto;..10
194: ..11:trans;1 .3
195: noelem
196: ..10:
197: stt1:
198: bundle
199: frag
200: alt;..15
201: trans;1 .4
202: salt;stt1
203: goto;..12
204: ..15:.pxs;';
205: ifelem
206: alt;..14
207: trans;1 .5
208: goto;..13
209: ..14:trans;1 .6
210: ..13:
211: ..12:
212: 1 succ
213: .1=.
214: <proc(\0>;.even
215: proc:
216:
217: smark
218: ignore
219: none
220: 1 .px;.1
221: .1=.
222: 1 octal
223: npa
224: .3=.
225: <params;\0>;.even
226: .2=.
227: .tx;.3
228: .tp;.byte 1,0;
229: 1 .tn
230: plst:
231:
232: list
233: pident
234: alt;null
235: remote
236: .1
237: 1 trans;1 .2
238: pident:
239:
240: ident
241: 1 newtab
242: pat
243: npa
244: .1=.
245: 0
246: .2=.
247: name
248: .l;i
249: .ia
250: 1 .p
251: .3=.
252: 1 octal
253: i
254: .5=.
255: <push;\0>;.even
256: .4=.
257: .tx;.5
258: .tp;.byte 1,0;
259: .tn
260: .tp;.byte 2,0;
261: 1 .tn
262: tlst:
263:
264: .pxs;';
265: alt;null
266: .l;i
267: .l;.1
268: .st
269: .p
270: list
271: .2
272: remote
273: .3
274: 1 trans;1 .4
275: .1=.
276: gpar;1
277: 1 .tp;.byte 1,0;nil
278: q1
279: .2=.
280: gpar;1
281: 1 .tp;.byte 1,0;
282: frag:
283:
284: prule
285: alt;..17
286: trans;1 .1
287: goto;..16
288: ..17:labels
289: noelem
290: trans;1 .2
291: ..16:
292: 1 succ
293: .2=.
294: <salt;\0>;.even
295: .1=.
296: gpar;2
297: .tp;.byte 3,0;nil
298: nil
299: .tn
300: .tx;.2
301: .tp;.byte 2,0;
302: .tn
303: .tp;.byte 1,0;q2
304: q1
305: .tn
306: .tp;.byte 2,0;
307: 1 .txs;':
308: .5=.
309: <alt;\0>;.even
310: .4=.
311: .tn
312: .tx;.5
313: 1 .tp;.byte 1,0;
314: .6=.
315: <goto;\0>;.even
316: .3=.
317: gpar;2
318: .tp;.byte 4,0;.4
319: q1
320: .tn
321: .tx;.6
322: .tp;.byte 3,0;
323: .tn
324: .tp;.byte 1,0;
325: .txs;':
326: .tp;.byte 2,0;q2
327: q1
328: .tn
329: .tp;.byte 3,0;
330: 1 .txs;':
331: prule:
332:
333: .l;sndt
334: .l;ndt
335: .st
336: .p
337: disj
338: .pxs;'|
339: alt;..23
340: .l;ndt
341: .l;sndt
342: .st
343: .p
344: fref
345: ifeasy
346: alt;..21
347: prule
348: trans;1 .1
349: goto;..20
350: ..21:prule
351: fref
352: trans;1 .3
353: ..20:
354: noelem
355: goto;..22
356: ..23:
357: ..22:
358: 1 succ
359: .1=.
360: gpar;2
361: .tp;.byte 2,0;q2
362: nil
363: .tn
364: 1 .tp;.byte 1,0;nil
365: q1
366: disj:
367:
368: pelem
369: pdot
370: disj
371: alt;..25
372: trans;1 .1
373: ifelem
374: alt;done
375: ishard
376: goto;..24
377: ..25:
378: ..24:
379: 1 succ
380: .1=.
381: gpar;2
382: .tp;.byte 1,0;q1
383: 1 .tq;2
384: .2=.
385: 1
386: .3=.
387: gpar;2
388: 1 generate
389: pelem:
390:
391: pprim
392: alt;..31
393: trans;1 .1
394: iseasy
395: goto;..26
396: ..31:.pxs;'(
397: push
398: .2
399: sndt
400: prule
401: alt;..30
402: .pxs;')
403: goto;..27
404: ..30:.pxs;')
405: trans;1 .3
406: noelem
407: ..27:
408: ..26:
409: 1 succ
410: .1=.
411: gpar;1
412: .tq;1
413: .tp;.byte 2,0;
414: .tn
415: 1 .tp;.byte 1,0;
416: .2=.
417: gpar;1
418: .tq;1
419: 1 .tp;.byte 1,0;
420: .4=.
421: <alt;\0>;.even
422: .3=.
423: 1 .tx;.4
424: .5=.
425: <\\\0>;.even
426: .7=.
427: <salt;\0>;.even
428: .6=.
429: 1 .tx;.7
430: .10=.
431: gpar;1
432: .tp;.byte 3,0;nil
433: .tn
434: .tq;1
435: .tp;.byte 2,0;
436: 1 .tp;.byte 1,0;
437: pprim:
438:
439: special
440: salt;..32
441: rname
442: .pxs;':
443: alt;..37
444: fail
445: goto;..33
446: ..37:spdot
447: salt;..34
448:
449: ..34:
450: ignore
451: none
452: .pxs;'(
453: alt;..36
454: ignore
455: blanks
456: list
457: parg
458: .pxs;')
459: trans;1 .1
460: goto;..35
461: ..36:trans;1 .2
462: ..35:
463: ..33:
464: ..32:
465: .pxs;'/
466: alt;..41
467: trans;1 .3
468: goto;..40
469: ..41:.px;.5
470: alt;..43
471: trans;1 .6
472: ..40:
473: rname
474: trans;1 .10
475: goto;..42
476: ..43:
477: ..42:
478: 1 succ
479: .2=.
480: 0
481: pdot:
482:
483: .pxs;'.
484: alt;done
485: ignore
486: none
487: ident
488: salt;alias
489: .l;dtt
490: .t
491: salt;..44
492: table
493: dtt
494: .l;ndt
495: .l;.2
496: .st
497: .p
498: ..44:
499: .l;ndt
500: .ia
501: 1 .p
502: .1=.
503: 1 any
504: letter
505: spdot:
506:
507: .pxs;'.
508: ignore
509: none
510: not
511: .1
512: alias:
513: 1 newtab
514: dtt
515: ndt
516: parg:
517:
518: rname
519: salt;..45
520: remote
521: specparg
522: ..45:
523: 1 succ
524: .2=.
525: <\\n\\0\0>;.even
526: .1=.
527: 1 .tx;.2
528: .4=.
529: <1 succ\0>;.even
530: .3=.
531: 1 .tx;.4
532: .5=.
533: 3
534: .6=.
535: 0
536: .7=.
537: 1 .tp;.byte 1,0;nil
538: xbit
539: .11=.
540: <1 succ\0>;.even
541: .10=.
542: .tp;.byte 1,0;nil
543: nil
544: .tn
545: 1 .tx;.11
546: specparg:
547:
548: number
549: salt;..46
550: charcl
551: salt;..47
552: .pxs;'<
553: alt;..57
554: longlit
555: goto;..50
556: ..57:.pxs;'*
557: alt;..56
558: trans;1 .1
559: goto;..51
560: ..56:.pxs;'(
561: .pxs;')
562: alt;..55
563: trans;1 .3
564: goto;..52
565: ..55:push
566: .5
567: dtt
568: ndt
569: sndt
570: .l;dtt
571: .l;.6
572: .st
573: .p
574: prule
575: .pxs;')
576: oldtab
577: dtt
578: ifelem
579: alt;..54
580: trans;1 .7
581: goto;..53
582: ..54:trans;1 .10
583: ..53:
584: ..52:
585: ..51:
586: ..50:
587: ..47:
588: ..46:
589: 1 succ
590: .1=.
591: 1
592: iseasy:
593:
594: .l;easy
595: .l;.1
596: .st
597: 1 .p
598: .1=.
599: 0
600: ishard:
601:
602: .l;easy
603: .l;.1
604: .st
605: 1 .p
606: .1=.
607: 2
608: noelem:
609:
610: .l;easy
611: .l;.1
612: .st
613: 1 .p
614: .1=.
615: 2
616: ifelem:
617:
618: .l;easy
619: .l;.1
620: .ne
621: 1 .t
622: .2=.
623: 1
624: ifeasy:
625:
626: .l;easy
627: .l;.2
628: .eq
629: 1 .t
630: .2=.
631: <trans;1 \0>;.even
632: .1=.
633: gpar;1
634: .tq;1
635: .tx;.2
636: 1 .tp;.byte 1,0;
637: .4=.
638: <.px\0>;.even
639: .3=.
640: gpar;1
641: .tq;1
642: .tx;.4
643: 1 .tp;.byte 1,0;
644: .6=.
645: <.pn\0>;.even
646: .5=.
647: gpar;1
648: .tq;1
649: 1 .tx;.6
650: .10=.
651: <.t\0>;.even
652: .7=.
653: 1 .tx;.10
654: .12=.
655: <.p\0>;.even
656: .11=.
657: 1 .tx;.12
658: .13=.
659: gpar;1
660: .tp;.byte 2,0;
661: .tn
662: .tq;1
663: 1 .tp;.byte 1,0;
664: special:
665:
666: .pxs;'=
667: alt;..70
668: rname
669: salt;..60
670: remote
671: trule
672: ..60:
673: trans;1 .1
674: goto;..61
675: ..70:.pxs;'<
676: alt;..67
677: literal
678: trans;1 .3
679: goto;..62
680: ..67:.pxs;'*
681: alt;..66
682: trans;1 .5
683: goto;..63
684: ..66:.pxs;'[
685: expr
686: .pxs;'?
687: alt;..65
688: trans;1 .7
689: goto;..64
690: ..65:trans;1 .11
691: ..64:
692: .pxs;']
693: trans;1 .13
694: ..63:
695: ..62:
696: ..61:
697: 1 succ
698: .2=.
699: <[-\0>;.even
700: .3=.
701: <\\<1]\0>;.even
702: .1=.
703: .tx;.2
704: .tp;.byte 1,0;
705: 1 .tx;.3
706: rname:
707:
708: name
709: alt;..72
710: tabval
711: pat
712: npa
713: alt;done
714: goto;..71
715: ..72:.pxs;'$
716: number
717: ..71:
718: 1 trans;1 .1
719: .2=.
720: <gpar;\0>;.even
721: .1=.
722: .tx;.2
723: .tp;.byte 2,0;
724: .tn
725: 1 .tp;.byte 1,0;
726: trule:
727:
728: oldtab
729: ptt
730: tbody
731: salt;..73
732: .pxs;'(
733: number
734: salt;..74
735: tra
736: ..74:
737: .pxs;')
738: tbody
739: trans;1 .1
740: ..73:
741: 1 succ
742: tra:
743:
744: list
745: tident
746: 1 octal
747: npt
748: tident:
749:
750: ident
751: 1 newtab
752: ptt
753: npt
754: .2=.
755: <1 generate\0>;.even
756: .1=.
757: 1 .tx;.2
758: tbody:
759:
760: .pxs;'{
761: .pxs;'}
762: alt;..76
763: trans;1 .1
764: goto;..75
765: ..76:trb
766: ..75:
767: 1 succ
768: .1=.
769: xbit
770: 1 .tp;.byte 1,0;
771: .2=.
772: .tp;.byte 2,0;
773: .tn
774: 1 .tp;.byte 1,0;
775: trb:
776:
777: telem
778: .pxs;'}
779: alt;..100
780: trans;1 .1
781: goto;..77
782: ..100:trb
783: trans;1 .2
784: ..77:
785: 1 succ
786: .2=.
787: <.tx\0>;.even
788: .1=.
789: .tx;.2
790: 1 .tp;.byte 1,0;
791: .4=.
792: <.tn\0>;.even
793: .3=.
794: 1 .tx;.4
795: .6=.
796: <.tq;\0>;.even
797: .5=.
798: .tx;.6
799: 1 .tp;.byte 1,0;
800: telem:
801:
802: .pxs;'<
803: alt;..110
804: literal
805: trans;1 .1
806: goto;..101
807: ..110:.pxs;'*
808: alt;..107
809: trans;1 .3
810: goto;..102
811: ..107:.pxs;'$
812: alt;..106
813: number
814: trans;1 .5
815: goto;..103
816: ..106:number
817: alt;..105
818: tdot
819: trans;1 tpt
820: goto;..104
821: ..105:name
822: te1
823: salt;done
824: te2
825: salt;done
826: ..104:
827: ..103:
828: ..102:
829: ..101:
830: 1 succ
831: te1:
832:
833: tabval
834: dtt
835: ndt
836: tdot
837: 1 trans;1 tpt
838: .2=.
839: <.tq;\0>;.even
840: .1=.
841: .tx;.2
842: 1 .tp;.byte 1,0;
843: te2:
844:
845: tabval
846: ptt
847: npt
848: 1 trans;1 .1
849: .1=.
850: 1 .txs;'0
851: .2=.
852: .tp;.byte 2,0;
853: .txs;';
854: 1 .tp;.byte 1,0;
855: tdot:
856:
857: .pxs;'.
858: alt;..112
859: number
860: goto;..111
861: ..112:trans;1 .1
862: ..111:
863: .pxs;'(
864: alt;..114
865: list
866: targ
867: .pxs;')
868: goto;..113
869: ..114:null
870: ..113:
871: 1 trans;1 .2
872: targ:
873:
874: name
875: salt;..115
876: remote
877: tbody
878: ..115:
879: 1 succ
880: .1=.
881: <.tp;.byte \0>;.even
882: tpt:
883: .tx;.1
884: .tp;.byte 2,0;
885: .txs;',
886: 1 .tp;.byte 1,0;
887: .1=.
888: .txs;';
889: 1 .tp;.byte 1,0;
890: literal:
891:
892: shortlit
893: salt;..116
894: remote
895: longlit
896: trans;1 .1
897: ..116:
898: 1 succ
899: .1=.
900: <\>\0>;.even
901: .3=.
902: <s;'\0>;.even
903: .2=.
904: .tx;.3
905: 1 .tp;.byte 1,0;
906: shortlit:
907:
908: ignore
909: none
910: smark
911: any
912: litch
913: .px;.1
914: scopy
915: 1 trans;1 .2
916: .1=.
917: <\>\0>;.even
918: .3=.
919: <\\\0>;.even
920: .4=.
921: <\>\0>;.even
922: .2=.
923: .tx;.3
924: 1 .tx;.4
925: .5=.
926: <\>\0>;.even
927: .7=.
928: <\\0\0>;.even
929: .10=.
930: <\>;.even\0>;.even
931: .6=.
932: .txs;'<
933: .tp;.byte 2,0;
934: .tp;.byte 1,0;
935: .tx;.7
936: 1 .tx;.10
937: longlit:
938:
939: ignore
940: none
941: .px;.1
942: alt;..120
943: trans;1 .2
944: goto;..117
945: ..120:null
946: ..117:
947: litb
948: .px;.5
949: 1 trans;1 .6
950: .1=.
951: <\\\0>;.even
952: .3=.
953: <\\\\\0>;.even
954: .2=.
955: .tp;.byte 2,0;
956: .tx;.3
957: 1 .tp;.byte 1,0;
958: litb:
959:
960: smark
961: string
962: litch
963: scopy
964: .px;.1
965: alt;done
966: litb
967: 1 trans;1 .2
968: expr:
969:
970: assignment
971: salt;..121
972: rv
973: ..121:
974: 1 succ
975: .1=.
976: .tp;.byte 3,0;
977: .tn
978: .tp;.byte 1,0;
979: .tn
980: 1 .tp;.byte 2,0;
981: assignment:
982:
983: lv
984: assign
985: expr
986: 1 trans;1 .1
987: .1=.
988: .tp;.byte 3,0;
989: .tn
990: .tp;.byte 1,0;
991: .tn
992: 1 .tp;.byte 2,0;
993: .2=.
994: .tp;.byte 2,0;
995: .tn
996: 1 .tp;.byte 1,0;
997: rv:
998:
999: prime
1000: rv1:
1001: bundle
1002: infix
1003: alt;..125
1004: prime
1005: trans;1 .1
1006: salt;rv1
1007: goto;..122
1008: ..125:rva
1009: alt;..124
1010: trans;1 .2
1011: goto;..123
1012: ..124:
1013: ..123:
1014: ..122:
1015: 1 succ
1016: .2=.
1017: <.t;alt;\0>;.even
1018: .3=.
1019: <salt;\0>;.even
1020: .1=.
1021: .tx;.2
1022: .tp;.byte 2,0;
1023: .tn
1024: .tp;.byte 4,0;
1025: .tn
1026: .tx;.3
1027: .tp;.byte 1,0;
1028: .tn
1029: .tp;.byte 2,0;
1030: .txs;':
1031: .tp;.byte 3,0;
1032: .tn
1033: .tp;.byte 1,0;
1034: 1 .txs;':
1035: rva:
1036:
1037: .pxs;'?
1038: rv
1039: .pxs;':
1040: rv
1041: fref
1042: fref
1043: 1 trans;1 .1
1044: .1=.
1045: .tp;.byte 2,0;
1046: .tn
1047: 1 .tp;.byte 1,0;
1048: .2=.
1049: .tp;.byte 1,0;
1050: .tn
1051: 1 .tp;.byte 2,0;
1052: .3=.
1053: .tp;.byte 1,0;
1054: .tn
1055: 1 .tp;.byte 2,0;
1056: .5=.
1057: <.l;\0>;.even
1058: .4=.
1059: .tx;.5
1060: 1 .tp;.byte 1,0;
1061: prime:
1062:
1063: lv
1064: alt;..135
1065: suffix
1066: alt;done
1067: trans;1 .1
1068: goto;..126
1069: ..135:prefix
1070: alt;..134
1071: lv
1072: trans;1 .2
1073: goto;..127
1074: ..134:.pxs;'(
1075: alt;..133
1076: expr
1077: .pxs;')
1078: goto;..130
1079: ..133:unary
1080: alt;..132
1081: prime
1082: trans;1 .3
1083: goto;..131
1084: ..132:remote
1085: number
1086: trans;1 .4
1087: ..131:
1088: ..130:
1089: ..127:
1090: ..126:
1091: 1 succ
1092: .2=.
1093: <.l;\0>;.even
1094: .1=.
1095: .tx;.2
1096: 1 .tp;.byte 1,0;
1097: .4=.
1098: <.rv\0>;.even
1099: .3=.
1100: .tp;.byte 1,0;
1101: .tn
1102: 1 .tx;.4
1103: .6=.
1104: <.f\0>;.even
1105: .5=.
1106: .tp;.byte 2,0;
1107: .tn
1108: .tp;.byte 1,0;
1109: .tn
1110: 1 .tx;.6
1111: lv:
1112:
1113: rname
1114: alt;..141
1115: trans;1 .1
1116: goto;..136
1117: ..141:.pxs;'(
1118: alt;..140
1119: lv
1120: .pxs;')
1121: goto;..137
1122: ..140:.pxs;'*
1123: prime
1124: trans;1 .3
1125: ..137:
1126: ..136:
1127: lv1:
1128: .pxs;'[
1129: alt;done
1130: bundle
1131: expr
1132: .pxs;']
1133: trans;1 .5
1134: 1 salt;lv1
1135: .2=.
1136: <.u\0>;.even
1137: .1=.
1138: .tp;.byte 1,0;
1139: .tn
1140: 1 .tx;.2
1141: .4=.
1142: <.st\0>;.even
1143: .3=.
1144: 1 .tx;.4
1145: assign:
1146:
1147: .pxs;'=
1148: ignore
1149: none
1150: infix
1151: alt;..143
1152: trans;1 .1
1153: goto;..142
1154: ..143:trans;1 .3
1155: ..142:
1156: 1 succ
1157: .2=.
1158: 1 .pxs;'+
1159: .1=.
1160: .pxs;'+
1161: 1 not
1162: .2
1163: .4=.
1164: <.a\0>;.even
1165: .3=.
1166: 1 .tx;.4
1167: .6=.
1168: <.s\0>;.even
1169: .5=.
1170: 1 .tx;.6
1171: .10=.
1172: <.m\0>;.even
1173: .7=.
1174: 1 .tx;.10
1175: .12=.
1176: <.q\0>;.even
1177: .11=.
1178: 1 .tx;.12
1179: .14=.
1180: <.r\0>;.even
1181: .13=.
1182: 1 .tx;.14
1183: .16=.
1184: <.o\0>;.even
1185: .15=.
1186: 1 .tx;.16
1187: .20=.
1188: <.x\0>;.even
1189: .17=.
1190: 1 .tx;.20
1191: .22=.
1192: <.n\0>;.even
1193: .21=.
1194: 1 .tx;.22
1195: .23=.
1196: <==\0>;.even
1197: .25=.
1198: <.eq\0>;.even
1199: .24=.
1200: 1 .tx;.25
1201: .26=.
1202: <!=\0>;.even
1203: .30=.
1204: <.ne\0>;.even
1205: .27=.
1206: 1 .tx;.30
1207: .31=.
1208: <<=\0>;.even
1209: .33=.
1210: <.le\0>;.even
1211: .32=.
1212: 1 .tx;.33
1213: .34=.
1214: <\>=\0>;.even
1215: .36=.
1216: <.ge\0>;.even
1217: .35=.
1218: 1 .tx;.36
1219: .37=.
1220: <<<\0>;.even
1221: .41=.
1222: <.sl\0>;.even
1223: .40=.
1224: 1 .tx;.41
1225: .43=.
1226: <.lt\0>;.even
1227: .42=.
1228: 1 .tx;.43
1229: .44=.
1230: <\>\0>;.even
1231: .45=.
1232: <\>\0>;.even
1233: .47=.
1234: <.sr\0>;.even
1235: .46=.
1236: 1 .tx;.47
1237: .51=.
1238: <.gt\0>;.even
1239: .50=.
1240: 1 .tx;.51
1241: infix:
1242:
1243: smark
1244: ignore
1245: none
1246: .pxs;'+
1247: alt;..201
1248: not
1249: .1
1250: trans;1 .3
1251: goto;..144
1252: ..201:.pxs;'-
1253: alt;..200
1254: trans;1 .5
1255: goto;..145
1256: ..200:.pxs;'*
1257: alt;..177
1258: trans;1 .7
1259: goto;..146
1260: ..177:.pxs;'/
1261: alt;..176
1262: trans;1 .11
1263: goto;..147
1264: ..176:.pxs;'%
1265: alt;..175
1266: trans;1 .13
1267: goto;..150
1268: ..175:.pxs;'|
1269: alt;..174
1270: trans;1 .15
1271: goto;..151
1272: ..174:.pxs;'^
1273: alt;..173
1274: trans;1 .17
1275: goto;..152
1276: ..173:.pxs;'&
1277: alt;..172
1278: trans;1 .21
1279: goto;..153
1280: ..172:.px;.23
1281: alt;..171
1282: trans;1 .24
1283: goto;..154
1284: ..171:.px;.26
1285: alt;..170
1286: trans;1 .27
1287: goto;..155
1288: ..170:.px;.31
1289: alt;..167
1290: trans;1 .32
1291: goto;..156
1292: ..167:.px;.34
1293: alt;..166
1294: trans;1 .35
1295: goto;..157
1296: ..166:.px;.37
1297: alt;..165
1298: trans;1 .40
1299: goto;..160
1300: ..165:.pxs;'<
1301: alt;..164
1302: trans;1 .42
1303: goto;..161
1304: ..164:.px;.44
1305: .px;.45
1306: alt;..163
1307: trans;1 .46
1308: goto;..162
1309: ..163:trans;1 .50
1310: ..162:
1311: ..161:
1312: ..160:
1313: ..157:
1314: ..156:
1315: ..155:
1316: ..154:
1317: ..153:
1318: ..152:
1319: ..151:
1320: ..150:
1321: ..147:
1322: ..146:
1323: ..145:
1324: ..144:
1325: 1 succ
1326: .2=.
1327: <.lv\0>;.even
1328: .1=.
1329: 1 .tx;.2
1330: .3=.
1331: <++\0>;.even
1332: .5=.
1333: <.ib\0>;.even
1334: .4=.
1335: 1 .tx;.5
1336: .6=.
1337: <--\0>;.even
1338: .10=.
1339: <.db\0>;.even
1340: .7=.
1341: 1 .tx;.10
1342: prefix:
1343:
1344: smark
1345: ignore
1346: none
1347: .pxs;'&
1348: alt;..205
1349: trans;1 .1
1350: goto;..202
1351: ..205:.px;.3
1352: alt;..204
1353: trans;1 .4
1354: goto;..203
1355: ..204:.px;.6
1356: trans;1 .7
1357: ..203:
1358: ..202:
1359: 1 succ
1360: .1=.
1361: <++\0>;.even
1362: .3=.
1363: <.ia\0>;.even
1364: .2=.
1365: 1 .tx;.3
1366: .4=.
1367: <--\0>;.even
1368: .6=.
1369: <.da\0>;.even
1370: .5=.
1371: 1 .tx;.6
1372: suffix:
1373:
1374: smark
1375: ignore
1376: none
1377: .px;.1
1378: alt;..207
1379: trans;1 .2
1380: goto;..206
1381: ..207:.px;.4
1382: trans;1 .5
1383: ..206:
1384: 1 succ
1385: .2=.
1386: <.nt\0>;.even
1387: .1=.
1388: 1 .tx;.2
1389: .4=.
1390: <.ng\0>;.even
1391: .3=.
1392: 1 .tx;.4
1393: .6=.
1394: <.cm\0>;.even
1395: .5=.
1396: 1 .tx;.6
1397: unary:
1398:
1399: .pxs;'!
1400: alt;..213
1401: trans;1 .1
1402: goto;..210
1403: ..213:.pxs;'-
1404: alt;..212
1405: trans;1 .3
1406: goto;..211
1407: ..212:.pxs;'~
1408: trans;1 .5
1409: ..211:
1410: ..210:
1411: 1 succ
1412: charcl:
1413:
1414: .pxs;'!
1415: alt;..215
1416: ccla
1417: cclb
1418: goto;..214
1419: ..215:ccla
1420: ..214:
1421: 1 octal
1422: classmask
1423: .1=.
1424: <<<\0>;.even
1425: .2=.
1426: 1
1427: .4=.
1428: <<<\0>;.even
1429: ccla:
1430:
1431: .px;.1
1432: .l;classmask
1433: .l;.2
1434: .l;nclass
1435: .ia
1436: .sl
1437: .st
1438: .p
1439: .l;classmask
1440: .t
1441: alt;cherr
1442: ccl1:
1443: cclc
1444: .px;.4
1445: 1 salt;ccl1
1446: .1=.
1447: <\>\0>;.even
1448: cclc:
1449:
1450: ignore
1451: none
1452: ccl3:
1453: .px;.1
1454: salt;ccl4
1455: ccle
1456: 1 salt;ccl3
1457: .1=.
1458: <\>\0>;.even
1459: .3=.
1460: <\>\0>;.even
1461: .2=.
1462: 1 .px;.3
1463: ccl4:
1464:
1465: .px;.1
1466: salt;..216
1467: cclx
1468: fail
1469: ..216:
1470: not
1471: .2
1472: salt;..217
1473: ccle
1474: ..217:
1475: 1 succ
1476: .1=.
1477: 2
1478: ccle:
1479:
1480: char
1481: n
1482: .l;.1
1483: .l;n
1484: .m
1485: .l;classes
1486: .lv
1487: .a
1488: .rv
1489: .l;classmask
1490: .o
1491: .u
1492: 1 .p
1493: cclb:
1494:
1495: zeron
1496: ccl5:
1497: .l;classes
1498: .lv
1499: .l;n
1500: .a
1501: .rv
1502: .l;classmask
1503: .x
1504: .u
1505: .p
1506: testn
1507: 1 salt;ccl5
1508: cclx:
1509:
1510: .l;nclass
1511: .da
1512: .p
1513: zeron
1514: ccl6:
1515: .l;classes
1516: .lv
1517: .l;n
1518: .a
1519: .rv
1520: .l;classmask
1521: .cm
1522: .n
1523: .u
1524: .p
1525: testn
1526: 1 salt;ccl6
1527: .3=.
1528: <too many char classes\0>;.even
1529: .2=.
1530: 1 .tx;.3
1531: .1=.
1532: 1 trans;1 .2
1533: cherr:
1534:
1535: 1 diag
1536: .1
1537: .1=.
1538: 0
1539: zeron:
1540:
1541: .l;n
1542: .l;.1
1543: .st
1544: 1 .p
1545: .1=.
1546: 2
1547: .2=.
1548: 400
1549: testn:
1550:
1551: .l;n
1552: .l;.1
1553: .a
1554: .u
1555: .l;.2
1556: .lt
1557: 1 .t
1558: .1=.
1559: 0
1560: .4=.
1561: <.globl classtab\0>;.even
1562: .5=.
1563: <classtab:\0>;.even
1564: .3=.
1565: .tn
1566: .tx;.4
1567: .tn
1568: .tx;.5
1569: 1 .tn
1570: .2=.
1571: 1 trans;1 .3
1572: .7=.
1573: .tp;.byte 1,0;
1574: 1 .tn
1575: .6=.
1576: octal
1577: w
1578: 1 trans;1 .7
1579: putcharcl:
1580:
1581: zeron
1582: .l;classes
1583: .l;.1
1584: .st
1585: .p
1586: parse
1587: .2
1588: ptc1:
1589: .l;w
1590: .l;classes
1591: .lv
1592: .l;n
1593: .a
1594: .rv
1595: .st
1596: .p
1597: parse
1598: .6
1599: bundle
1600: testn
1601: 1 salt;ptc1
1602: classmask:
1603: 0
1604: nclass:
1605: 0
1606: classes:
1607: cl1:
1608: 0
1609: 0
1610: 0
1611: 0
1612: 0
1613: 0
1614: 0
1615: 0
1616: 0
1617: 0
1618: 0
1619: 0
1620: 0
1621: 0
1622: 0
1623: 0
1624: cl2:
1625: 0
1626: 0
1627: 0
1628: 0
1629: 0
1630: 0
1631: 0
1632: 0
1633: 0
1634: 0
1635: 0
1636: 0
1637: 0
1638: 0
1639: 0
1640: 0
1641: cl3:
1642: 0
1643: 0
1644: 0
1645: 0
1646: 0
1647: 0
1648: 0
1649: 0
1650: 0
1651: 0
1652: 0
1653: 0
1654: 0
1655: 0
1656: 0
1657: 0
1658: cl4:
1659: 0
1660: 0
1661: 0
1662: 0
1663: 0
1664: 0
1665: 0
1666: 0
1667: 0
1668: 0
1669: 0
1670: 0
1671: 0
1672: 0
1673: 0
1674: 0
1675: cl5:
1676: 0
1677: 0
1678: 0
1679: 0
1680: 0
1681: 0
1682: 0
1683: 0
1684: 0
1685: 0
1686: 0
1687: 0
1688: 0
1689: 0
1690: 0
1691: 0
1692: cl6:
1693: 0
1694: 0
1695: 0
1696: 0
1697: 0
1698: 0
1699: 0
1700: 0
1701: 0
1702: 0
1703: 0
1704: 0
1705: 0
1706: 0
1707: 0
1708: 0
1709: cl7:
1710: 0
1711: 0
1712: 0
1713: 0
1714: 0
1715: 0
1716: 0
1717: 0
1718: 0
1719: 0
1720: 0
1721: 0
1722: 0
1723: 0
1724: 0
1725: 0
1726: cl8:
1727: 0
1728: 0
1729: 0
1730: 0
1731: 0
1732: 0
1733: 0
1734: 0
1735: 0
1736: 0
1737: 0
1738: 0
1739: 0
1740: 0
1741: 0
1742: 0
1743: done:
1744:
1745: 1 succ
1746: .1=.
1747: .txs;'.
1748: 1 .tp;.byte 1,0;
1749: create:
1750:
1751: .l;csym
1752: .ia
1753: .p
1754: getcsym:
1755: octal
1756: csym
1757: 1 trans;1 .1
1758: .2=.
1759: <..\0>;.even
1760: .1=.
1761: .tx;.2
1762: 1 .tp;.byte 1,0;
1763: fref:
1764:
1765: .l;fsym
1766: .ia
1767: .p
1768: getfref:
1769: octal
1770: fsym
1771: 1 trans;1 .1
1772: .1=.
1773: 1
1774: not:
1775:
1776: params
1777: .1
1778: [-1\<1]
1779: alt;done
1780: 1 fail
1781: .1=.
1782: 1
1783: .2=.
1784: .tp;.byte 2,0;
1785: .tn
1786: 1 .tp;.byte 1,0;
1787: list:
1788:
1789: params
1790: .1
1791: [-1\<1]
1792: list1:
1793: bundle
1794: .pxs;',
1795: alt;done
1796: [-1\<1]
1797: trans;1 .2
1798: 1 salt;list1
1799: .1=.
1800: 1
1801: remote:
1802:
1803: params
1804: .1
1805: create
1806: 1 parse
1807: rem1
1808: [-1\<1]
1809: .1=.
1810: 1
1811: .3=.
1812: <=.\0>;.even
1813: .2=.
1814: .tp;.byte 2,0;
1815: .tx;.3
1816: .tn
1817: .tp;.byte 1,0;
1818: 1 .tn
1819: rem1:
1820:
1821: params
1822: .1
1823: getcsym
1824: [-1\<1]
1825: 1 trans;1 .2
1826: number:
1827:
1828: smark
1829: ignore
1830: none
1831: any
1832: digit
1833: string
1834: digit
1835: 1 scopy
1836: name:
1837:
1838: ident
1839: 1 scopy
1840: ident:
1841:
1842: smark
1843: ignore
1844: none
1845: any
1846: letter
1847: 1 string
1848: alpha
1849: .1=.
1850: 1
1851: .3=.
1852: 0
1853: oldtab:
1854:
1855: params
1856: .1
1857: .l;[-1\<1]
1858: .t
1859: alt;done
1860: discard
1861: [-1\<1]
1862: .l;[-1\<1]
1863: .l;.3
1864: .st
1865: 1 .p
1866: .1=.
1867: 2
1868: .3=.
1869: 0
1870: newtab:
1871:
1872: params
1873: .1
1874: .l;[-2\<1]
1875: .t
1876: salt;..220
1877: table
1878: [-2\<1]
1879: .l;[-1\<1]
1880: .l;.3
1881: .st
1882: .p
1883: ..220:
1884: enter
1885: [-2\<1]
1886: i
1887: .l;[-2\<1]
1888: .l;i
1889: .f
1890: .l;[-1\<1]
1891: .ia
1892: .st
1893: 1 .p
1894: .1=.
1895: 2
1896: tabval:
1897:
1898: params
1899: .1
1900: .l;[-2\<1]
1901: .t
1902: find
1903: [-2\<1]
1904: i
1905: .l;i
1906: .l;[-1\<1]
1907: .l;[-2\<1]
1908: .l;i
1909: .f
1910: .s
1911: .st
1912: .p
1913: 1 octal
1914: i
1915: null:
1916:
1917: 1 trans;1 nil
1918: .1=.
1919: <1 \0>;.even
1920: xbit:
1921: 1 .tx;.1
1922: q1:
1923: 1 .tq;1
1924: q2:
1925: 1 .tq;2
1926: nil:
1927: 1 generate
1928: blanks:
1929: 10
1930: digit:
1931: 20
1932: letter:
1933: 40
1934: alpha:
1935: 100
1936: litch:
1937: 200
1938: none:
1939: 400
1940: csym:
1941: 0
1942: fsym:
1943: 0
1944: easy:
1945: 0
1946: w:
1947: 0
1948: n:
1949: 0
1950: dtt:
1951: 0
1952: ndt:
1953: 0
1954: sndt:
1955: 0
1956: pat:
1957: 0
1958: npa:
1959: 0
1960: ptt:
1961: 0
1962: npt:
1963: 0
1964: i:
1965: 0
1966:
1967: .globl classtab
1968: classtab:
1969: 0
1970: 207
1971: 207
1972: 207
1973: 207
1974: 207
1975: 207
1976: 207
1977: 207
1978: 217
1979: 217
1980: 207
1981: 207
1982: 207
1983: 207
1984: 207
1985: 207
1986: 207
1987: 207
1988: 207
1989: 207
1990: 207
1991: 207
1992: 207
1993: 207
1994: 207
1995: 207
1996: 207
1997: 207
1998: 207
1999: 207
2000: 207
2001: 217
2002: 207
2003: 207
2004: 207
2005: 207
2006: 207
2007: 207
2008: 207
2009: 207
2010: 207
2011: 203
2012: 207
2013: 207
2014: 207
2015: 207
2016: 207
2017: 327
2018: 327
2019: 327
2020: 327
2021: 327
2022: 327
2023: 327
2024: 327
2025: 327
2026: 327
2027: 207
2028: 205
2029: 207
2030: 207
2031: 7
2032: 207
2033: 207
2034: 347
2035: 347
2036: 347
2037: 347
2038: 347
2039: 347
2040: 347
2041: 347
2042: 347
2043: 347
2044: 347
2045: 347
2046: 347
2047: 347
2048: 347
2049: 347
2050: 347
2051: 347
2052: 347
2053: 347
2054: 347
2055: 347
2056: 347
2057: 347
2058: 347
2059: 347
2060: 207
2061: 7
2062: 207
2063: 207
2064: 207
2065: 207
2066: 347
2067: 347
2068: 347
2069: 347
2070: 347
2071: 347
2072: 347
2073: 347
2074: 347
2075: 347
2076: 347
2077: 347
2078: 347
2079: 347
2080: 347
2081: 347
2082: 347
2083: 347
2084: 347
2085: 347
2086: 347
2087: 347
2088: 347
2089: 347
2090: 347
2091: 347
2092: 207
2093: 207
2094: 207
2095: 207
2096: 207
2097: .pn:1 .pxs;12
2098: .tn:1 .txs;12