123456789101112131415161718192021222324252627 |
- 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())
- }
-
- module.exports = {
- evaluate: evaluate,
- parse: parse,
- scan: scan,
- }
-
- console.log(evaluate('(+ 1 2)'))
|