Continued work on parser, now calling functions and rolling correctly

This commit is contained in:
Stefan Zermatten
2020-09-10 00:14:24 +02:00
parent 81645df2a6
commit ede4e1367d
16 changed files with 243 additions and 88 deletions

View File

@@ -2,12 +2,12 @@ import ParseNode from '/imports/parser/parseTree/ParseNode.js';
export default class ArrayNode extends ParseNode {
constructor({values}) {
super();
super(...arguments);
this.values = values;
}
compile(){
let values = this.values.map(node => node.compile());
return new ArrayNode({values});
compile(scope){
let values = this.values.map(node => node.compile(scope));
return new ArrayNode({values, previousNodes: [this]});
}
toString(){
return `[${this.values.map(node => node.toString()).join(', ')}]`;