C# Class LispEngine.Evaluation.LexicalEnvironment

显示文件 Open project: Patient0/FirstClassLisp Class Usage Examples

Public Properties

Property Type Description
EmptyFrame IStack

Public Methods

Method Description
Create ( ) : LexicalEnvironment
Define ( Symbol name, Datum value ) : LexicalEnvironment
Define ( string name, Datum binding ) : LexicalEnvironment
Find ( Symbol symbol ) : Binding
Lookup ( Symbol symbol ) : Datum
NewFrame ( ) : LexicalEnvironment
NewFrame ( IStack frameBindings ) : LexicalEnvironment
Set ( Symbol symbol, Datum value ) : void

Private Methods

Method Description
LexicalEnvironment ( LexicalEnvironment parent, IStack bindings ) : System
checkCached ( LexicalEnvironment e, Symbol symbol ) : Binding
findAndCache ( LexicalEnvironment e, Symbol symbol ) : Binding
findInFrame ( int id ) : Binding
newFrame ( LexicalEnvironment parent, IStack bindings ) : LexicalEnvironment
undefined ( Symbol symbol ) : Exception

Method Details

Create() public static method

public static Create ( ) : LexicalEnvironment
return LexicalEnvironment

Define() public method

public Define ( Symbol name, Datum value ) : LexicalEnvironment
name Symbol
value Datum
return LexicalEnvironment

Define() public method

public Define ( string name, Datum binding ) : LexicalEnvironment
name string
binding Datum
return LexicalEnvironment

Find() public method

public Find ( Symbol symbol ) : Binding
symbol Symbol
return Binding

Lookup() public method

public Lookup ( Symbol symbol ) : Datum
symbol Symbol
return Datum

NewFrame() public method

public NewFrame ( ) : LexicalEnvironment
return LexicalEnvironment

NewFrame() public method

public NewFrame ( IStack frameBindings ) : LexicalEnvironment
frameBindings IStack
return LexicalEnvironment

Set() public method

public Set ( Symbol symbol, Datum value ) : void
symbol Symbol
value Datum
return void

Property Details

EmptyFrame public_oe static_oe property

public static IStack EmptyFrame
return IStack