spider-src 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +74 -0
- data/README.md +37 -0
- data/Rakefile +25 -0
- data/lib/spider-src/support/spider/.eslintrc +17 -0
- data/lib/spider-src/support/spider/.npmignore +9 -0
- data/lib/spider-src/support/spider/.travis.yml +7 -0
- data/lib/spider-src/support/spider/.yo-rc.json +3 -0
- data/lib/spider-src/support/spider/CHANGELOG.md +64 -0
- data/lib/spider-src/support/spider/Gruntfile.js +97 -0
- data/lib/spider-src/support/spider/Gruntfile.spider +93 -0
- data/lib/spider-src/support/spider/LICENSE +201 -0
- data/lib/spider-src/support/spider/README.md +50 -0
- data/lib/spider-src/support/spider/cli.js +119 -0
- data/lib/spider-src/support/spider/lib/ast/CaseClause.js +179 -0
- data/lib/spider-src/support/spider/lib/ast/CatchClause.js +26 -0
- data/lib/spider-src/support/spider/lib/ast/ExportBatchSpecifier.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/ExportSpecifier.js +33 -0
- data/lib/spider-src/support/spider/lib/ast/ImportDefaultSpecifier.js +23 -0
- data/lib/spider-src/support/spider/lib/ast/ImportNamespaceSpecifier.js +23 -0
- data/lib/spider-src/support/spider/lib/ast/ImportSpecifier.js +40 -0
- data/lib/spider-src/support/spider/lib/ast/Node.js +93 -0
- data/lib/spider-src/support/spider/lib/ast/Parameter.js +229 -0
- data/lib/spider-src/support/spider/lib/ast/Program.js +58 -0
- data/lib/spider-src/support/spider/lib/ast/Property.js +32 -0
- data/lib/spider-src/support/spider/lib/ast/Range.js +257 -0
- data/lib/spider-src/support/spider/lib/ast/VariableDeclarator.js +29 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ArrayExpression.js +41 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ArrayPattern.js +45 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/AssignmentExpression.js +29 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/BinaryExpression.js +104 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/CallExpression.js +139 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ConditionalExpression.js +31 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/CurryCallExpression.js +102 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ExistentialExpression.js +83 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ForInExpression.js +116 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/FunctionExpression.js +157 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/InExpression.js +99 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/LogicalExpression.js +50 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/MemberExpression.js +43 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NewExpression.js +46 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NullCheckCallExpression.js +132 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NullCoalescingExpression.js +114 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NullPropagatingExpression.js +161 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ObjectExpression.js +39 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ObjectPattern.js +49 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/RangeMemberExpression.js +157 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/SplatExpression.js +48 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/SuperExpression.js +170 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ThisExpression.js +22 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/UnaryExpression.js +147 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/UpdateExpression.js +26 -0
- data/lib/spider-src/support/spider/lib/ast/literals/BooleanLiteral.js +24 -0
- data/lib/spider-src/support/spider/lib/ast/literals/Identifier.js +60 -0
- data/lib/spider-src/support/spider/lib/ast/literals/NullLiteral.js +24 -0
- data/lib/spider-src/support/spider/lib/ast/literals/NumberLiteral.js +24 -0
- data/lib/spider-src/support/spider/lib/ast/literals/RegularExpressionLiteral.js +25 -0
- data/lib/spider-src/support/spider/lib/ast/literals/StringLiteral.js +90 -0
- data/lib/spider-src/support/spider/lib/ast/literals/UndefinedLiteral.js +30 -0
- data/lib/spider-src/support/spider/lib/ast/statements/BlockStatement.js +47 -0
- data/lib/spider-src/support/spider/lib/ast/statements/BreakStatement.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ContinueStatement.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/statements/DebuggerStatement.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/statements/DoWhileStatement.js +25 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ExportDeclarationStatement.js +51 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ExpressionStatement.js +22 -0
- data/lib/spider-src/support/spider/lib/ast/statements/FallthroughStatement.js +74 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ForInStatement.js +79 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ForOfStatement.js +98 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ForStatement.js +43 -0
- data/lib/spider-src/support/spider/lib/ast/statements/FunctionDeclarationStatement.js +104 -0
- data/lib/spider-src/support/spider/lib/ast/statements/GoStatement.js +41 -0
- data/lib/spider-src/support/spider/lib/ast/statements/IfStatement.js +32 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ImportDeclarationStatement.js +40 -0
- data/lib/spider-src/support/spider/lib/ast/statements/PushStatement.js +37 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ReturnStatement.js +26 -0
- data/lib/spider-src/support/spider/lib/ast/statements/SwitchStatement.js +159 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ThrowStatement.js +22 -0
- data/lib/spider-src/support/spider/lib/ast/statements/TryStatement.js +36 -0
- data/lib/spider-src/support/spider/lib/ast/statements/UntilStatement.js +31 -0
- data/lib/spider-src/support/spider/lib/ast/statements/UseStatement.js +49 -0
- data/lib/spider-src/support/spider/lib/ast/statements/VariableDeclarationStatement.js +36 -0
- data/lib/spider-src/support/spider/lib/ast/statements/WhileStatement.js +25 -0
- data/lib/spider-src/support/spider/lib/ast.js +16 -0
- data/lib/spider-src/support/spider/lib/parser.js +14878 -0
- data/lib/spider-src/support/spider/lib/spider.js +217 -0
- data/lib/spider-src/support/spider/package.json +61 -0
- data/lib/spider-src/support/spider/spider-script.js +6 -0
- data/lib/spider-src/support/spider/src/ast/CaseClause.spider +179 -0
- data/lib/spider-src/support/spider/src/ast/CatchClause.spider +30 -0
- data/lib/spider-src/support/spider/src/ast/ExportBatchSpecifier.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/ExportSpecifier.spider +37 -0
- data/lib/spider-src/support/spider/src/ast/ImportDefaultSpecifier.spider +25 -0
- data/lib/spider-src/support/spider/src/ast/ImportNamespaceSpecifier.spider +25 -0
- data/lib/spider-src/support/spider/src/ast/ImportSpecifier.spider +44 -0
- data/lib/spider-src/support/spider/src/ast/Node.spider +104 -0
- data/lib/spider-src/support/spider/src/ast/Parameter.spider +233 -0
- data/lib/spider-src/support/spider/src/ast/Program.spider +109 -0
- data/lib/spider-src/support/spider/src/ast/Property.spider +36 -0
- data/lib/spider-src/support/spider/src/ast/Range.spider +291 -0
- data/lib/spider-src/support/spider/src/ast/VariableDeclarator.spider +33 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ArrayExpression.spider +32 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ArrayPattern.spider +37 -0
- data/lib/spider-src/support/spider/src/ast/expressions/AssignmentExpression.spider +34 -0
- data/lib/spider-src/support/spider/src/ast/expressions/BinaryExpression.spider +125 -0
- data/lib/spider-src/support/spider/src/ast/expressions/CallExpression.spider +149 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ConditionalExpression.spider +34 -0
- data/lib/spider-src/support/spider/src/ast/expressions/CurryCallExpression.spider +109 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ExistentialExpression.spider +102 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ForInExpression.spider +140 -0
- data/lib/spider-src/support/spider/src/ast/expressions/FunctionExpression.spider +183 -0
- data/lib/spider-src/support/spider/src/ast/expressions/InExpression.spider +114 -0
- data/lib/spider-src/support/spider/src/ast/expressions/LogicalExpression.spider +62 -0
- data/lib/spider-src/support/spider/src/ast/expressions/MemberExpression.spider +57 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NewExpression.spider +40 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NullCheckCallExpression.spider +151 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NullCoalescingExpression.spider +151 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NullPropagatingExpression.spider +190 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ObjectExpression.spider +30 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ObjectPattern.spider +42 -0
- data/lib/spider-src/support/spider/src/ast/expressions/RangeMemberExpression.spider +179 -0
- data/lib/spider-src/support/spider/src/ast/expressions/SplatExpression.spider +49 -0
- data/lib/spider-src/support/spider/src/ast/expressions/SuperExpression.spider +235 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ThisExpression.spider +21 -0
- data/lib/spider-src/support/spider/src/ast/expressions/UnaryExpression.spider +158 -0
- data/lib/spider-src/support/spider/src/ast/expressions/UpdateExpression.spider +28 -0
- data/lib/spider-src/support/spider/src/ast/literals/BooleanLiteral.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/literals/Identifier.spider +68 -0
- data/lib/spider-src/support/spider/src/ast/literals/NullLiteral.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/literals/NumberLiteral.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/literals/RegularExpressionLiteral.spider +24 -0
- data/lib/spider-src/support/spider/src/ast/literals/StringLiteral.spider +91 -0
- data/lib/spider-src/support/spider/src/ast/literals/UndefinedLiteral.spider +30 -0
- data/lib/spider-src/support/spider/src/ast/statements/BlockStatement.spider +45 -0
- data/lib/spider-src/support/spider/src/ast/statements/BreakStatement.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/statements/ContinueStatement.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/statements/DebuggerStatement.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/statements/DoWhileStatement.spider +28 -0
- data/lib/spider-src/support/spider/src/ast/statements/ExportDeclarationStatement.spider +46 -0
- data/lib/spider-src/support/spider/src/ast/statements/ExpressionStatement.spider +22 -0
- data/lib/spider-src/support/spider/src/ast/statements/FallthroughStatement.spider +85 -0
- data/lib/spider-src/support/spider/src/ast/statements/ForInStatement.spider +92 -0
- data/lib/spider-src/support/spider/src/ast/statements/ForOfStatement.spider +117 -0
- data/lib/spider-src/support/spider/src/ast/statements/ForStatement.spider +51 -0
- data/lib/spider-src/support/spider/src/ast/statements/FunctionDeclarationStatement.spider +115 -0
- data/lib/spider-src/support/spider/src/ast/statements/GoStatement.spider +44 -0
- data/lib/spider-src/support/spider/src/ast/statements/IfStatement.spider +38 -0
- data/lib/spider-src/support/spider/src/ast/statements/ImportDeclarationStatement.spider +33 -0
- data/lib/spider-src/support/spider/src/ast/statements/PushStatement.spider +40 -0
- data/lib/spider-src/support/spider/src/ast/statements/ReturnStatement.spider +28 -0
- data/lib/spider-src/support/spider/src/ast/statements/SwitchStatement.spider +161 -0
- data/lib/spider-src/support/spider/src/ast/statements/ThrowStatement.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/statements/TryStatement.spider +42 -0
- data/lib/spider-src/support/spider/src/ast/statements/UntilStatement.spider +36 -0
- data/lib/spider-src/support/spider/src/ast/statements/UseStatement.spider +62 -0
- data/lib/spider-src/support/spider/src/ast/statements/VariableDeclarationStatement.spider +34 -0
- data/lib/spider-src/support/spider/src/ast/statements/WhileStatement.spider +28 -0
- data/lib/spider-src/support/spider/src/ast.spider +80 -0
- data/lib/spider-src/support/spider/src/spider.pegjs +1434 -0
- data/lib/spider-src/support/spider/src/spider.spider +276 -0
- data/lib/spider-src/support/spider/test/spider_test.js +1787 -0
- data/lib/spider-src/version.rb +5 -0
- data/lib/spider-src.rb +37 -0
- data/spider-src.gemspec +24 -0
- data/test/test_spider_src.rb +33 -0
- metadata +225 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
use :node;
|
2
|
+
|
3
|
+
var Node = module.require('../Node').Node;
|
4
|
+
|
5
|
+
fn UntilStatement(test, body)
|
6
|
+
extends Node {
|
7
|
+
|
8
|
+
this.type = 'UntilStatement';
|
9
|
+
|
10
|
+
this.test = test;
|
11
|
+
this.test.parent = this;
|
12
|
+
|
13
|
+
this.body = body;
|
14
|
+
this.body.parent = this;
|
15
|
+
}
|
16
|
+
|
17
|
+
UntilStatement.prototype.codegen = () -> {
|
18
|
+
if !super.codegen() {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
|
22
|
+
this.type = 'WhileStatement';
|
23
|
+
|
24
|
+
this.test = {
|
25
|
+
"type": "UnaryExpression",
|
26
|
+
"operator": "!",
|
27
|
+
"argument": this.test.codegen(),
|
28
|
+
"prefix": true
|
29
|
+
};
|
30
|
+
|
31
|
+
this.body = this.body.blockWrap().codegen();
|
32
|
+
|
33
|
+
return this;
|
34
|
+
};
|
35
|
+
|
36
|
+
exports.UntilStatement = UntilStatement;
|
@@ -0,0 +1,62 @@
|
|
1
|
+
use :node;
|
2
|
+
|
3
|
+
var Node = module.require('../Node').Node;
|
4
|
+
|
5
|
+
fn UseStatement(identifiers)
|
6
|
+
extends Node {
|
7
|
+
|
8
|
+
this.type = 'UseStatement';
|
9
|
+
|
10
|
+
this.identifiers = identifiers;
|
11
|
+
|
12
|
+
for id in this.identifiers {
|
13
|
+
id.parent = this;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
UseStatement.predefinedCollections = {
|
18
|
+
'browser': [
|
19
|
+
'document',
|
20
|
+
'window',
|
21
|
+
'screen',
|
22
|
+
'location',
|
23
|
+
'navigator',
|
24
|
+
'alert',
|
25
|
+
'console',
|
26
|
+
'setTimeout'
|
27
|
+
],
|
28
|
+
|
29
|
+
'node': [
|
30
|
+
'require',
|
31
|
+
'exports',
|
32
|
+
'module',
|
33
|
+
'global',
|
34
|
+
'console',
|
35
|
+
'process',
|
36
|
+
'setTimeout',
|
37
|
+
'__dirname',
|
38
|
+
'__filename',
|
39
|
+
]
|
40
|
+
};
|
41
|
+
|
42
|
+
UseStatement.prototype.codegen = () -> {
|
43
|
+
if !super.codegen() {
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
|
47
|
+
var context = this.getContext().node;
|
48
|
+
|
49
|
+
for id in this.identifiers {
|
50
|
+
if (id.predefinedCollection) {
|
51
|
+
for p in exports.UseStatement.predefinedCollections[id.name] {
|
52
|
+
context.defineIdentifier({ name: p });
|
53
|
+
}
|
54
|
+
} else {
|
55
|
+
context.defineIdentifier(id);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
return null;
|
60
|
+
};
|
61
|
+
|
62
|
+
exports.UseStatement = UseStatement;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
use :node;
|
2
|
+
|
3
|
+
var Node = module.require('../Node').Node;
|
4
|
+
|
5
|
+
fn VariableDeclarationStatement(declarations)
|
6
|
+
extends Node {
|
7
|
+
|
8
|
+
this.type = 'VariableDeclaration';
|
9
|
+
this.declarations = declarations;
|
10
|
+
this.kind = 'let';
|
11
|
+
|
12
|
+
for decl in declarations {
|
13
|
+
decl.parent = this;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
VariableDeclarationStatement.prototype.codegen = () -> {
|
18
|
+
if !super.codegen() {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
|
22
|
+
var i = 0;
|
23
|
+
while (i < this.declarations.length) {
|
24
|
+
var statement = this.declarations[i].codegen();
|
25
|
+
if statement? {
|
26
|
+
this.declarations[this.declarations.indexOf(statement)] = statement;
|
27
|
+
}
|
28
|
+
i++;
|
29
|
+
}
|
30
|
+
|
31
|
+
return this;
|
32
|
+
};
|
33
|
+
|
34
|
+
exports.VariableDeclarationStatement = VariableDeclarationStatement;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
use :node;
|
2
|
+
|
3
|
+
var Node = module.require('../Node').Node;
|
4
|
+
|
5
|
+
fn WhileStatement(test, body)
|
6
|
+
extends Node {
|
7
|
+
|
8
|
+
this.type = 'WhileStatement';
|
9
|
+
|
10
|
+
this.test = test;
|
11
|
+
this.test.parent = this;
|
12
|
+
|
13
|
+
this.body = body;
|
14
|
+
this.body.parent = this;
|
15
|
+
}
|
16
|
+
|
17
|
+
WhileStatement.prototype.codegen = () -> {
|
18
|
+
if !super.codegen() {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
|
22
|
+
this.test = this.test.codegen();
|
23
|
+
this.body = this.body.blockWrap().codegen();
|
24
|
+
|
25
|
+
return this;
|
26
|
+
};
|
27
|
+
|
28
|
+
exports.WhileStatement = WhileStatement;
|
@@ -0,0 +1,80 @@
|
|
1
|
+
use :node;
|
2
|
+
|
3
|
+
var nodes = [
|
4
|
+
'Node',
|
5
|
+
'Program',
|
6
|
+
'VariableDeclarator',
|
7
|
+
'Property',
|
8
|
+
'Range',
|
9
|
+
'Parameter',
|
10
|
+
'CatchClause',
|
11
|
+
'CaseClause',
|
12
|
+
'ImportSpecifier',
|
13
|
+
'ImportNamespaceSpecifier',
|
14
|
+
'ImportDefaultSpecifier',
|
15
|
+
'ExportSpecifier',
|
16
|
+
'ExportBatchSpecifier',
|
17
|
+
'expressions/AssignmentExpression',
|
18
|
+
'expressions/BinaryExpression',
|
19
|
+
'expressions/CallExpression',
|
20
|
+
'expressions/ExistentialExpression',
|
21
|
+
'expressions/LogicalExpression',
|
22
|
+
'expressions/MemberExpression',
|
23
|
+
'expressions/NullCheckCallExpression',
|
24
|
+
'expressions/NullCoalescingExpression',
|
25
|
+
'expressions/NullPropagatingExpression',
|
26
|
+
'expressions/UnaryExpression',
|
27
|
+
'expressions/ObjectExpression',
|
28
|
+
'expressions/ArrayExpression',
|
29
|
+
'expressions/ObjectPattern',
|
30
|
+
'expressions/ArrayPattern',
|
31
|
+
'expressions/UpdateExpression',
|
32
|
+
'expressions/FunctionExpression',
|
33
|
+
'expressions/RangeMemberExpression',
|
34
|
+
'expressions/NewExpression',
|
35
|
+
'expressions/ThisExpression',
|
36
|
+
'expressions/SuperExpression',
|
37
|
+
'expressions/SplatExpression',
|
38
|
+
'expressions/ConditionalExpression',
|
39
|
+
'expressions/InExpression',
|
40
|
+
'expressions/ForInExpression',
|
41
|
+
'expressions/CurryCallExpression',
|
42
|
+
'statements/BlockStatement',
|
43
|
+
'statements/ExpressionStatement',
|
44
|
+
'statements/IfStatement',
|
45
|
+
'statements/ForStatement',
|
46
|
+
'statements/ForInStatement',
|
47
|
+
'statements/ForOfStatement',
|
48
|
+
'statements/WhileStatement',
|
49
|
+
'statements/UntilStatement',
|
50
|
+
'statements/VariableDeclarationStatement',
|
51
|
+
'statements/FunctionDeclarationStatement',
|
52
|
+
'statements/ReturnStatement',
|
53
|
+
'statements/ThrowStatement',
|
54
|
+
'statements/BreakStatement',
|
55
|
+
'statements/ContinueStatement',
|
56
|
+
'statements/DebuggerStatement',
|
57
|
+
'statements/UseStatement',
|
58
|
+
'statements/TryStatement',
|
59
|
+
'statements/SwitchStatement',
|
60
|
+
'statements/FallthroughStatement',
|
61
|
+
'statements/ImportDeclarationStatement',
|
62
|
+
'statements/ExportDeclarationStatement',
|
63
|
+
'statements/DoWhileStatement',
|
64
|
+
'statements/PushStatement',
|
65
|
+
'statements/GoStatement',
|
66
|
+
'literals/BooleanLiteral',
|
67
|
+
'literals/NumberLiteral',
|
68
|
+
'literals/StringLiteral',
|
69
|
+
'literals/NullLiteral',
|
70
|
+
'literals/UndefinedLiteral',
|
71
|
+
'literals/Identifier',
|
72
|
+
'literals/RegularExpressionLiteral'
|
73
|
+
];
|
74
|
+
|
75
|
+
module.exports = {};
|
76
|
+
|
77
|
+
for node in nodes {
|
78
|
+
var name = node.substring(node.lastIndexOf('/') + 1);
|
79
|
+
module.exports[name] = module.require('./ast/' + node)[name];
|
80
|
+
}
|