UNPKG

@gyro-lang/core

Version:

Fast, Performant and scalable programming language designed for string manipulation and deep recursion.

30 lines (28 loc) 951 B
import { InputStream } from "./input-stream.js"; import { TokenStream } from "./token-stream.js"; import { parse } from "./parser.js"; import { evaluate } from "./interpreter.js"; import { compileJS } from "./transpiler.js"; import { Environment } from "./environment.js"; const Gyro = { evaluate(code: string, env: Environment = new Environment(null)) { const input = new InputStream(code); const tokens = new TokenStream(input); const ast = parse(tokens); return evaluate(ast, env); }, evaluateAST(ast: object, env: Environment = new Environment(null)) { return evaluate(ast, env); }, parse(code: string) { const input = new InputStream(code); const tokens = new TokenStream(input); return parse(tokens); }, tokenize(code: string) { const input = new InputStream(code); const tokens = new TokenStream(input); return tokens.all(); } } export { InputStream, TokenStream, parse, evaluate, compileJS, Environment, Gyro };