A templating language that looks like Lisp and compiles to HTML
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1234567891011121314151617181920212223242526272829303132
  1. const Compiler = require('../src/compiler')
  2. const Env = require('../src/env')
  3. const Evaluator = require('../src/evaluator')
  4. const Lexer = require('../src/lexer')
  5. const Parser = require('../src/parser')
  6. const scan = source => {
  7. const lexer = new Lexer()
  8. return lexer.scan(source)
  9. }
  10. const parse = source => {
  11. const parser = new Parser()
  12. return parser.parse(scan(source))
  13. }
  14. const evaluate = source => {
  15. const evaluator = new Evaluator()
  16. return evaluator.eval(parse(source), new Env())
  17. }
  18. const compile = source => {
  19. const compiler = new Compiler()
  20. return compiler.compile(evaluate(source))
  21. }
  22. module.exports = {
  23. compile: compile,
  24. evaluate: evaluate,
  25. parse: parse,
  26. scan: scan,
  27. }