UNPKG

toylang

Version:

A toy programming language built with TypeScript for learning purposes

29 lines (28 loc) 1.81 kB
import { Environment } from "./Environment"; import { tl } from "./typings"; import { CallableFunction } from "./CallableFunction"; export declare class Interpreter { ast: tl.Program | null; globals: Environment; environment: Environment; constructor(); execute(ast: tl.Program): string | number | boolean | void | CallableFunction | null; visit(node: null | tl.Statement | tl.Expression | tl.UnaryExpression | tl.BinaryExpression | tl.CallExpression | tl.Program | tl.Literal | tl.Identifier): number | string | CallableFunction | null | boolean | void; visitIdentifier(node: tl.Identifier): number | string | CallableFunction; visitExpression(node: tl.ExpressionStatement): string | number | boolean | void | CallableFunction | null; visitAssignmentExpression(node: tl.AssignmentExpression): any; visitReturnStatement(node: tl.ReturnStatement): void; visitFunctionDeclaration(node: tl.FunctionDeclaration): null; visitCallExpression(node: tl.CallExpression): void; visitVariableStatement(node: tl.VariableStatement): null; visitBlockStatement(node: tl.BlockStatement): null; executeBlock(statements: tl.Statement[], environment: Environment): void; visitIfStatement(node: tl.IfStatement): null; visitWhileStatement(node: tl.WhileStatement): null; visitForStatement(node: tl.ForStatement): null; visitBinaryExpression(node: tl.BinaryExpression): number | boolean; visitLogicalExpression(node: tl.LogicalExpression): string | number | boolean | void | CallableFunction | null; visitLiterals(node: tl.Literal): string | number | boolean | null; visitUnaryExpression(node: tl.UnaryExpression): string | number | boolean | void | CallableFunction | null; visitProgram(node: tl.Program): null; }