NaifyView\Dialect\Naify\NaifyStateDirectiveParser クラス

NaifyStateDirectiveParser — Naify dialect の Naify State Directive Parser

Native template 構文の parser / evaluator / runtime contract を担当する。 Twig / Smarty 互換文化を混ぜず、Naify として持つ構文 surface をここで固定する。

使用例

// Naify dialect の parser / expression / runtime helper として使う。
// 通常は NaifyParser や compiler/executor から間接的に呼ばれる。

プロパティ

名前型説明
private $consumeToken Closure
private $currentToken Closure
private $consumeVoidDirectiveToken Closure
private $consumeRawDirectiveClose Closure
private $parseNestedNodes Closure
private $getLoopDepth Closure
private $normalizeExpressionSurface Closure
private $mergeSpan Closure
private $buildParserException Closure

メソッド

メソッド説明
public __construct(Closure $consumeToken, Closure $currentToken, Closure $consumeVoidDirectiveToken, Closure $consumeRawDirectiveClose, Closure $parseNestedNodes, Closure $getLoopDepth, Closure $normalizeExpressionSurface, Closure $mergeSpan, Closure $buildParserException): void インスタンスを初期化する
public parseSetNode(): SetNode `parseSetNode()` を実行する
public parseCaptureNode(): CaptureNode `parseCaptureNode()` を実行する
public parseBreakNode(): BreakNode `parseBreakNode()` を実行する
public parseContinueNode(): ContinueNode `parseContinueNode()` を実行する
public parseCommentNode(): CommentNode `parseCommentNode()` を実行する
public parseLiteralNode(): LiteralNode `parseLiteralNode()` を実行する
private consumeToken(): ?Token `consumeToken()` を実行する
private currentToken(): ?Token `currentToken()` を実行する
private consumeVoidDirectiveToken(string $name): Token `consumeVoidDirectiveToken()` を実行する
private consumeRawDirectiveClose(string $name, string $rawBody): Token `consumeRawDirectiveClose()` を実行する
private parseNestedNodes(callable $shouldStop): array `parseNestedNodes()` を実行する
private getLoopDepth(): int `getLoopDepth()` の値を返す
private readScopeTargetAttribute(Token $token, string $attribute): ?string Parse destinations independently of value expressions and preserve source diagnostics.
private normalizeExpressionSurface(string $expression, ?Token $token, string $label): string `normalizeExpressionSurface()` を実行する
private mergeSpan(Token $openToken, Token $closeToken): mixed `mergeSpan()` を実行する
private parserException(string $message, string $errorCode, string $messageKey, ?Token $token, array $payload = '...'): NaifyViewException `parserException()` を実行する