Annotation of 43BSD/contrib/icon/samples/roman.u1, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.