public CILProgram Parse(string sourceCode) { var parseTree = _parser.Parse(sourceCode); if (parseTree.Status == Irony.Parsing.ParseTreeStatus.Parsed) { var result = _astBuilder.BuildNode(parseTree.Root); return(result); } var error = parseTree.ParserMessages.First(); var errorMessage = BuildErrorMessage(error); throw new ArgumentException(errorMessage); }