const Lexer = require('./lexer') const Parser = require('./parser') const Compiler = require('./compiler') const util = require('util') module.exports = function oslo(source, context) { const lexer = new Lexer() const tokens = lexer.scan(source) const parser = new Parser(tokens) const tree = parser.parse() if (tree.error) { return tree } const compiler = new Compiler(tree, context) return compiler.compile() }