* @param parser
* the <tt>Parser</tt> to use for the math capabilities (like Java's Math.{@literal <}function{@literal >}).
* This can be <tt>null</tt>
*/
public Interpreter(Parser parser) {
root = new InterpreterRoot(parser, this);
root.addImport("java.lang.Object");
root.addImport("java.lang.*");
lexer.addRule("IfElse", new Rule<String>("(if|else if|else)", ifelseType, new Action<String>() {
@Override
public Token action(Matcher match, Lexer lexer, Type<String> type) throws LexerException {