public void WhenTheInputSourceIsParsedWithTheBerpGrammarParserForTestParser() { var parser = new BerpGrammar.Parser(); parser.StopAtFirstError = stopAtFirstError; try { ast = parser.Parse(new BerpGrammar.TokenScanner(new StringReader(sourceContent)), new TokenMatcher(), new AstBuilderForTest()); Console.WriteLine(ast); } catch (CompositeParserException parserEx) { parsingError = parserEx; Console.WriteLine(parsingError.GetErrorMessage()); } catch (ParserException ex) { parsingError = new CompositeParserException(new [] { ex }); Console.WriteLine(parsingError.GetErrorMessage()); } catch (Exception ex) { throw new InvalidOperationException("unhandled parsing error", ex); } }
public void WhenTheParserGenerationIsPerformedUsing(string templateName) { var parser = new BerpGrammar.Parser(); var ruleSet = parser.Parse(new TokenScanner(new StringReader(grammarDefinition))); var states = StateCalculator.CalculateStates(ruleSet); try { var generator = new Generator(ruleSet.Settings); outputFile = TestFolders.GetTempFilePath("output.txt"); generator.Generate(Path.Combine("GeneratorTemplates", templateName), ruleSet, states, outputFile); } catch (Exception ex) { generationError = ex; } }
public void WhenTheInputSourceIsParsedWithTheBerpGrammarParserForTestParser() { var parser = new BerpGrammar.Parser(); parser.StopAtFirstError = stopAtFirstError; try { ast = parser.Parse(new BerpGrammar.TokenScanner(new StringReader(sourceContent)), new TokenMatcher(), new AstBuilderForTest()); Console.WriteLine(ast); } catch (CompositeParserException parserEx) { parsingError = parserEx; Console.WriteLine(parsingError.GetErrorMessage()); } catch (ParserException ex) { parsingError = new CompositeParserException(new []{ ex }); Console.WriteLine(parsingError.GetErrorMessage()); } catch (Exception ex) { throw new InvalidOperationException("unhandled parsing error", ex); } }