Browse Source

Move AST nodes into one file

master
Dylan Baker 5 years ago
parent
commit
b9e4a1f908

+ 23
- 0
src/ast.js View File

@@ -0,0 +1,23 @@
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
+
11
+module.exports = {
12
+  Application: class Application extends Node {},
13
+  Attribute: class Attribute extends Node {},
14
+  Boolean: class Boolean extends Node {},
15
+  Conditional: class Conditional extends Node {},
16
+  Definition: class Definition extends Node {},
17
+  Identifier: class Identifier extends Node {},
18
+  Lambda: class Lambda 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
+};

+ 0
- 7
src/ast/application.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Application extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 7
src/ast/attribute.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Attribute extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 7
src/ast/boolean.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Boolean extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 7
src/ast/conditional.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Conditional extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 7
src/ast/definition.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Definition extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 7
src/ast/identifier.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Identifier extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 25
src/ast/index.js View File

@@ -1,25 +0,0 @@
1
-const Application = require("./application");
2
-const Attribute = require("./attribute");
3
-const Boolean = require("./boolean");
4
-const Conditional = require('./conditional')
5
-const Definition = require('./definition')
6
-const Identifier = require("./identifier");
7
-const Lambda = require("./lambda");
8
-const List = require("./list");
9
-const Number = require("./number");
10
-const String = require("./string");
11
-const Symbol = require("./symbol");
12
-
13
-module.exports = {
14
-  Application: Application,
15
-  Attribute: Attribute,
16
-  Boolean: Boolean,
17
-  Conditional: Conditional,
18
-  Definition: Definition,
19
-  Identifier: Identifier,
20
-  Lambda: Lambda,
21
-  List: List,
22
-  Number: Number,
23
-  String: String,
24
-  Symbol: Symbol,
25
-};

+ 0
- 7
src/ast/lambda.js View File

@@ -1,7 +0,0 @@
1
-const Node = require("./node");
2
-
3
-module.exports = class Lambda extends Node {
4
-  constructor(opts) {
5
-    super(opts);
6
-  }
7
-};

+ 0
- 7
src/ast/list.js View File

@@ -1,7 +0,0 @@
1
-const Node = require("./node");
2
-
3
-module.exports = class List extends Node {
4
-  constructor(opts) {
5
-    super(opts);
6
-  }
7
-};

+ 0
- 9
src/ast/node.js View File

@@ -1,9 +0,0 @@
1
-module.exports = class Node {
2
-  constructor(opts = false) {
3
-    if (opts) {
4
-      Object.keys(opts).forEach(opt => {
5
-        this[opt] = opts[opt]
6
-      })
7
-    }
8
-  }
9
-}

+ 0
- 7
src/ast/number.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Number extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 7
src/ast/string.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class String extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 0
- 7
src/ast/symbol.js View File

@@ -1,7 +0,0 @@
1
-const Node = require('./node')
2
-
3
-module.exports = class Symbol extends Node {
4
-  constructor(opts) {
5
-    super(opts)
6
-  }
7
-}

+ 1
- 1
test/parserTest.js View File

@@ -1,7 +1,7 @@
1 1
 const test = require('tape')
2 2
 const helpers = require('./helpers')
3 3
 
4
-const AST = require('../src/ast/index')
4
+const AST = require('../src/ast')
5 5
 const tt = require('../src/tokenTypes')
6 6
 
7 7
 test('parses token stream into a tree', t => {

Loading…
Cancel
Save