C# 클래스 Kecaknoah.Analyze.KecaknoahParser

Kecaknoahの構文解析器を定義します。
파일 보기 프로젝트 열기: kb10uy/Kecaknoah 1 사용 예제들

공개 메소드들

메소드 설명
KecaknoahParser ( ) : Base36Encoder

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

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

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

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

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

비공개 메소드들

메소드 설명
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

메소드 상세

KecaknoahParser() 공개 메소드

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

Parse() 공개 메소드

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

ParseAsExpression() 공개 메소드

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