Next: expander utils, Previous: expander options, Up: expander [Index]
The lexical environment is a compound data structure with the purpose of associating syntactic identifiers to label gensyms and label gensyms to syntactic binding descriptors. The components are:
rib
objectsObjects of type rib
that map syntactic identifiers to label gensyms,
keeping track of lexical contours.
A set of label gensyms associated to the syntactic bindings established by the boot image; each label references its syntactic binding’s descriptor.
A set of label gensyms associated to the syntactic bindings established by imported libraries; each label references its syntactic binding’s descriptor. The boot image’s syntactic bindings are a subset of the imported syntactic bindings.
A set of label gensyms associated to the syntactic bindings established by the library being expanded; these labels are used as keys in an association list mapping labels to their syntactic binding’s descriptor. This alist is called LEXENV.
• expander lexenv rib: | Lexical contours and rib objects.
| |
• expander lexenv stx: | Wrapped and unwrapped syntax objects. | |
• expander lexenv descriptors: | Syntactic binding’s descriptors. | |
• expander lexenv prim: | Primitive syntactic bindings. | |
• expander lexenv imported: | Imported syntactic bindings. | |
• expander lexenv internal: | Internal syntactic bindings. | |
• expander lexenv fluids: | How fluid syntaxes work. | |
• expander lexenv synonyms: | How synonym syntaxes work. | |
• expander lexenv inspection: | Lexical environment inspection. |
Next: expander utils, Previous: expander options, Up: expander [Index]