proc main local 0,001000,x local 1,000020,line local 2,000020,plist local 3,000000,define local 4,000000,generate local 5,000000,grammar local 6,000000,source local 7,000000,comment local 8,000000,prompter local 9,000000,error local 10,000000,defs local 11,000000,table local 12,000000,charset local 13,000000,i local 14,000000,s local 15,000000,tswitch local 16,000000,limit local 17,000000,integer local 18,000000,stop local 19,000000,ifile local 20,000000,prompt local 21,000000,in local 22,000000,pop local 23,000000,writes local 24,000000,read local 25,000000,close con 0,010000,2,154,142 con 1,010000,1,074 con 2,010000,2,162,142 con 3,010000,1,076 con 4,010000,2,166,142 con 5,010000,1,174 con 6,010000,2,156,154 con 7,010000,1,012 con 8,010000,0 con 9,010000,6,046,154,143,141,163,145 con 10,010000,6,046,165,143,141,163,145 con 11,010000,6,046,144,151,147,151,164 con 12,020000,10,060,061,062,063,064,065,066,067,070,071 con 13,002000,0 con 14,002000,1 con 15,010000,2,055,164 con 16,010000,2,055,154 con 17,010000,18,165,163,141,147,145,072,040,133,055,164,135,040,133,055,154,040,156,135 con 18,010000,1,134 declend file rsg.icn line 10 mark L1 pnull var 2 pnull var 3 var 4 var 5 var 6 var 7 var 8 var 9 line 12 llist 7 asgn unmark 1 lab L1 mark L2 pnull var 10 var 11 pnull line 13 invoke 1 asgn unmark 1 lab L2 mark L3 pnull pnull var 10 str 0 line 14 subsc pnull pnull str 1 llist 1 llist 1 asgn unmark 1 lab L3 mark L4 pnull pnull var 10 str 2 line 15 subsc pnull pnull str 3 llist 1 llist 1 asgn unmark 1 lab L4 mark L5 pnull pnull var 10 str 4 line 16 subsc pnull pnull str 5 llist 1 llist 1 asgn unmark 1 lab L5 mark L6 pnull pnull var 10 str 6 line 17 subsc pnull pnull str 7 llist 1 llist 1 asgn unmark 1 lab L6 mark L7 pnull pnull var 10 str 8 line 18 subsc pnull pnull str 8 llist 1 llist 1 asgn unmark 1 lab L7 mark L8 pnull pnull var 10 str 9 line 19 subsc pnull pnull var 12 keywd 10 invoke 1 llist 1 llist 1 asgn unmark 1 lab L8 mark L9 pnull pnull var 10 str 10 line 20 subsc pnull pnull var 12 keywd 21 invoke 1 llist 1 llist 1 asgn unmark 1 lab L9 mark L10 pnull pnull var 10 str 11 line 21 subsc pnull pnull var 12 cset 12 invoke 1 llist 1 llist 1 asgn unmark 1 lab L10 mark L11 pnull var 13 int 13 line 22 asgn unmark 1 lab L11 mark L12 lab L13 line 23 mark L0 pnull var 13 pnull var 0 size numlt unmark 1 mark L13 mark L16 pnull var 14 mark L17 pnull var 0 pnull var 13 dup int 14 line 24 plus asgn subsc esusp goto L18 lab L17 unmark 2 pnull goto L15 lab L18 asgn unmark 1 lab L16 mark L0 var 14 eret mark L20 ccase str 15 line 26 eqv unmark 1 pop pnull var 15 int 14 asgn goto L19 lab L20 mark L21 ccase str 16 line 27 eqv unmark 1 pop pnull var 16 mark L22 var 17 pnull var 0 pnull var 13 dup int 14 plus asgn subsc invoke 1 esusp goto L23 lab L22 var 18 str 17 invoke 1 lab L23 asgn goto L19 lab L21 pop var 18 str 17 line 28 invoke 1 lab L19 lab L14 unmark 1 goto L13 lab L15 unmark 1 lab L12 mark L24 pnull var 19 pnull line 31 keywd 9 llist 1 asgn unmark 1 lab L24 mark L25 pnull var 20 str 8 line 32 asgn unmark 1 lab L25 mark L26 lab L27 line 33 mark L0 pnull var 21 var 22 var 19 invoke 1 asgn unmark 1 mark L27 mark L30 lab L31 line 34 mark L31 mark L34 mark L0 pnull pnull var 20 line 35 size int 13 numne unmark 1 var 23 var 20 invoke 1 unmark 1 lab L34 mark L35 pnull var 1 mark L36 var 24 var 21 line 36 invoke 1 esusp goto L37 lab L36 unmark 2 pnull goto L33 lab L37 asgn unmark 1 lab L35 mark L38 lab L39 line 37 mark L0 pnull pnull var 1 pnull int 14 neg subsc str 18 lexeq unmark 1 mark L39 pnull var 1 mark L42 pnull pnull var 1 int 14 pnull int 14 neg sect var 24 var 21 invoke 1 cat esusp goto L43 lab L42 unmark 1 pnull goto L41 lab L43 asgn lab L40 unmark 1 goto L39 lab L41 unmark 1 lab L38 pnull var 2 line 38 bang var 1 invoke 1 lab L32 unmark 1 goto L31 lab L33 unmark 1 lab L30 var 25 var 21 line 40 invoke 1 lab L28 unmark 1 goto L27 lab L29 unmark 1 lab L26 pnull line 42 pfail end proc comment local 0,001000,line con 0,002000,1 con 1,010000,1,043 declend file rsg.icn line 44 mark L1 mark L0 pnull pnull var 0 int 0 line 45 subsc str 1 lexeq unmark 1 mark L2 pnull pret lab L2 line 45 pfail unmark 1 lab L1 pnull line 46 pfail end proc define local 0,001000,line local 1,000000,defs local 2,000000,tab local 3,000000,find local 4,000000,move local 5,000000,alts con 0,010000,1,074 con 1,010000,4,076,072,072,075 con 2,002000,4 con 3,002000,0 declend file rsg.icn line 48 mark L1 mark L2 var 0 line 49 bscan pnull pnull var 1 pushn1 pnull str 0 line 50 tabmat var 2 var 3 str 1 invoke 1 invoke 1 invoke 2 subsc pushn1 var 4 int 2 invoke 1 var 5 var 2 int 3 invoke 1 invoke 1 invoke 2 asgn line 49 escan pret lab L2 line 49 pfail unmark 1 lab L1 pnull line 51 pfail end proc defnon local 0,001000,sym local 1,000000,chars local 2,000000,cset local 3,000000,tab local 4,000000,charset local 5,000000,name local 6,000000,query local 7,000000,nonterm con 0,010000,1,047 con 1,002000,1 con 2,010000,1,077 con 3,002000,0 declend file rsg.icn line 53 mark L1 mark L2 var 0 line 54 bscan pnull str 0 line 55 tabmat pop pnull var 1 var 2 var 3 pnull int 1 line 56 neg invoke 1 invoke 1 asgn pop pnull str 0 line 57 tabmat line 54 escan unmark 1 mark L4 var 4 var 1 line 59 invoke 1 pret lab L4 line 59 pfail goto L3 lab L2 mark L5 var 0 line 60 bscan pnull str 2 line 61 tabmat pop pnull var 5 var 3 int 3 line 62 invoke 1 asgn line 60 escan unmark 1 mark L7 var 6 var 5 line 64 invoke 1 pret lab L7 line 64 pfail goto L6 lab L5 mark L8 var 7 var 0 line 65 invoke 1 pret lab L8 line 65 pfail lab L6 lab L3 unmark 1 lab L1 pnull line 66 pfail end proc error local 0,001000,line local 1,000000,write con 0,010000,21,052,052,052,040,145,162,162,157,156,145,157,165,163,040,154,151,156,145,072,040,040 declend file rsg.icn line 68 mark L1 var 1 str 0 var 0 line 69 invoke 2 unmark 1 lab L1 mark L2 mark L3 pnull line 70 pret lab L3 line 70 pfail unmark 1 lab L2 pnull line 71 pfail end proc gener local 0,001000,goal local 1,000020,pending local 2,000020,genstr local 3,000020,symbol local 4,000000,nonterm local 5,000000,get local 6,000000,tswitch local 7,000000,write local 8,000000,symimage local 9,000000,listimage local 10,000000,type local 11,000000,writes local 12,000000,read local 13,000000,defs local 14,000000,limit con 0,010000,0 con 1,010000,6,163,164,162,151,156,147 con 2,010000,7,143,150,141,162,163,145,164 con 3,010000,5,161,165,145,162,171 con 4,010000,22,052,052,052,040,163,165,160,160,154,171,040,163,164,162,151,156,147,040,146,157,162,040 con 5,010000,2,040,040 con 6,010000,26,052,052,052,040,156,157,040,166,141,154,165,145,040,146,157,162,040,161,165,145,162,171,040,164,157,040 con 7,010000,7,156,157,156,164,145,162,155 con 8,010000,29,052,052,052,040,165,156,144,145,146,151,156,145,144,040,156,157,156,164,145,162,155,151,156,141,154,072,040,040,074 con 9,010000,1,076 con 10,010000,31,052,052,052,040,145,170,143,145,163,163,151,166,145,040,163,171,155,142,157,154,163,040,162,145,155,141,151,156,151,156,147 declend file rsg.icn line 73 mark L1 lab L2 line 75 mark L2 mark L5 pnull var 1 pnull var 4 var 0 line 76 invoke 1 llist 1 asgn unmark 1 lab L5 mark L6 pnull var 2 str 0 line 77 asgn unmark 1 lab L6 mark L7 lab L8 line 78 mark L0 pnull var 3 var 5 var 1 invoke 1 asgn unmark 1 mark L8 mark L11 mark L0 pnull var 6 line 79 nonnull unmark 1 var 7 keywd 6 var 2 var 8 var 3 invoke 1 var 9 var 1 invoke 1 invoke 4 unmark 1 lab L11 mark L0 var 10 var 3 line 80 invoke 1 eret mark L13 ccase str 1 line 81 eqv unmark 1 pop pnull var 2 dup var 3 cat asgn goto L12 lab L13 mark L14 ccase str 2 line 82 eqv unmark 1 pop pnull var 2 dup pnull pnull var 3 field chars random cat asgn goto L12 lab L14 mark L15 ccase str 3 line 83 eqv unmark 1 pop mark L16 var 11 str 4 pnull var 3 line 84 field name str 5 invoke 3 unmark 1 lab L16 pnull var 2 dup mark L17 var 12 pnull line 85 invoke 1 esusp goto L18 lab L17 mark L19 var 7 line 86 keywd 6 str 6 pnull var 3 field name invoke 3 unmark 1 lab L19 mark L20 mark L0 var 2 line 87 psusp efail unmark 1 lab L20 unmark 1 unmark 1 goto L3 goto L10 lab L18 line 85 cat asgn goto L12 lab L15 mark L21 ccase str 7 line 91 eqv unmark 1 pop mark L22 pnull var 1 mark L23 pnull pnull pnull pnull var 13 pnull var 3 line 92 field name subsc nonnull random var 1 lconcat esusp goto L24 lab L23 mark L25 var 7 line 93 keywd 6 str 8 pnull var 3 field name str 9 invoke 4 unmark 1 lab L25 mark L26 mark L0 var 2 line 94 psusp efail unmark 1 lab L26 unmark 2 unmark 1 goto L3 goto L10 lab L24 line 92 asgn unmark 1 lab L22 mark L0 pnull pnull var 1 line 97 size pnull var 14 nonnull numgt unmark 1 mark L27 var 7 line 98 keywd 6 str 10 invoke 2 unmark 1 lab L27 mark L28 mark L0 var 2 line 99 psusp efail unmark 1 lab L28 unmark 1 unmark 1 goto L3 goto L10 goto L12 lab L21 efail lab L12 lab L9 unmark 1 goto L8 lab L10 unmark 1 lab L7 mark L0 var 2 line 105 psusp efail lab L3 unmark 1 goto L2 lab L4 unmark 1 lab L1 pnull line 107 pfail end proc generate local 0,001000,line local 1,000020,goal local 2,000020,count local 3,000000,tab local 4,000000,upto local 5,000000,move local 6,000000,pos local 7,000000,integer local 8,000000,write local 9,000000,gener con 0,010000,1,074 con 1,020000,1,076 con 2,002000,1 con 3,002000,0 declend file rsg.icn line 109 mark L1 mark L2 var 0 line 111 bscan pnull str 0 line 112 tabmat pop pnull var 1 int 2 line 113 limit mark L0 var 3 var 4 cset 1 invoke 1 invoke 1 lsusp asgn pop var 5 int 2 line 114 invoke 1 pop pnull var 2 mark L4 var 6 int 3 line 115 invoke 1 pop int 2 esusp goto L5 lab L4 var 7 var 3 int 3 invoke 1 invoke 1 lab L5 asgn line 111 escan unmark 1 mark L6 mark L0 var 2 line 118 limit mark L0 var 8 var 9 var 1 invoke 1 invoke 1 lsusp pop lab L7 efail lab L8 unmark 1 lab L6 mark L9 pnull line 119 pret lab L9 line 119 pfail goto L3 lab L2 line 121 pfail lab L3 unmark 1 lab L1 pnull line 122 pfail end proc getrhs local 0,001000,a local 1,000020,rhs local 2,000000,sform con 0,010000,0 con 1,010000,1,174 con 2,002000,1 declend file rsg.icn line 124 mark L1 pnull var 1 str 0 line 126 asgn unmark 1 lab L1 mark L2 mark L0 pnull var 1 dup pnull var 2 pnull var 0 line 127 bang invoke 1 str 1 cat cat asgn pop lab L3 efail lab L4 unmark 1 lab L2 mark L5 mark L6 pnull var 1 int 2 pnull int 2 line 128 neg sect pret lab L6 line 128 pfail unmark 1 lab L5 pnull line 129 pfail end proc grammar local 0,001000,line local 1,000020,file local 2,000020,out local 3,000000,name local 4,000000,tab local 5,000000,find local 6,000000,move local 7,000000,open local 8,000000,write local 9,000000,pwrite local 10,000000,close con 0,010000,2,055,076 con 1,002000,2 con 2,002000,0 con 3,010000,1,167 con 4,010000,16,052,052,052,040,143,141,156,156,157,164,040,157,160,145,156,040 con 5,002000,1 con 6,010000,1,074 con 7,010000,1,076 declend file rsg.icn line 131 mark L1 mark L2 var 0 line 133 bscan pnull var 3 var 4 var 5 str 0 line 134 invoke 1 invoke 1 asgn pop var 6 int 1 line 135 invoke 1 pop pnull var 1 var 4 int 2 line 136 invoke 1 asgn pop pnull var 2 mark L4 pnull pnull var 1 line 137 size int 2 numeq unmark 1 keywd 14 goto L5 lab L4 mark L6 var 7 var 1 str 3 line 138 invoke 2 esusp goto L7 lab L6 mark L8 var 8 line 139 keywd 6 str 4 var 1 invoke 3 unmark 1 lab L8 line 140 pfail lab L7 lab L5 line 137 asgn line 133 escan unmark 1 mark L9 mark L10 pnull pnull var 3 line 145 size int 2 numeq esusp goto L11 lab L10 mark L12 pnull pnull var 3 int 5 subsc str 6 lexeq pop pnull pnull var 3 pnull int 5 neg subsc str 7 lexeq esusp goto L13 lab L12 line 145 pfail lab L13 lab L11 unmark 1 lab L9 mark L14 var 9 var 3 var 2 line 146 invoke 2 unmark 1 lab L14 mark L15 mark L0 pnull pnull var 1 line 147 size int 2 numne unmark 1 var 10 var 2 invoke 1 unmark 1 lab L15 mark L16 pnull line 148 pret lab L16 line 148 pfail goto L3 lab L2 line 150 pfail lab L3 unmark 1 lab L1 pnull line 151 pfail end proc listimage local 0,001000,a local 1,000020,s local 2,000020,x local 3,000000,symimage con 0,010000,0 declend file rsg.icn line 153 mark L1 pnull var 1 str 0 line 155 asgn unmark 1 lab L1 mark L2 mark L0 pnull var 2 pnull var 0 line 156 bang asgn pop mark L0 pnull var 1 dup var 3 var 2 line 157 invoke 1 cat asgn unmark 1 lab L3 efail lab L4 unmark 1 lab L2 mark L5 mark L6 var 1 line 158 pret lab L6 line 158 pfail unmark 1 lab L5 pnull line 159 pfail end proc alts local 0,001000,defn local 1,000020,alist local 2,000000,put local 3,000000,syms local 4,000000,tab local 5,000000,many local 6,000000,move con 0,020000,1,174 con 1,002000,1 declend file rsg.icn line 161 mark L1 pnull var 1 pnull line 163 llist 0 asgn unmark 1 lab L1 mark L2 var 0 line 164 bscan lab L3 line 164 mark L0 var 2 var 1 var 3 var 4 var 5 pnull cset 0 compl invoke 1 invoke 1 invoke 1 invoke 2 unmark 1 mark L3 var 6 int 1 invoke 1 lab L4 unmark 1 goto L3 lab L5 escan unmark 1 lab L2 mark L6 mark L7 var 1 line 165 pret lab L7 line 165 pfail unmark 1 lab L6 pnull line 166 pfail end proc prompter local 0,001000,line local 1,000000,prompt con 0,002000,1 con 1,010000,1,075 con 2,002000,2 con 3,002000,0 declend file rsg.icn line 168 mark L1 mark L0 pnull pnull var 0 int 0 line 169 subsc str 1 lexeq unmark 1 mark L2 pnull var 1 pnull var 0 int 2 int 3 line 170 sect asgn unmark 1 lab L2 mark L3 pnull line 171 pret lab L3 line 171 pfail unmark 1 lab L1 pnull line 173 pfail end proc pwrite local 0,001000,name local 1,001000,ofile local 2,000020,nt local 3,000020,a local 4,000040,builtin local 5,000000,sort local 6,000000,defs local 7,000000,write local 8,000000,getrhs con 0,010000,2,154,142 con 1,010000,2,162,142 con 2,010000,2,166,142 con 3,010000,2,156,154 con 4,010000,0 con 5,010000,6,046,154,143,141,163,145 con 6,010000,6,046,165,143,141,163,145 con 7,010000,6,046,144,151,147,151,164 con 8,002000,0 con 9,002000,1 con 10,010000,1,074 con 11,010000,4,076,072,072,075 con 12,002000,2 con 13,010000,3,072,072,075 con 14,010000,28,052,052,052,040,165,156,144,145,146,151,156,145,144,040,156,157,156,164,145,162,155,151,156,141,154,072,040,040 declend file rsg.icn line 175 init? L1 mark L1 pnull var 4 pnull str 0 str 1 str 2 str 3 str 4 str 5 str 6 str 7 line 178 llist 8 asgn unmark 1 lab L1 mark L2 mark L3 pnull pnull var 0 line 179 size int 8 numeq unmark 1 mark L5 pnull var 3 var 5 var 6 line 180 invoke 1 asgn unmark 1 lab L5 mark L0 pnull var 2 pnull var 3 line 181 bang asgn pop mark L0 mark L8 mark L0 pnull pnull var 2 int 9 line 182 subsc pnull var 4 bang lexeq unmark 1 unmark 2 goto L6 unmark 1 lab L8 var 7 var 1 str 10 pnull var 2 int 9 line 183 subsc str 11 var 8 pnull var 2 int 12 subsc invoke 1 invoke 5 unmark 1 lab L6 efail lab L7 goto L4 lab L3 mark L9 var 7 var 1 var 0 str 13 var 8 pnull pnull var 6 pnull var 0 int 12 pnull int 9 line 186 neg sect subsc nonnull invoke 1 invoke 4 esusp goto L10 lab L9 var 7 str 14 var 0 line 187 invoke 2 lab L10 lab L4 unmark 1 lab L2 pnull line 188 pfail end proc sform local 0,001000,alt local 1,000020,s local 2,000020,x local 3,000000,type con 0,010000,0 con 1,010000,6,163,164,162,151,156,147 con 2,010000,7,156,157,156,164,145,162,155 con 3,010000,1,074 con 4,010000,1,076 con 5,010000,7,143,150,141,162,163,145,164 con 6,010000,2,074,047 con 7,010000,2,047,076 declend file rsg.icn line 190 mark L1 pnull var 1 str 0 line 192 asgn unmark 1 lab L1 mark L2 mark L0 pnull var 2 pnull var 0 line 193 bang asgn pop mark L0 pnull var 1 dup mark L0 var 3 var 2 line 194 invoke 1 eret mark L6 ccase str 1 line 195 eqv unmark 1 pop var 2 goto L5 lab L6 mark L7 ccase str 2 line 196 eqv unmark 1 pop pnull pnull str 3 pnull var 2 field name cat str 4 cat goto L5 lab L7 mark L8 ccase str 5 line 197 eqv unmark 1 pop pnull pnull str 6 pnull var 2 field chars cat str 7 cat goto L5 lab L8 efail lab L5 line 194 cat asgn unmark 1 lab L3 efail lab L4 unmark 1 lab L2 mark L9 mark L10 var 1 line 199 pret lab L10 line 199 pfail unmark 1 lab L9 pnull line 200 pfail end proc source local 0,001000,line local 1,000000,push local 2,000000,ifile local 3,000000,in local 4,000000,open local 5,000000,file local 6,000000,tab local 7,000000,write con 0,010000,1,100 con 1,002000,0 con 2,010000,16,052,052,052,040,143,141,156,156,157,164,040,157,160,145,156,040 declend file rsg.icn line 202 mark L1 mark L2 var 0 line 203 bscan pnull str 0 tabmat pop var 1 var 2 var 3 invoke 2 pop pnull var 3 mark L3 var 4 pnull var 5 var 6 int 1 line 204 invoke 1 asgn invoke 1 esusp goto L4 lab L3 mark L5 var 7 line 205 keywd 6 str 2 var 5 invoke 3 unmark 1 lab L5 line 206 pfail lab L4 line 204 asgn line 203 escan pret lab L2 line 203 pfail unmark 1 lab L1 pnull line 209 pfail end proc symimage local 0,001000,x local 1,000000,type con 0,010000,6,163,164,162,151,156,147 con 1,010000,7,156,157,156,164,145,162,155 con 2,010000,1,074 con 3,010000,1,076 con 4,010000,7,143,150,141,162,163,145,164 con 5,010000,2,074,047 con 6,010000,2,047,076 declend file rsg.icn line 211 mark L1 mark L2 mark L0 var 1 var 0 line 212 invoke 1 eret mark L4 ccase str 0 line 213 eqv unmark 1 pop var 0 goto L3 lab L4 mark L5 ccase str 1 line 214 eqv unmark 1 pop pnull pnull str 2 pnull var 0 field name cat str 3 cat goto L3 lab L5 mark L6 ccase str 4 line 215 eqv unmark 1 pop pnull pnull str 5 pnull var 0 field chars cat str 6 cat goto L3 lab L6 efail lab L3 line 212 pret lab L2 line 212 pfail unmark 1 lab L1 pnull line 217 pfail end proc syms local 0,001000,alt local 1,000020,slist local 2,000000,put local 3,000000,tab local 4,000000,many local 5,000000,defnon local 6,000000,upto local 7,000000,move con 0,020000,1,074 con 1,002000,2 con 2,010000,1,074 con 3,020000,1,076 con 4,002000,1 declend file rsg.icn line 219 mark L1 pnull var 1 pnull line 221 llist 0 asgn unmark 1 lab L1 mark L2 var 0 line 222 bscan lab L3 line 222 mark L0 var 2 var 1 mark L6 var 3 var 4 pnull cset 0 compl invoke 1 invoke 1 esusp goto L7 lab L6 var 5 int 1 pnull str 2 line 223 tabmat var 3 var 6 cset 3 invoke 1 invoke 1 var 7 int 4 invoke 1 invoke 3 invoke 1 lab L7 line 222 invoke 2 lab L4 unmark 1 goto L3 lab L5 escan unmark 1 lab L2 mark L8 mark L9 var 1 line 224 pret lab L9 line 224 pfail unmark 1 lab L8 pnull line 225 pfail end