Annotation of qemu/roms/SLOF/slof/fs/fcode/tokens.fs, revision 1.1.1.1

1.1       root        1: \ *****************************************************************************
                      2: \ * Copyright (c) 2004, 2008 IBM Corporation
                      3: \ * All rights reserved.
                      4: \ * This program and the accompanying materials
                      5: \ * are made available under the terms of the BSD License
                      6: \ * which accompanies this distribution, and is available at
                      7: \ * http://www.opensource.org/licenses/bsd-license.php
                      8: \ *
                      9: \ * Contributors:
                     10: \ *     IBM Corporation - initial implementation
                     11: \ ****************************************************************************/
                     12: 
                     13: : fc-abort ." FCode called abort: IP " get-ip . ( ." STACK: " .s ) depth dup 0< IF abort THEN . rdepth . cr  abort ;
                     14: : fc-0 ." 0(lit): STACK ( S: " depth . ." R: " rdepth . ." ): " depth 0> IF .s THEN 0 ;
                     15: : fc-1 ." 1(lit): STACK ( S: " depth . ." R: " rdepth . ." ): " depth 0> IF .s THEN 1 ;
                     16: 
                     17: : parse-1hex 1 hex-decode-unit ;
                     18: 
                     19: 
                     20: : reset-token-table
                     21:   FFF 0 DO ['] ferror 0 i set-token LOOP
                     22:   ;
                     23: 
                     24: reset-token-table
                     25: 
                     26: ' end0 0        00 set-token
                     27: 
                     28: \ 01...0F beginning code of 2-byte FCode sequences
                     29: 
                     30: \ ' ferror      1 08 set-token
                     31: \ ' ferror      1 09 set-token
                     32: \ ' ferror      1 0a set-token
                     33: \ ' ferror      1 0b set-token
                     34: \ ' ferror      1 0c set-token
                     35: \ ' ferror      1 0d set-token
                     36: \ ' ferror      1 0e set-token
                     37: \ ' ferror      1 0f set-token
                     38: 
                     39: ' b(lit)      1 10 set-token
                     40: 
                     41: ' b(')        1 11 set-token
                     42: ' b(")        1 12 set-token
                     43: ' bbranch     1 13 set-token
                     44: ' b?branch    1 14 set-token
                     45: ' b(loop)     1 15 set-token
                     46: ' b(+loop)    1 16 set-token
                     47: ' b(do)       1 17 set-token
                     48: ' b(?do)      1 18 set-token
                     49: ' i           0 19 set-token
                     50: ' j           0 1A set-token
                     51: ' b(leave)    1 1B set-token
                     52: ' b(of)       1 1C set-token
                     53: ' execute     0 1D set-token
                     54: ' +           0 1E set-token
                     55: ' -           0 1F set-token
                     56: ' *           0 20 set-token
                     57: ' /           0 21 set-token
                     58: ' mod         0 22 set-token 
                     59: ' and         0 23 set-token 
                     60: ' or          0 24 set-token 
                     61: ' xor         0 25 set-token 
                     62: ' invert      0 26 set-token 
                     63: ' lshift      0 27 set-token 
                     64: ' rshift      0 28 set-token 
                     65: ' >>a         0 29 set-token 
                     66: ' /mod        0 2A set-token 
                     67: ' u/mod       0 2B set-token
                     68: ' negate      0 2C set-token 
                     69: ' abs         0 2D set-token 
                     70: ' min         0 2E set-token 
                     71: ' max         0 2F set-token 
                     72: ' >r          0 30 set-token 
                     73: ' r>          0 31 set-token 
                     74: ' r@          0 32 set-token 
                     75: ' exit        0 33 set-token 
                     76: ' 0=          0 34 set-token 
                     77: ' 0<>         0 35 set-token 
                     78: ' 0<          0 36 set-token 
                     79: ' 0<=         0 37 set-token 
                     80: ' 0>          0 38 set-token 
                     81: ' 0>=         0 39 set-token 
                     82: ' <           0 3A set-token
                     83: ' >           0 3B set-token
                     84: ' =           0 3C set-token
                     85: ' <>          0 3D set-token
                     86: ' u>          0 3E set-token
                     87: ' u<=         0 3F set-token 
                     88: ' u<          0 40 set-token 
                     89: ' u>=         0 41 set-token 
                     90: ' >=          0 42 set-token 
                     91: ' <=          0 43 set-token 
                     92: ' between     0 44 set-token 
                     93: ' within      0 45 set-token 
                     94: ' DROP        0 46 set-token
                     95: ' DUP         0 47 set-token
                     96: ' OVER        0 48 set-token
                     97: ' SWAP        0 49 set-token
                     98: ' ROT         0 4A set-token
                     99: ' -ROT        0 4B set-token
                    100: ' TUCK        0 4C set-token
                    101: ' nip         0 4D set-token 
                    102: ' pick        0 4E set-token 
                    103: ' roll        0 4F set-token 
                    104: ' ?dup        0 50 set-token 
                    105: ' depth       0 51 set-token 
                    106: ' 2drop       0 52 set-token 
                    107: ' 2dup        0 53 set-token 
                    108: ' 2over       0 54 set-token 
                    109: ' 2swap       0 55 set-token 
                    110: ' 2rot        0 56 set-token 
                    111: ' 2/          0 57 set-token 
                    112: ' u2/         0 58 set-token 
                    113: ' 2*          0 59 set-token 
                    114: ' /c          0 5A set-token
                    115: ' /w          0 5B set-token 
                    116: ' /l          0 5C set-token 
                    117: ' /n          0 5D set-token 
                    118: ' ca+         0 5E set-token 
                    119: ' wa+         0 5F set-token 
                    120: ' la+         0 60 set-token 
                    121: ' na+         0 61 set-token 
                    122: ' char+       0 62 set-token 
                    123: ' wa1+        0 63 set-token 
                    124: ' la1+        0 64 set-token 
                    125: ' cell+       0 65 set-token 
                    126: ' chars       0 66 set-token 
                    127: ' /w*         0 67 set-token 
                    128: ' /l*         0 68 set-token 
                    129: ' cells       0 69 set-token 
                    130: ' on          0 6A set-token 
                    131: ' off         0 6B set-token 
                    132: ' +!          0 6C set-token 
                    133: ' @           0 6D set-token 
                    134: ' l@          0 6E set-token 
                    135: ' w@          0 6F set-token 
                    136: ' <w@         0 70 set-token 
                    137: ' c@          0 71 set-token 
                    138: ' !           0 72 set-token 
                    139: ' l!          0 73 set-token 
                    140: ' w!          0 74 set-token 
                    141: ' c!          0 75 set-token 
                    142: ' 2@          0 76 set-token 
                    143: ' 2!          0 77 set-token 
                    144: ' move        0 78 set-token 
                    145: ' fill        0 79 set-token 
                    146: ' comp        0 7A set-token 
                    147: ' noop        0 7B set-token
                    148: ' lwsplit     0 7C set-token 
                    149: ' wljoin      0 7D set-token 
                    150: ' lbsplit     0 7E set-token 
                    151: ' bljoin      0 7F set-token 
                    152: ' wbflip      0 80 set-token 
                    153: ' upc         0 81 set-token 
                    154: ' lcc         0 82 set-token 
                    155: ' pack      0 83 set-token 
                    156: ' count       0 84 set-token 
                    157: ' body>       0 85 set-token 
                    158: ' >body       0 86 set-token 
                    159: ' fcode-revision 0 87 set-token 
                    160: ' span        0 88 set-token 
                    161: ' unloop      0 89 set-token 
                    162: ' expect      0 8A set-token 
                    163: ' alloc-mem   0 8B set-token \ alloc-mem  
                    164: ' free-mem    0 8C set-token \ free-mem 
                    165: ' key?        0 8D set-token 
                    166: ' key         0 8E set-token 
                    167: ' emit        0 8F set-token 
                    168: ' type        0 90 set-token 
                    169: ' cr          0 91 set-token \ should be (cr but terminal support is not
                    170:                              \ available
                    171: ' cr          0 92 set-token 
                    172: \ ' #out      0 93 set-token 
                    173: \ ' #line     0 94 set-token 
                    174: ' hold        0 95 set-token 
                    175: ' <#          0 96 set-token 
                    176: ' u#>         0 97 set-token 
                    177: ' sign        0 98 set-token 
                    178: ' u#          0 99 set-token 
                    179: ' u#s         0 9A set-token 
                    180: ' u.          0 9B set-token 
                    181: ' u.r         0 9C set-token 
                    182: ' .           0 9D set-token 
                    183: ' .r          0 9E set-token 
                    184: ' .s          0 9F set-token 
                    185: ' base        0 A0 set-token 
                    186: \ ' convert     0  A1 set-token 
                    187: ' $number     0 A2 set-token 
                    188: ' digit       0 A3 set-token 
                    189: ' -1          0 A4 set-token
                    190: '  0          0 A5 set-token
                    191: '  1          0 A6 set-token
                    192: '  2          0 A7 set-token
                    193: '  3          0 A8 set-token
                    194: ' bl          0 A9 set-token
                    195: ' bs          0 AA set-token 
                    196: ' bell        0 AB set-token 
                    197: ' bounds      0 AC set-token 
                    198: ' here        0 AD set-token 
                    199: ' aligned     0 AE set-token 
                    200: ' wbsplit     0 AF set-token 
                    201: ' bwjoin      0 B0 set-token 
                    202: ' b(<mark)    1 B1 set-token
                    203: ' b(>resolve) 1 B2 set-token
                    204: \ ' ferror      0 B3 set-token 
                    205: \ ' ferror      0 B4 set-token 
                    206: ' new-token   0 B5 set-token 
                    207: ' named-token 0 B6 set-token
                    208: \ fcode-debug? IF
                    209: ' b(:)        1 B7 set-token
                    210: \ ELSE
                    211: \ ' b(:)        1 B7 set-token
                    212: \ THEN
                    213: ' b(value)    1 B8 set-token 
                    214: ' b(variable) 1 B9 set-token 
                    215: ' b(constant) 1 BA set-token 
                    216: ' b(create)   1 BB set-token 
                    217: ' b(defer)    1 BC set-token 
                    218: ' b(buffer:)  1 BD set-token 
                    219: ' b(field)    1 BE set-token 
                    220: \ ' ferror      0 BF set-token 
                    221: ' INSTANCE     0 C0 set-token 
                    222: \ ' noop        1 C0 set-token
                    223: \ ' ferror      0 C1 set-token
                    224: \ fcode-debug? IF
                    225: ' b(;)        1 C2 set-token
                    226: \ ELSE
                    227: \ ' b(;)        1 C2 set-token
                    228: \ THEN
                    229: ' b(to)       1 C3 set-token 
                    230: ' b(case)     1 C4 set-token
                    231: ' b(endcase)  1 C5 set-token
                    232: ' b(endof)    1 C6 set-token
                    233: ' #           0 C7 set-token
                    234: ' #s          0 C8 set-token
                    235: ' #>          0 C9 set-token
                    236: ' external-token 0 CA set-token 
                    237: ' $find       0 CB set-token
                    238: ' offset16    0 CC set-token 
                    239: ' evaluate    0 CD set-token
                    240: \             0  CE reserved
                    241: \             0  CF reserved
                    242: ' c,          0  D0 set-token
                    243: ' w,          0  D1 set-token
                    244: ' l,          0  D2 set-token
                    245: ' ,           0  D3 set-token
                    246: ' um*         0  D4 set-token
                    247: ' um/mod      0  D5 set-token
                    248: \             0  D6 reserved
                    249: \             0  D7 reserved
                    250: ' d+          0  D8 set-token
                    251: ' d-          0  D9 set-token
                    252: ' get-token   0  DA set-token 
                    253: ' set-token   0  DB set-token 
                    254: ' state       0  DC set-token  \ possibly broken
                    255: ' compile,    0  DD set-token
                    256: ' behavior    0  DE set-token 
                    257: 
                    258: ' start0             0  F0 set-token
                    259: ' start1             0  F1 set-token
                    260: ' start2             0  F2 set-token
                    261: ' start4             0  F3 set-token
                    262: 
                    263: ' ferror             0  FC set-token
                    264: ' version1           0  FD set-token
                    265: 
                    266: \ ' 4-byte-id        0  FE set-token    \ Historical
                    267: ' end1               0  FF set-token
                    268: 
                    269: \ ' dma-alloc   0 101 set-token 
                    270: ' my-address        0 102 set-token 
                    271: ' my-space          0 103 set-token
                    272: ' property          0 110 set-token
                    273: ' encode-int        0 111 set-token
                    274: ' encode+           0 112 set-token
                    275: ' encode-phys       0 113 set-token
                    276: ' encode-string     0 114 set-token
                    277: ' encode-bytes      0 115 set-token
                    278: ' reg               0 116 set-token
                    279: ' model             0 119 set-token    
                    280: ' device-type       0 11A set-token
                    281: ' parse-2int        0 11B set-token
                    282: ' is-install        0 11C set-token
                    283: ' is-remove         0 11D set-token
                    284: ' is-selftest       0 11E set-token
                    285: ' new-device        0 11F set-token
                    286: ' diagnostic-mode?  0 120 set-token
                    287: ' memory-test-suite 0 122 set-token
                    288: ' mask              0 124 set-token
                    289: ' get-msecs         0 125 set-token
                    290: ' ms                0 126 set-token
                    291: ' finish-device     0 127 set-token
                    292: ' decode-phys       0 128 set-token
                    293: ' #lines            0 150 set-token
                    294: ' #columns          0 151 set-token
                    295: ' line#             0 152 set-token
                    296: ' column#           0 153 set-token
                    297: ' inverse?          0 154 set-token
                    298: ' inverse-screen?   0 155 set-token
                    299: 
                    300: ' draw-character    0 157 set-token
                    301: ' reset-screen      0 158 set-token
                    302: ' toggle-cursor     0 159 set-token
                    303: ' erase-screen      0 15A set-token
                    304: ' blink-screen      0 15B set-token
                    305: ' invert-screen     0 15C set-token
                    306: ' insert-characters 0 15D set-token
                    307: ' delete-characters 0 15E set-token
                    308: ' insert-lines      0 15F set-token
                    309: ' delete-lines      0 160 set-token
                    310: ' draw-logo         0 161 set-token
                    311: ' frame-buffer-adr  0 162 set-token
                    312: ' screen-height     0 163 set-token
                    313: ' screen-width      0 164 set-token
                    314: ' window-top        0 165 set-token
                    315: ' window-left       0 166 set-token
                    316: 
                    317: ' default-font      0 16A set-token
                    318: ' set-font          0 16B set-token
                    319: ' char-height       0 16C set-token
                    320: ' char-width        0 16D set-token
                    321: ' >font             0 16E set-token
                    322: ' fontbytes         0 16F set-token
                    323: 
                    324: ' fb8-install       0 18B set-token
                    325: 
                    326: ' device-name       0 201 set-token
                    327: ' my-args           0 202 set-token
                    328: ' my-self           0 203 set-token
                    329: ' find-package      0 204 set-token
                    330: ' open-package      0 205 set-token
                    331: ' close-package     0 206 set-token
                    332: ' find-method       0 207 set-token
                    333: ' call-package      0 208 set-token
                    334: ' $call-parent      0 209 set-token
                    335: ' my-parent         0 20A set-token
                    336: ' ihandle>phandle   0 20B set-token
                    337: ' my-unit           0 20D set-token
                    338: ' $call-method      0 20E set-token
                    339: ' $open-package     0 20F set-token
                    340: ' (is-user-word)    0 214 set-token
                    341: ' suspend-fcode     0 215 set-token
                    342: \ ' abort             0 216 set-token
                    343: ' fc-abort             0 216 set-token
                    344: ' catch             0 217 set-token
                    345: ' throw             0 218 set-token
                    346: ' get-my-property   0 21A set-token
                    347: ' decode-int        0 21B set-token
                    348: ' decode-string     0 21C set-token
                    349: ' get-inherited-property 0 21D set-token  
                    350: ' delete-property   0 21E set-token  
                    351: ' get-package-property 0 21F set-token
                    352: ' cpeek             0 220 set-token 
                    353: ' wpeek             0 221 set-token 
                    354: ' lpeek             0 222 set-token 
                    355: ' cpoke             0 223 set-token 
                    356: ' wpoke             0 224 set-token 
                    357: ' lpoke             0 225 set-token 
                    358: ' lwflip            0 226 set-token 
                    359: ' lbflip            0 227 set-token 
                    360: ' lbflips           0 228 set-token
                    361: ' rx@               0 22E set-token
                    362: ' rx!               0 22F set-token
                    363: ' rb@               0 230 set-token
                    364: ' rb!               0 231 set-token
                    365: ' rw@               0 232 set-token 
                    366: ' rw!               0 233 set-token 
                    367: ' rl@               0 234 set-token 
                    368: ' rl!               0 235 set-token 
                    369: ' wbflips           0 236 set-token 
                    370: ' lwflips           0 237 set-token 
                    371: \ ' probe           0 238 set-token
                    372: \ ' probe-virtual   0 239 set-token
                    373: \                   0 23A reserved
                    374: ' child             0 23B set-token
                    375: ' peer              0 23C set-token
                    376: ' next-property     0 23D set-token
                    377: ' byte-load         0 23E set-token
                    378: ' set-args          0 23F set-token
                    379: ' left-parse-string 0 240 set-token
                    380: ' bxjoin            0 241 set-token
                    381: ' <l@               0 242 set-token
                    382: ' lxjoin            0 243 set-token
                    383: ' wxjoin            0 244 set-token
                    384: ' x,                0 245 set-token
                    385: ' x@                0 246 set-token
                    386: ' x!                0 247 set-token
                    387: ' /x                0 248 set-token
                    388: ' /x*               0 249 set-token
                    389: ' xa+               0 24A set-token
                    390: ' xa1+              0 24B set-token
                    391: ' xbflip            0 24C set-token
                    392: ' xbflips           0 24D set-token
                    393: ' xbsplit           0 24E set-token
                    394: ' xlflip            0 24F set-token
                    395: ' xlflips           0 250 set-token
                    396: ' xlsplit           0 251 set-token
                    397: ' xwflip            0 252 set-token
                    398: ' xwflips           0 253 set-token
                    399: ' xwsplit           0 254 set-token
                    400: \                    0 254 RESERVED FCODES 
                    401: \                    ...
                    402: \                    0 5FF RESERVED FCODES 
                    403: 
                    404: \                    0 600 VENDOR FCODES 
                    405: \                    ...
                    406: \                    0 7FF VENDOR FCODES 
                    407: 
                    408: \                    0 800 LOCAL FCODES 
                    409: \                    ...
                    410: \                    0 FFF LOCAL FCODES 
                    411: 

unix.superglobalmegacorp.com

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