A templating language that looks like Lisp and compiles to HTML
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526
  1. const Lexer = require("./lexer");
  2. const Parser = require("./parser");
  3. const Resolver = require("./resolver");
  4. const Compiler = require("./compiler");
  5. module.exports = function oslo(source, context) {
  6. const lexer = new Lexer();
  7. const tokens = lexer.scan(source);
  8. const parser = new Parser(tokens);
  9. const tree = parser.parse();
  10. if (tree.error) {
  11. return tree;
  12. }
  13. const resolver = new Resolver();
  14. const resolvedTree = resolver.resolve(tree, context);
  15. const util = require("util");
  16. console.log(util.inspect(resolvedTree, { depth: null }));
  17. process.exit();
  18. const compiler = new Compiler(tree);
  19. return compiler.compile();
  20. };