/// <summary> /// Parse the provided A2L file. /// </summary> /// <returns>true if all succeded with no fatal errors</returns> public Asap2File DoParse() { bool status = false; Asap2Scanner scanner; Asap2Parser parser; using (FileStream fs = File.Open(fileName, FileMode.Open)) { using (BufferedStream bs = new BufferedStream(fs)) { scanner = new Asap2Scanner(bs, this.errorHandler); parser = new Asap2Parser(scanner, this.errorHandler); try { status = parser.Parse(); } catch (ParserErrorException e) { errorHandler.reportError(e.Message); status = false; } } } if (status) { return(parser.Asap2File); } else { return(null); } }
/// <summary> /// Parse the provided A2L file. /// </summary> /// <param name="stream">Data stream to parse.</param> /// <returns>true if all succeded with no fatal errors</returns> public Asap2File DoParse(Stream stream) { bool status = false; Asap2Scanner scanner; Asap2Parser parser; scanner = new Asap2Scanner(stream, this.errorHandler); parser = new Asap2Parser(scanner, this.errorHandler); try { status = parser.Parse(); } catch (ParserErrorException e) { errorHandler.reportError(e.Message); status = false; } if (status) { return(parser.Asap2File); } else { return(null); } }