1 package org.simantics.spreadsheet.graph.parser.ast;
3 import java.util.ArrayList;
5 abstract public class AstList implements AstValue {
7 public final AstValue left;
9 public ArrayList<String> rightOps;
10 public ArrayList<AstValue> rightValues;
12 public AstList(AstValue left) {
16 public int rightCount() {
17 if(rightValues == null) return 0;
18 return rightValues.size();
21 public String rightOp(int index) {
22 return rightOps.get(index);
25 public AstValue rightValue(int index) {
26 return rightValues.get(index);
29 public void add(String op, AstValue value) {
30 if(rightValues == null) {
31 rightOps = new ArrayList<>();
32 rightValues = new ArrayList<>();
35 rightValues.add(value);
38 public AstValue simplify() {
39 if(rightValues == null) return left;