// This code fetches the value of a symbol Symbol { traversal valueOf (ValueOfVisitor) { to Value; } Double getDoubleValue() = valueOf(ValueOfVisitor); double getValue() {{ Double value = getDoubleValue(); if (value == null) { System.out.println ("Error: no value defined for symbol " + getName()); Main.stopSimulation = true; return 0.0; } else { return value.doubleValue(); } }} void setValue(double d) {{ Value v = Value.parse (""+d); set_value (v); }} } ValueOfVisitor { {{ Double the_value; }} public Double get_return_val() {{ return the_value; }} before Value {{ the_value = host.get_v(); }} }