public IRBody build(SEXP exp) {
statements = Lists.newArrayList();
labels = Maps.newHashMap();
TranslationContext context = new TopLevelContext();
Expression returnValue = translateExpression(context, exp);
addStatement(new ReturnStatement(returnValue));
removeRedundantJumps();