Args are the children nodes to the current node.
Flags store metadata/primitive data in an Iridium node. These nodes cannot store other Iridium S-Expressions.
Tag specifics the S-Expression Type.
This method is used to squish the Iridium Code into an array which can be easily stored on disk.
Nested Array of Iridium S-Expressions.
Optionalspace: numberStaticdumpGiven a serialized array of Iridium code, pretty prints it for debugging
The array produced by serialize()
Indicating the traversal depth
An object to track the current index during recursion
Remarks
EnvBinding represents an environment binding.
Structure
FLAG(NAME : string): The name of the binding.FLAG(ASW : void): Always Safe Write. Bindings like argument bindings are declared as ASWs as writing to them is always safe in any scope.FLAG(JSARG : void | JSRESTARG : void | JSLET : void | JSCONST : void | JSVAR : void): A JS binding can be one of this type JSEnvBindingFlags.FLAG(IDX : number): A unique index is assigned to each binding.FLAG(REFIDX : number): Reference IDX refers to the offset of the binding on the stack frame.FLAG(Scope : number): The scope number of the identifier, useful during analysis and code generation.FLAG(ParentScope : number): The scope number of the enclosing lexical scope.FLAG(NEXT? : number): The REFIDX of the NEXT lexical variable.