A templating language that looks like Lisp and compiles to HTML
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ast.js 701B

123456789101112131415161718192021222324
  1. class Node {
  2. constructor(opts = false) {
  3. if (opts) {
  4. Object.keys(opts).forEach(opt => {
  5. this[opt] = opts[opt]
  6. })
  7. }
  8. }
  9. }
  10. module.exports = {
  11. Application: class Application extends Node {},
  12. Attribute: class Attribute extends Node {},
  13. Boolean: class Boolean extends Node {},
  14. Conditional: class Conditional extends Node {},
  15. Definition: class Definition extends Node {},
  16. Identifier: class Identifier extends Node {},
  17. Lambda: class Lambda extends Node {},
  18. LetBinding: class LetBinding extends Node {},
  19. List: class List extends Node {},
  20. Number: class Number extends Node {},
  21. String: class String extends Node {},
  22. Symbol: class Symbol extends Node {},
  23. }