C# Класс Kirikiri.Tjs2.InterCodeGenerator

TJS2 のバイトコードを生成する
Наследование: SourceCodeAccessor
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
ntBlock int
ntCatch int
ntDoWhile int
ntElse int
ntFor int
ntIf int
ntSwitch int
ntTry int
ntWhile int
ntWith int

Открытые методы

Метод Описание
AddFunctionDeclArg ( string varname, ExprNode node ) : void
AddFunctionDeclArgCollapse ( string varname ) : void
AddLocalVariable ( string name ) : void
AddLocalVariable ( string name, int init ) : void
CharacterCodeFrom ( Variant val ) : void
CharacterCodeOf ( Variant val ) : void
CodePosToSrcPos ( int codepos ) : int
Commit ( ) : void
CrateIfExprCode ( ExprNode node ) : void
CreateExprCode ( ExprNode node ) : void
CreateExtendsExprCode ( ExprNode node, bool hold ) : void
CreateExtendsExprProxyCode ( ExprNode node ) : void
CreateForExprCode ( ExprNode node ) : void
CreateSecond ( InterCodeObject obj ) : void
CreateWhileExprCode ( ExprNode node, bool doWhile ) : void
CreteCodeObject ( ScriptBlock block ) : InterCodeObject

生成一段阶目

DateReplace ( Compiler compiler ) : void

DaraArray の中の InterCodeGenerator を InterCodeObject に差し替える

DoBreak ( ) : void
DoContinue ( ) : void
DoDebugger ( ) : void
DumpClassStructure ( int nest ) : void
EnterBlock ( ) : void
EnterCatchCode ( string name ) : void
EnterElseCode ( ) : void
EnterForCode ( bool varcreate ) : void
EnterIfCode ( ) : void
EnterSwitchCode ( ExprNode node ) : void
EnterTryCode ( ) : void
EnterWhileCode ( bool doWhile ) : void
EnterWithCode ( ExprNode node ) : void
ExitBlock ( ) : void
ExitElseCode ( ) : void
ExitForCode ( ) : void
ExitIfCode ( ) : void
ExitSwitchCode ( ) : void
ExitTryCode ( ) : void
ExitWhileCode ( bool doWhile ) : void
ExitWidthCode ( ) : void
ExportByteCode ( Compiler block, ConstArrayData constarray ) : ByteBuffer

バイトコードを出力する

GenerateFuncCallArgCode ( ) : void
GetContextType ( ) : int
GetCurrentNode ( ) : ExprNode
GetLine ( int line ) : string
GetLineOffset ( ) : int
GetName ( ) : string
GetNodeToDeleteVectorCount ( ) : int
GetParent ( ) : InterCodeGenerator
GetScript ( ) : string
InitLocalFunction ( string name, int data ) : void
InitLocalVariable ( string name, ExprNode node ) : void
InterCodeGenerator ( InterCodeGenerator parent, string name, Compiler block, int type ) : System.Collections.Generic
IsClass ( ) : bool
MakeConstValNode ( Variant val ) : ExprNode
MakeNP0 ( int opecode ) : ExprNode
MakeNP1 ( int opecode, ExprNode node1 ) : ExprNode
MakeNP2 ( int opecode, ExprNode node1, ExprNode node2 ) : ExprNode
MakeNP3 ( int opecode, ExprNode node1, ExprNode node2, ExprNode node3 ) : ExprNode
PopCurrentNode ( ) : void
ProcessCaseCode ( ExprNode node ) : void
ProcessThrowCode ( ExprNode node ) : void
PushCurrentNode ( ExprNode node ) : void
ReturnFromFunc ( ExprNode node ) : void
SetForThirdExprCode ( ExprNode node ) : void
SetPropertyDeclArg ( string varname ) : void
SrcPosToLine ( int srcpos ) : int
ToJavaCode ( int start, int end ) : AList

Защищенные методы

Метод Описание
FinalizeObject ( ) : void

Приватные методы

Метод Описание
AddFuncArg ( int addr, int type ) : void
AddOmitArg ( ) : void
AddProperty ( string name, InterCodeGenerator val ) : void
ClearFrame ( IntWrapper frame ) : int
ClearFrame ( IntWrapper frame, int @base ) : int
ClearFrame ( int frame ) : int
ClearFrame ( int frame, int @base ) : int
ClearNodesToDelete ( ) : void
DoContinuePatch ( InterCodeGenerator nestdata ) : void
DoNestTopExitPatch ( ) : void
EndFuncArg ( ) : void
ErrorMsg ( string msg ) : void
ExpandCodeArea ( ) : void
FixCode ( ) : void
GenNodeCode ( IntWrapper frame, ExprNode node, int restype, int reqresaddr, InterCodeGenerator param ) : int
GetLexPos ( ) : int
GetProp ( ) : AList
OutputWarning ( string mes ) : void
OutputWarning ( string mes, int pos ) : void
PutData ( Variant val ) : int
PutSrcPos ( int pos ) : void
RegisterFunction ( ) : void
SortSourcePos ( ) : void
StartFuncArg ( ) : void

Описание методов

AddFunctionDeclArg() публичный Метод

public AddFunctionDeclArg ( string varname, ExprNode node ) : void
varname string
node ExprNode
Результат void

AddFunctionDeclArgCollapse() публичный Метод

public AddFunctionDeclArgCollapse ( string varname ) : void
varname string
Результат void

AddLocalVariable() публичный Метод

public AddLocalVariable ( string name ) : void
name string
Результат void

AddLocalVariable() публичный Метод

public AddLocalVariable ( string name, int init ) : void
name string
init int
Результат void

CharacterCodeFrom() публичный статический Метод

public static CharacterCodeFrom ( Variant val ) : void
val Variant
Результат void

CharacterCodeOf() публичный статический Метод

public static CharacterCodeOf ( Variant val ) : void
val Variant
Результат void

CodePosToSrcPos() публичный Метод

public CodePosToSrcPos ( int codepos ) : int
codepos int
Результат int

Commit() публичный Метод

public Commit ( ) : void
Результат void

CrateIfExprCode() публичный Метод

public CrateIfExprCode ( ExprNode node ) : void
node ExprNode
Результат void

CreateExprCode() публичный Метод

public CreateExprCode ( ExprNode node ) : void
node ExprNode
Результат void

CreateExtendsExprCode() публичный Метод

public CreateExtendsExprCode ( ExprNode node, bool hold ) : void
node ExprNode
hold bool
Результат void

CreateExtendsExprProxyCode() публичный Метод

public CreateExtendsExprProxyCode ( ExprNode node ) : void
node ExprNode
Результат void

CreateForExprCode() публичный Метод

public CreateForExprCode ( ExprNode node ) : void
node ExprNode
Результат void

CreateSecond() публичный Метод

public CreateSecond ( InterCodeObject obj ) : void
obj InterCodeObject
Результат void

CreateWhileExprCode() публичный Метод

public CreateWhileExprCode ( ExprNode node, bool doWhile ) : void
node ExprNode
doWhile bool
Результат void

CreteCodeObject() публичный Метод

生成一段阶目
public CreteCodeObject ( ScriptBlock block ) : InterCodeObject
block ScriptBlock
Результат InterCodeObject

DateReplace() публичный Метод

DaraArray の中の InterCodeGenerator を InterCodeObject に差し替える
public DateReplace ( Compiler compiler ) : void
compiler Compiler
Результат void

DoBreak() публичный Метод

public DoBreak ( ) : void
Результат void

DoContinue() публичный Метод

public DoContinue ( ) : void
Результат void

DoDebugger() публичный Метод

public DoDebugger ( ) : void
Результат void

DumpClassStructure() публичный Метод

public DumpClassStructure ( int nest ) : void
nest int
Результат void

EnterBlock() публичный Метод

public EnterBlock ( ) : void
Результат void

EnterCatchCode() публичный Метод

public EnterCatchCode ( string name ) : void
name string
Результат void

EnterElseCode() публичный Метод

public EnterElseCode ( ) : void
Результат void

EnterForCode() публичный Метод

public EnterForCode ( bool varcreate ) : void
varcreate bool
Результат void

EnterIfCode() публичный Метод

public EnterIfCode ( ) : void
Результат void

EnterSwitchCode() публичный Метод

public EnterSwitchCode ( ExprNode node ) : void
node ExprNode
Результат void

EnterTryCode() публичный Метод

public EnterTryCode ( ) : void
Результат void

EnterWhileCode() публичный Метод

public EnterWhileCode ( bool doWhile ) : void
doWhile bool
Результат void

EnterWithCode() публичный Метод

public EnterWithCode ( ExprNode node ) : void
node ExprNode
Результат void

ExitBlock() публичный Метод

public ExitBlock ( ) : void
Результат void

ExitElseCode() публичный Метод

public ExitElseCode ( ) : void
Результат void

ExitForCode() публичный Метод

public ExitForCode ( ) : void
Результат void

ExitIfCode() публичный Метод

public ExitIfCode ( ) : void
Результат void

ExitSwitchCode() публичный Метод

public ExitSwitchCode ( ) : void
Результат void

ExitTryCode() публичный Метод

public ExitTryCode ( ) : void
Результат void

ExitWhileCode() публичный Метод

public ExitWhileCode ( bool doWhile ) : void
doWhile bool
Результат void

ExitWidthCode() публичный Метод

public ExitWidthCode ( ) : void
Результат void

ExportByteCode() публичный Метод

バイトコードを出力する
public ExportByteCode ( Compiler block, ConstArrayData constarray ) : ByteBuffer
block Compiler
constarray ConstArrayData
Результат Sharpen.ByteBuffer

FinalizeObject() защищенный Метод

protected FinalizeObject ( ) : void
Результат void

GenerateFuncCallArgCode() публичный Метод

public GenerateFuncCallArgCode ( ) : void
Результат void

GetContextType() публичный Метод

public GetContextType ( ) : int
Результат int

GetCurrentNode() публичный Метод

public GetCurrentNode ( ) : ExprNode
Результат ExprNode

GetLine() публичный Метод

public GetLine ( int line ) : string
line int
Результат string

GetLineOffset() публичный Метод

public GetLineOffset ( ) : int
Результат int

GetName() публичный Метод

public GetName ( ) : string
Результат string

GetNodeToDeleteVectorCount() публичный Метод

public GetNodeToDeleteVectorCount ( ) : int
Результат int

GetParent() публичный Метод

public GetParent ( ) : InterCodeGenerator
Результат InterCodeGenerator

GetScript() публичный Метод

public GetScript ( ) : string
Результат string

InitLocalFunction() публичный Метод

public InitLocalFunction ( string name, int data ) : void
name string
data int
Результат void

InitLocalVariable() публичный Метод

public InitLocalVariable ( string name, ExprNode node ) : void
name string
node ExprNode
Результат void

InterCodeGenerator() публичный Метод

public InterCodeGenerator ( InterCodeGenerator parent, string name, Compiler block, int type ) : System.Collections.Generic
parent InterCodeGenerator
name string
block Compiler
type int
Результат System.Collections.Generic

IsClass() публичный Метод

public IsClass ( ) : bool
Результат bool

MakeConstValNode() публичный Метод

public MakeConstValNode ( Variant val ) : ExprNode
val Variant
Результат ExprNode

MakeNP0() публичный Метод

public MakeNP0 ( int opecode ) : ExprNode
opecode int
Результат ExprNode

MakeNP1() публичный Метод

public MakeNP1 ( int opecode, ExprNode node1 ) : ExprNode
opecode int
node1 ExprNode
Результат ExprNode

MakeNP2() публичный Метод

public MakeNP2 ( int opecode, ExprNode node1, ExprNode node2 ) : ExprNode
opecode int
node1 ExprNode
node2 ExprNode
Результат ExprNode

MakeNP3() публичный Метод

public MakeNP3 ( int opecode, ExprNode node1, ExprNode node2, ExprNode node3 ) : ExprNode
opecode int
node1 ExprNode
node2 ExprNode
node3 ExprNode
Результат ExprNode

PopCurrentNode() публичный Метод

public PopCurrentNode ( ) : void
Результат void

ProcessCaseCode() публичный Метод

public ProcessCaseCode ( ExprNode node ) : void
node ExprNode
Результат void

ProcessThrowCode() публичный Метод

public ProcessThrowCode ( ExprNode node ) : void
node ExprNode
Результат void

PushCurrentNode() публичный Метод

public PushCurrentNode ( ExprNode node ) : void
node ExprNode
Результат void

ReturnFromFunc() публичный Метод

public ReturnFromFunc ( ExprNode node ) : void
node ExprNode
Результат void

SetForThirdExprCode() публичный Метод

public SetForThirdExprCode ( ExprNode node ) : void
node ExprNode
Результат void

SetPropertyDeclArg() публичный Метод

public SetPropertyDeclArg ( string varname ) : void
varname string
Результат void

SrcPosToLine() публичный Метод

public SrcPosToLine ( int srcpos ) : int
srcpos int
Результат int

ToJavaCode() публичный Метод

public ToJavaCode ( int start, int end ) : AList
start int
end int
Результат AList

Описание свойств

ntBlock публичное статическое свойство

public static int ntBlock
Результат int

ntCatch публичное статическое свойство

public static int ntCatch
Результат int

ntDoWhile публичное статическое свойство

public static int ntDoWhile
Результат int

ntElse публичное статическое свойство

public static int ntElse
Результат int

ntFor публичное статическое свойство

public static int ntFor
Результат int

ntIf публичное статическое свойство

public static int ntIf
Результат int

ntSwitch публичное статическое свойство

public static int ntSwitch
Результат int

ntTry публичное статическое свойство

public static int ntTry
Результат int

ntWhile публичное статическое свойство

public static int ntWhile
Результат int

ntWith публичное статическое свойство

public static int ntWith
Результат int