|
|
1.1 root 1: proc main
2: local 0,000020,n
3: local 1,000000,read
4: local 2,000000,write
5: local 3,000000,roman
6: con 0,010000,14,143,141,156,156,157,164,040,143,157,156,166,145,162,164
7: declend
8: file roman.icn
9: line 8
10: mark L1
11: lab L2
12: line 10
13: mark L0
14: pnull
15: var 0
16: var 1
17: pnull
18: invoke 1
19: asgn
20: unmark 1
21: mark L2
22: var 2
23: mark L5
24: var 3
25: var 0
26: line 11
27: invoke 1
28: esusp
29: goto L6
30: lab L5
31: str 0
32: lab L6
33: invoke 1
34: lab L3
35: unmark 1
36: goto L2
37: lab L4
38: unmark 1
39: lab L1
40: pnull
41: line 12
42: pfail
43: end
44: proc roman
45: local 0,001000,n
46: local 1,000020,arabic
47: local 2,000020,result
48: local 3,000040,equiv
49: local 4,000000,integer
50: local 5,000000,map
51: local 6,000000,find
52: con 0,010000,0
53: con 1,010000,1,111
54: con 2,010000,2,111,111
55: con 3,010000,3,111,111,111
56: con 4,010000,2,111,126
57: con 5,010000,1,126
58: con 6,010000,2,126,111
59: con 7,010000,3,126,111,111
60: con 8,010000,4,126,111,111,111
61: con 9,010000,2,111,130
62: con 10,002000,0
63: con 11,010000,7,111,126,130,114,103,104,115
64: con 12,010000,7,130,114,103,104,115,052,052
65: con 13,002000,1
66: con 14,010000,1,052
67: declend
68: file roman.icn
69: line 14
70: init? L1
71: mark L1
72: pnull
73: var 3
74: pnull
75: str 0
76: str 1
77: str 2
78: str 3
79: str 4
80: str 5
81: str 6
82: str 7
83: str 8
84: str 9
85: line 17
86: llist 10
87: asgn
88: unmark 1
89: lab L1
90: mark L2
91: mark L3
92: pnull
93: var 4
94: var 0
95: line 18
96: invoke 1
97: int 10
98: numgt
99: esusp
100: goto L4
101: lab L3
102: line 18
103: pfail
104: lab L4
105: unmark 1
106: lab L2
107: mark L5
108: pnull
109: var 2
110: str 0
111: line 19
112: asgn
113: unmark 1
114: lab L5
115: mark L6
116: mark L0
117: pnull
118: var 1
119: pnull
120: var 0
121: line 20
122: bang
123: asgn
124: pop
125: mark L0
126: pnull
127: var 2
128: pnull
129: var 5
130: var 2
131: str 11
132: str 12
133: line 21
134: invoke 3
135: pnull
136: var 3
137: pnull
138: var 1
139: int 13
140: plus
141: subsc
142: cat
143: asgn
144: unmark 1
145: lab L7
146: efail
147: lab L8
148: unmark 1
149: lab L6
150: mark L9
151: mark L10
152: var 6
153: str 14
154: var 2
155: line 22
156: invoke 2
157: unmark 1
158: line 22
159: pfail
160: goto L11
161: lab L10
162: mark L12
163: var 2
164: pret
165: lab L12
166: line 22
167: pfail
168: lab L11
169: unmark 1
170: lab L9
171: pnull
172: line 23
173: pfail
174: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.