@tsukiroku/tiny
Version:
Tiny interpreter
36 lines (35 loc) • 1.01 kB
TypeScript
import * as Tiny from '../../index';
export default class Parser {
lexer: Tiny.Lexer;
option: Tiny.Options;
currToken: Tiny.Token;
peekToken: Tiny.Token;
currLine: number;
currColumn: number;
messages: Tiny.Errors;
errors: Array<Tiny.ParseError>;
constructor(lexer: Tiny.Lexer, option: Tiny.Options);
parseProgram(): Tiny.Program;
private parseStatement;
private nextToken;
private currPos;
private expectPeek;
private peekTokenIs;
private currTokenIs;
private pushError;
private parseLetStatement;
private parseReturnStatement;
private parseWhileStatement;
private parseDecorator;
private parseExpression;
private parseExpressionStatement;
private parsePrefix;
private prefixParseOps;
private parseInfixExpression;
private parseBlockStatement;
private parseFunctionParameters;
private parseExpressionParameters;
private peekPriority;
private currPriority;
private getPriority;
}