for(int i=0; i<=sz; i++){
ParserVal val=values.get(i);
if(!(val instanceof StringIndexedNumber)){
throw new IllegalArgumentException("illegal content in scale "+_scale.getName());
}
StringIndexedNumber sin=(StringIndexedNumber)val;
// TODO make index and value possible calculation results for more flexibility
// the constant term elimination will already allow some value calculation, though
String index=sin.getIndex().getText();
Double value=sin.getValue().asDouble();
scale.put(index, value, pitch, pitch<sz-1 ? pitch+1 : null, pitch>0 ? pitch-1 : null);
}
scales.put(_scale.getName(), scale);
}
}