A templating language that looks like Lisp and compiles to HTML
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

index.js 653B

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. };