C# Class Kecaknoah.Analyze.KecaknoahParser

Kecaknoahの構文解析器を定義します。
ファイルを表示 Open project: kb10uy/Kecaknoah Class Usage Examples

Public Methods

Method Description
KecaknoahParser ( ) : Base36Encoder

インスタンスを初期化します。

Parse ( Kecaknoah.Analyze.KecaknoahLexResult lex ) : Kecaknoah.Analyze.KecaknoahAst

指定されたKecaknoahLexResultを元にASTを構築します。

ParseAsExpression ( Kecaknoah.Analyze.KecaknoahLexResult lex ) : Kecaknoah.Analyze.KecaknoahAst

指定されたKecaknoahLexResultを式として解析します。

Private Methods

Method Description
CheckStatementExpression ( Kecaknoah.Analyze.KecaknoahExpressionAstNode node ) : bool
ParseBinaryExpression ( Queue tokens, int priority ) : Kecaknoah.Analyze.KecaknoahExpressionAstNode
ParseBlock ( Queue tokens ) : IList
ParseCase ( Queue tokens ) : KecaknoahIfAstNode
ParseClass ( Queue tokens ) : KecaknoahClassAstNode
ParseCoroutineDeclare ( Queue tokens ) : IList
ParseExpression ( Queue tokens ) : Kecaknoah.Analyze.KecaknoahExpressionAstNode
ParseFactorExpression ( Queue tokens ) : Kecaknoah.Analyze.KecaknoahFactorExpressionAstNode
ParseFirstLevel ( Queue tokens ) : Kecaknoah.Analyze.KecaknoahAstNode
ParseFor ( Queue tokens, bool single ) : KecaknoahForAstNode
ParseForeach ( Queue tokens, bool single ) : KecaknoahLoopAstNode
ParseFunction ( Queue tokens, bool top ) : KecaknoahFunctionAstNode
ParseFunctionArgumentsList ( Queue tokens, KecaknoahFunctionAstNode result ) : void
ParseIf ( Queue tokens, bool single ) : KecaknoahIfAstNode
ParseLocal ( Queue tokens ) : IList
ParsePrimaryExpression ( Queue tokens ) : Kecaknoah.Analyze.KecaknoahPrimaryExpressionAstNode

一次式の処理

ParsePrimaryFunctionCallExpression ( Queue tokens, Kecaknoah.Analyze.KecaknoahPrimaryExpressionAstNode parent ) : Kecaknoah.Analyze.KecaknoahArgumentCallExpressionAstNode

メソッド呼び出しの引数リスト処理

ParsePrimaryIndexerAccessExpression ( Queue tokens, Kecaknoah.Analyze.KecaknoahPrimaryExpressionAstNode parent ) : Kecaknoah.Analyze.KecaknoahArgumentCallExpressionAstNode

インデクサの引数リスト処理

ParsePrimaryMemberAccessExpression ( Queue tokens, Kecaknoah.Analyze.KecaknoahPrimaryExpressionAstNode parent ) : Kecaknoah.Analyze.KecaknoahMemberAccessExpressionAstNode

メンバーアクセス処理

ParsePrimaryRecursiveExpression ( Queue tokens, Kecaknoah.Analyze.KecaknoahPrimaryExpressionAstNode parent ) : Kecaknoah.Analyze.KecaknoahPrimaryExpressionAstNode

再帰的に連続させられる一次式の処理

ParseReturn ( Queue tokens ) : KecaknoahReturnAstNode
ParseSingleLineStatement ( Queue tokens ) : IList
ParseTry ( Queue tokens ) : KecaknoahTryAstNode
ParseUnaryExpression ( Queue tokens ) : Kecaknoah.Analyze.KecaknoahUnaryExpressionAstNode
ParseWhile ( Queue tokens, bool single ) : KecaknoahLoopAstNode
ReplaceBlockClassAccess ( IList node, bool isStatic, string className, IList instanceMethods, IList staticMethods, IList Locals ) : void
ReplaceClassAccess ( KecaknoahClassAstNode node ) : void
ReplaceExpressionClassAccess ( Kecaknoah.Analyze.KecaknoahExpressionAstNode node, bool isStatic, string className, IList instanceMethods, IList staticMethods, IList Locals ) : void

Method Details

KecaknoahParser() public method

インスタンスを初期化します。
public KecaknoahParser ( ) : Base36Encoder
return Base36Encoder

Parse() public method

指定されたKecaknoahLexResultを元にASTを構築します。
public Parse ( Kecaknoah.Analyze.KecaknoahLexResult lex ) : Kecaknoah.Analyze.KecaknoahAst
lex Kecaknoah.Analyze.KecaknoahLexResult 字句解析の結果
return Kecaknoah.Analyze.KecaknoahAst

ParseAsExpression() public method

指定されたKecaknoahLexResultを式として解析します。
public ParseAsExpression ( Kecaknoah.Analyze.KecaknoahLexResult lex ) : Kecaknoah.Analyze.KecaknoahAst
lex Kecaknoah.Analyze.KecaknoahLexResult 字句解析の結果
return Kecaknoah.Analyze.KecaknoahAst