thaw-grammar
Version:
Implementations of the grammars of several programming languages, including LISP, Scheme, Prolog, and the Lambda Calculus.
17 lines • 1.11 kB
TypeScript
import { GrammarSymbol, IToken, ParserSelector, SemanticStackType } from 'thaw-interpreter-types';
import { Name } from 'thaw-interpreter-core';
import { IExpression } from '../../common/domain-object-model/iexpression';
import { IVariable } from '../../common/domain-object-model/variable';
import { GrammarBase } from 'thaw-interpreter-core';
import { ISExpression } from './domain-object-model/isexpression';
export declare class LISPGrammarForLRParser extends GrammarBase {
constructor();
get languageName(): string;
get defaultParser(): ParserSelector;
get selectorsOfCompatibleParsers(): ParserSelector[];
executeSemanticAction(semanticStack: SemanticStackType, action: string): void;
tokenToSymbol(token: IToken): GrammarSymbol;
pushTokenOntoSemanticStack(semanticStack: SemanticStackType, tokenAsSymbol: GrammarSymbol, token: IToken): void;
protected createLetUsage(letName: Name, varExprList: [IVariable<ISExpression>, IExpression<ISExpression>][], expression: IExpression<ISExpression>): IExpression<ISExpression>;
}
//# sourceMappingURL=lisp-grammar-for-lr-parser.d.ts.map