C# 클래스 Kirikiri.Tjs2.InterCodeGenerator

TJS2 のバイトコードを生成する
상속: SourceCodeAccessor
파일 보기 프로젝트 열기: fantasydr/krkr-cs 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
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