antlr-ng
Version:
Next generation ANTLR Tool
32 lines (31 loc) • 1.44 kB
TypeScript
import { type Token } from "antlr4ng";
import { IActionSplitterListener } from "../parse/IActionSplitterListener.js";
import { Alternative } from "../tool/Alternative.js";
import { ActionAST } from "../tool/ast/ActionAST.js";
import { Grammar } from "../tool/Grammar.js";
import { Rule } from "../tool/Rule.js";
/** Trigger checks for various kinds of attribute expressions. no side-effects. */
export declare class AttributeChecks implements IActionSplitterListener {
g: Grammar;
/** `null` if action outside of rule */
r: Rule | null;
/** `null` if action outside of alt; could be in rule. */
alt: Alternative | null;
node: ActionAST;
actionToken?: Token;
constructor(g: Grammar, r: Rule | null, alt: Alternative | null, node: ActionAST, actionToken?: Token);
static checkAllAttributeExpressions(g: Grammar): void;
examineAction(): void;
qualifiedAttr(expr: string, x: Token, y: Token): void;
setAttr(expr: string, x: Token, rhs: Token): void;
attr(expr: string, x: Token): void;
nonLocalAttr(expr: string, x: Token, y: Token): void;
setNonLocalAttr(expr: string, x: Token, y: Token, rhs: string): void;
text(text: string): void;
templateInstance(expr: string): void;
indirectTemplateInstance(expr: string): void;
setExprAttribute(expr: string): void;
setSTAttribute(expr: string): void;
templateExpr(expr: string): void;
private isolatedRuleRef;
}