Parser now uses context to store details of the computation

This commit is contained in:
Stefan Zermatten
2020-09-18 10:14:53 +02:00
parent b69ad6c306
commit 06f17a6d33
12 changed files with 112 additions and 108 deletions

View File

@@ -5,9 +5,9 @@ export default class ArrayNode extends ParseNode {
super(...arguments);
this.values = values;
}
compile(scope){
let values = this.values.map(node => node.compile(scope));
return new ArrayNode({values, previousNodes: [this]});
resolve(fn, scope, context){
let values = this.values.map(node => node[fn](scope, context));
return new ArrayNode({values});
}
toString(){
return `[${this.values.map(node => node.toString()).join(', ')}]`;