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 ) which opens the file, initializes, and returns a FASL-OBJ for use by FASLREAD and FASLREADCLOSE. (FASLREAD ) 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 ( ) EOF - the end of the FASL file was reached. (FASLREADCLOSE ) which closes the file and flushes all associated arrays. An additional function (QFASLREAD ) 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 .