MacSchemeInstructionSet - larcenists/larceny GitHub Wiki
For now, see Larceny Note 13
Hopelly we will have updated documentation for this in our documentation collection
Mac Scheme assembly is produced by the Twobit code generator (pass4?). Then the platform-specific assembler (pass5) produces native code, ANSI C code, MSIL code... whatever.
MAL files contain human-readable Mac Scheme assembly language (see [code Lib/Common/malcode.mal] as an example). LAP files contains Mac Scheme assembly code. LOP files contain native code and constants but have not been turned into loadable files. FASL files contain loadable native code.
The following procedures (some only available in twobit) do various stages of the compilation:
- compile313 : Scheme -> LAP
- assemble313 : LAP or MAL -> LOP
- make-fasl : LOP -> FASL
- compile-file : Scheme -> FASL
- assemble-file : LAP or MAL -> FASL