try {
Reader reader = new FileReader(file);
TypedAST res = (TypedAST) new Wyvern().parse(reader, filename);
res.typecheck(Globals.getStandardEnv(), Optional.empty());
res = new DSLTransformer().transform(res);
Value finalV = res.evaluate(Globals.getStandardEnv());
TreeWriter t = new TreeWriter();
finalV.writeArgsToTree(t);
System.out.println(t.getResult());
} catch (IOException e) {
System.err.println("Error reading file " + filename);
} catch (CopperParserException e) {
System.err.print("Parsing error: ");