1234567891011121314151617181920212223242526272829303132 |
- const Compiler = require('../src/compiler')
- const Env = require('../src/env')
- const Evaluator = require('../src/evaluator')
- const Lexer = require('../src/lexer')
- const Parser = require('../src/parser')
-
- const scan = source => {
- const lexer = new Lexer()
- return lexer.scan(source)
- }
-
- const parse = source => {
- const parser = new Parser()
- return parser.parse(scan(source))
- }
-
- const evaluate = source => {
- const evaluator = new Evaluator()
- return evaluator.eval(parse(source), new Env())
- }
-
- const compile = source => {
- const compiler = new Compiler()
- return compiler.compile(evaluate(source))
- }
-
- module.exports = {
- compile: compile,
- evaluate: evaluate,
- parse: parse,
- scan: scan,
- }
|