picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

defs.l (1577B)


      1 # 19may13abu
      2 # (c) Software Lab. Alexander Burger
      3 
      4 # Constants
      5 (equ HEAP (* 1024 1024))      # Heap size in bytes
      6 (equ CELLS (/ HEAP 16))       # Number of cells in a single heap (65536)
      7 (equ STACK (* 1024 1024))     # Default coroutine stack segment size (1 MB)
      8 (equ ZERO (short 0))          # Short number '0'
      9 (equ ONE (short 1))           # Short number '1'
     10 (equ TOP (hex "10000"))       # Character top
     11 (equ DB1 (hex "1A"))          # Name of '{1}'
     12 
     13 # Pointer offsets
     14 (equ I 8)
     15 (equ II 16)
     16 (equ III 24)
     17 (equ IV 32)
     18 (equ V 40)
     19 (equ VI 48)
     20 (equ VII 56)
     21 (equ VIII 64)
     22 (equ IX 72)
     23 
     24 (equ -I . -8)
     25 (equ -II . -16)
     26 (equ -III . -24)
     27 (equ -IV . -32)
     28 (equ -V . -40)
     29 (equ -VI . -48)
     30 (equ -VII . -56)
     31 (equ -VIII . -64)
     32 
     33 # Cell offsets
     34 (equ CNT 2)    # Count tag
     35 (equ BIG 4)    # Rest of a bignum + bignum tag
     36 (equ DIG -4)   # First digit of a big number
     37 (equ CDR 8)    # CDR part of a cons pair
     38 (equ SIGN 8)   # Sign bit of a number
     39 (equ SYM 8)    # Symbol tag
     40 (equ TAIL -8)  # Tail of a symbol
     41 
     42 # I/O Tokens
     43 (equ NIX 0)       # NIL
     44 (equ BEG 1)       # Begin list
     45 (equ DOT 2)       # Dotted pair
     46 (equ END 3)       # End list
     47 (equ NUMBER 0)    # Number
     48 (equ INTERN 1)    # Internal symbol
     49 (equ TRANSIENT 2) # Transient symbol
     50 (equ EXTERN 3)    # External symbol
     51 
     52 # DB-I/O
     53 (equ BLK 6)       # Block address size
     54 (equ BLKSIZE 64)  # DB block unit size
     55 (equ BLKTAG 63)   # Block tag mask
     56 
     57 # Networking
     58 (equ UDPMAX 4096) # UDP buffer size
     59 
     60 # Case mappings from the GNU Kaffe Project
     61 (equ CHAR_UPPERCASE 1)
     62 (equ CHAR_LOWERCASE 2)
     63 (equ CHAR_LETTER 62)
     64 (equ CHAR_DIGIT 512)
     65 
     66 # vi:et:ts=3:sw=3