Method | Description | |
---|---|---|
CompileToDynamicMethod ( |
Compiles a plural rule abstract syntax tree into managed dynamic method delegate using an IL code generator.
|
Method | Description | |
---|---|---|
CompileFinish ( |
Emits instructions required for compilation stop procedure.
|
|
CompileNode ( |
Recursively compiles an AST node to the IL instructions.
|
|
CompileStart ( |
Emits instructions required for compilation start procedure.
|
|
CreateDynamicMethod ( |
Creates a new DynamicMethod instance with signature of given delegate type.
|
|
EmitConditionalBranch ( |
Emits instructions required for conditional branch using given OpCode to check condition and given nodes for positive and negative branches.
|
|
EmitConditionalValue ( |
Emits instructions required for creating a value on the stack based on specified condition operation result. We can not use simplified OpCodes.Clt, OpCodes.Cgt and similar instructions because we use an Int64 as an argument value. |
protected CompileFinish ( |
||
il | IL generator instance. | |
return | void |
protected CompileNode ( |
||
il | IL generator instance. | |
node | AST node. | |
return | void |
protected CompileStart ( |
||
il | IL generator instance. | |
return | void |
public CompileToDynamicMethod ( |
||
astRoot | abstract syntax tree root node. | |
outputDelegateType | Type of output delegate. | |
return |
protected CreateDynamicMethod ( |
||
outputDelegateType | ||
return |
protected EmitConditionalBranch ( |
||
il | IL generator instance. | |
conditionOpCode | OpCode of the condition check operation. | |
trueNode | AST node that will be executed when condition returns positive result. | |
falseNode | AST node that will be executed when condition returns negative result. | |
return | void |
protected EmitConditionalValue ( |
||
il | IL generator instance. | |
conditionOpCode | OpCode of the condition check operation. | |
trueValue | long | A value that will be put on stack when condition returns positive result. |
falseValue | long | A value that will be put on stack when condition returns negative result. |
return | void |