UNPKG

thaw-interpreter-types

Version:
22 lines 1.04 kB
import { Stack } from 'thaw-common-utilities.ts'; import { IToken } from './itoken'; import { IProduction } from './iproduction'; import { GrammarSymbol } from '../enums/grammar-symbols'; import { LexicalAnalyzerSelector } from '../enums/lexical-analyzer-selectors'; import { ParserSelector } from '../enums/parser-selectors'; export declare type SemanticStackType = Stack<any>; export interface IGrammar { terminals: GrammarSymbol[]; nonTerminals: GrammarSymbol[]; startSymbol: GrammarSymbol; productions: IProduction[]; languageName: string; defaultLexicalAnalyzer: LexicalAnalyzerSelector; defaultParser: ParserSelector; selectorsOfCompatibleParsers: ParserSelector[]; executeSemanticAction(semanticStack: SemanticStackType, action: string): void; tokenToSymbol(token: IToken): GrammarSymbol; pushTokenOntoSemanticStack(semanticStack: SemanticStackType, tokenAsSymbol: GrammarSymbol, token: IToken): void; findStartingProduction(): IProduction; } //# sourceMappingURL=igrammar.d.ts.map