* dynmamic := <START_EVAL_DYNAMIC> expr <END_EVAL>
* deferred := <START_EVAL_DEFERRED> expr <END_EVAL>
*/
protected AstEval eval(boolean required, boolean deferred) throws ScanException, ParseException {
AstEval v = null;
Symbol start_eval = deferred ? START_EVAL_DEFERRED : START_EVAL_DYNAMIC;
if (token.getSymbol() == start_eval) {
consumeToken();
v = new AstEval(expr(true), deferred);
consumeToken(END_EVAL);
} else if (required) {