mirror of
https://github.com/PDP-10/its.git
synced 2026-01-11 23:53:12 +00:00
41 lines
1.6 KiB
Plaintext
Executable File
41 lines
1.6 KiB
Plaintext
Executable File
FASLREA is a package of functions for reading s-expressions and other
|
|
information from a FASL file (see also FASDMP). The source is MC:RLB;FASLRE >.
|
|
|
|
The three main functions are:
|
|
|
|
(FASLREADOPEN <file spec>) which opens the file, initializes, and
|
|
returns a FASL-OBJ for use by FASLREAD and FASLREADCLOSE.
|
|
(FASLREAD <FASL-obj>) which reads an item and returns it, with a type code
|
|
consed onto its front:
|
|
EVAL - the item was an "EVAL Mungeable". The CDR is the item.
|
|
ENTRY - the CDR is (<subr name> <subr type> <args prop>)
|
|
EOF - the end of the FASL file was reached.
|
|
(FASLREADCLOSE <FASL-obj>) which closes the file and flushes all
|
|
associated arrays.
|
|
|
|
An additional function (QFASLREAD <fas-obj>) reads an object and returns
|
|
it, with a code consed on its front:
|
|
ENTRY - the CDR is the subr name
|
|
EXT - the CDR is the symbol subject to the call
|
|
EOF - the end of the FASL file was reached.
|
|
|
|
DDT symbols are needed for the following LAP symbols:
|
|
BNCONS
|
|
In Lisp versions > /1567, DDT symbols won't be needed.
|
|
|
|
------------------------------------------------------------------
|
|
|
|
IMPLEMENTATION --
|
|
|
|
A FASL-OBJ is a Lisp T-type array with 6 entries:
|
|
(0) is byte-obj, a Lisp FIXNUM array with 9. entries storing the
|
|
relocation bytes
|
|
(1) is index indicating current (next) relocation type byte
|
|
(2) is Newio file object
|
|
(3) is the atom table, a Lisp T-type array
|
|
(4) is the maximum subscript for the atom table (1- size)
|
|
(5) is the greatest used subscript in the atom table.
|
|
|
|
For a discussion of FASL format, relocation bytes, and atom table,
|
|
see .INFO.FASBIN FORMAT .
|