UNPKG

@tsukiroku/tiny

Version:
39 lines (38 loc) 1.19 kB
import { Func, Enviroment, Options, Lexer, Parser, Program, LangObject } from './tiny'; export * from './tiny'; declare type Stdio = (...x: Array<any>) => any; interface TinyOption extends Options { enviroment?: Enviroment; root?: string; filename?: string; } interface StdioOptions { stdin: Stdio; stdout: Stdio; stderr: Stdio; } declare const stdin: Stdio; declare const stdout: Stdio; declare const stderr: Stdio; export default class Tiny { x: string; option: TinyOption; builtins: Map<string, Func>; stdio: StdioOptions; constructor(x: string, option?: TinyOption); tokenizer(): Lexer; parser(): Parser; parseProgram(): Program; includeStdlib(env: Enviroment): void; evaluate(program: Program, env: Enviroment): LangObject; eval(): string; evalProgram(program: Program): string; setBuiltin(name: string, func: Func): Tiny; setBuiltins(builtins: Map<string, Func>): Tiny; applyBuiltins(): Tiny; setStdin(func: Stdio): Tiny; setStdout(func: Stdio): Tiny; setStderr(func: Stdio): Tiny; setFileName(filename: string): Tiny; } export { TinyOption, Stdio, StdioOptions, stdin, stdout, stderr };