C# Class Kirikiri.Tjs2.InterCodeGenerator

TJS2 のバイトコードを生成する
Inheritance: SourceCodeAccessor
ファイルを表示 Open project: fantasydr/krkr-cs Class Usage Examples

Public Properties

Property Type Description
ntBlock int
ntCatch int
ntDoWhile int
ntElse int
ntFor int
ntIf int
ntSwitch int
ntTry int
ntWhile int
ntWith int

Public Methods

Method Description
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

Protected Methods

Method Description
FinalizeObject ( ) : void

Private Methods

Method Description
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

Method Details

AddFunctionDeclArg() public method

public AddFunctionDeclArg ( string varname, ExprNode node ) : void
varname string
node ExprNode
return void

AddFunctionDeclArgCollapse() public method

public AddFunctionDeclArgCollapse ( string varname ) : void
varname string
return void

AddLocalVariable() public method

public AddLocalVariable ( string name ) : void
name string
return void

AddLocalVariable() public method

public AddLocalVariable ( string name, int init ) : void
name string
init int
return void

CharacterCodeFrom() public static method

public static CharacterCodeFrom ( Variant val ) : void
val Variant
return void

CharacterCodeOf() public static method

public static CharacterCodeOf ( Variant val ) : void
val Variant
return void

CodePosToSrcPos() public method

public CodePosToSrcPos ( int codepos ) : int
codepos int
return int

Commit() public method

public Commit ( ) : void
return void

CrateIfExprCode() public method

public CrateIfExprCode ( ExprNode node ) : void
node ExprNode
return void

CreateExprCode() public method

public CreateExprCode ( ExprNode node ) : void
node ExprNode
return void

CreateExtendsExprCode() public method

public CreateExtendsExprCode ( ExprNode node, bool hold ) : void
node ExprNode
hold bool
return void

CreateExtendsExprProxyCode() public method

public CreateExtendsExprProxyCode ( ExprNode node ) : void
node ExprNode
return void

CreateForExprCode() public method

public CreateForExprCode ( ExprNode node ) : void
node ExprNode
return void

CreateSecond() public method

public CreateSecond ( InterCodeObject obj ) : void
obj InterCodeObject
return void

CreateWhileExprCode() public method

public CreateWhileExprCode ( ExprNode node, bool doWhile ) : void
node ExprNode
doWhile bool
return void

CreteCodeObject() public method

生成一段阶目
public CreteCodeObject ( ScriptBlock block ) : InterCodeObject
block ScriptBlock
return InterCodeObject

DateReplace() public method

DaraArray の中の InterCodeGenerator を InterCodeObject に差し替える
public DateReplace ( Compiler compiler ) : void
compiler Compiler
return void

DoBreak() public method

public DoBreak ( ) : void
return void

DoContinue() public method

public DoContinue ( ) : void
return void

DoDebugger() public method

public DoDebugger ( ) : void
return void

DumpClassStructure() public method

public DumpClassStructure ( int nest ) : void
nest int
return void

EnterBlock() public method

public EnterBlock ( ) : void
return void

EnterCatchCode() public method

public EnterCatchCode ( string name ) : void
name string
return void

EnterElseCode() public method

public EnterElseCode ( ) : void
return void

EnterForCode() public method

public EnterForCode ( bool varcreate ) : void
varcreate bool
return void

EnterIfCode() public method

public EnterIfCode ( ) : void
return void

EnterSwitchCode() public method

public EnterSwitchCode ( ExprNode node ) : void
node ExprNode
return void

EnterTryCode() public method

public EnterTryCode ( ) : void
return void

EnterWhileCode() public method

public EnterWhileCode ( bool doWhile ) : void
doWhile bool
return void

EnterWithCode() public method

public EnterWithCode ( ExprNode node ) : void
node ExprNode
return void

ExitBlock() public method

public ExitBlock ( ) : void
return void

ExitElseCode() public method

public ExitElseCode ( ) : void
return void

ExitForCode() public method

public ExitForCode ( ) : void
return void

ExitIfCode() public method

public ExitIfCode ( ) : void
return void

ExitSwitchCode() public method

public ExitSwitchCode ( ) : void
return void

ExitTryCode() public method

public ExitTryCode ( ) : void
return void

ExitWhileCode() public method

public ExitWhileCode ( bool doWhile ) : void
doWhile bool
return void

ExitWidthCode() public method

public ExitWidthCode ( ) : void
return void

ExportByteCode() public method

バイトコードを出力する
public ExportByteCode ( Compiler block, ConstArrayData constarray ) : ByteBuffer
block Compiler
constarray ConstArrayData
return Sharpen.ByteBuffer

FinalizeObject() protected method

protected FinalizeObject ( ) : void
return void

GenerateFuncCallArgCode() public method

public GenerateFuncCallArgCode ( ) : void
return void

GetContextType() public method

public GetContextType ( ) : int
return int

GetCurrentNode() public method

public GetCurrentNode ( ) : ExprNode
return ExprNode

GetLine() public method

public GetLine ( int line ) : string
line int
return string

GetLineOffset() public method

public GetLineOffset ( ) : int
return int

GetName() public method

public GetName ( ) : string
return string

GetNodeToDeleteVectorCount() public method

public GetNodeToDeleteVectorCount ( ) : int
return int

GetParent() public method

public GetParent ( ) : InterCodeGenerator
return InterCodeGenerator

GetScript() public method

public GetScript ( ) : string
return string

InitLocalFunction() public method

public InitLocalFunction ( string name, int data ) : void
name string
data int
return void

InitLocalVariable() public method

public InitLocalVariable ( string name, ExprNode node ) : void
name string
node ExprNode
return void

InterCodeGenerator() public method

public InterCodeGenerator ( InterCodeGenerator parent, string name, Compiler block, int type ) : System.Collections.Generic
parent InterCodeGenerator
name string
block Compiler
type int
return System.Collections.Generic

IsClass() public method

public IsClass ( ) : bool
return bool

MakeConstValNode() public method

public MakeConstValNode ( Variant val ) : ExprNode
val Variant
return ExprNode

MakeNP0() public method

public MakeNP0 ( int opecode ) : ExprNode
opecode int
return ExprNode

MakeNP1() public method

public MakeNP1 ( int opecode, ExprNode node1 ) : ExprNode
opecode int
node1 ExprNode
return ExprNode

MakeNP2() public method

public MakeNP2 ( int opecode, ExprNode node1, ExprNode node2 ) : ExprNode
opecode int
node1 ExprNode
node2 ExprNode
return ExprNode

MakeNP3() public method

public MakeNP3 ( int opecode, ExprNode node1, ExprNode node2, ExprNode node3 ) : ExprNode
opecode int
node1 ExprNode
node2 ExprNode
node3 ExprNode
return ExprNode

PopCurrentNode() public method

public PopCurrentNode ( ) : void
return void

ProcessCaseCode() public method

public ProcessCaseCode ( ExprNode node ) : void
node ExprNode
return void

ProcessThrowCode() public method

public ProcessThrowCode ( ExprNode node ) : void
node ExprNode
return void

PushCurrentNode() public method

public PushCurrentNode ( ExprNode node ) : void
node ExprNode
return void

ReturnFromFunc() public method

public ReturnFromFunc ( ExprNode node ) : void
node ExprNode
return void

SetForThirdExprCode() public method

public SetForThirdExprCode ( ExprNode node ) : void
node ExprNode
return void

SetPropertyDeclArg() public method

public SetPropertyDeclArg ( string varname ) : void
varname string
return void

SrcPosToLine() public method

public SrcPosToLine ( int srcpos ) : int
srcpos int
return int

ToJavaCode() public method

public ToJavaCode ( int start, int end ) : AList
start int
end int
return AList

Property Details

ntBlock public_oe static_oe property

public static int ntBlock
return int

ntCatch public_oe static_oe property

public static int ntCatch
return int

ntDoWhile public_oe static_oe property

public static int ntDoWhile
return int

ntElse public_oe static_oe property

public static int ntElse
return int

ntFor public_oe static_oe property

public static int ntFor
return int

ntIf public_oe static_oe property

public static int ntIf
return int

ntSwitch public_oe static_oe property

public static int ntSwitch
return int

ntTry public_oe static_oe property

public static int ntTry
return int

ntWhile public_oe static_oe property

public static int ntWhile
return int

ntWith public_oe static_oe property

public static int ntWith
return int