antlr-ng
Version:
Next generation ANTLR Tool
14 lines (13 loc) • 722 B
TypeScript
import { ActionAST } from "../tool/ast/ActionAST.js";
import { Grammar } from "../tool/Grammar.js";
import { LexerGrammar } from "../tool/LexerGrammar.js";
import { Rule } from "../tool/Rule.js";
/** Look for errors and dead code stuff */
export declare class UseDefAnalyzer {
static trackTokenRuleRefsInActions(g: Grammar): void;
static actionIsContextDependent(actionAST: ActionAST): boolean;
/** Find all rules reachable from r directly or indirectly for all r in g */
static getRuleDependencies(g: Grammar): Map<Rule, Set<Rule>>;
static getRuleDependencies(g: LexerGrammar, modeName: string): Map<Rule, Set<Rule>>;
static getRuleDependencies(g: Grammar, rules: Rule[]): Map<Rule, Set<Rule>>;
}