/// <summary> /// Builds the fixture parser /// </summary> /// <returns>The fixture parser assembly</returns> private static AssemblyReflection BuildFixtureParser() { Stream stream1 = typeof(Program).Assembly.GetManifestResourceStream("Hime.Tests.Driver.Resources.Fixture.gram"); Stream stream2 = typeof(CompilationTask).Assembly.GetManifestResourceStream("Hime.SDK.Sources.Input.HimeGrammar.gram"); CompilationTask task = new CompilationTask(); task.AddInputRaw(stream1); task.AddInputRaw(stream2); task.GrammarName = "Fixture"; task.CodeAccess = Modifier.Public; task.Method = ParsingMethod.LALR1; task.Mode = Mode.Assembly; task.Namespace = "Hime.Tests.Driver"; task.Execute(); return(new AssemblyReflection("Fixture.dll")); }
/// <summary> /// Generates the parser for the command line /// </summary> /// <returns>The number of errors (should be 0)</returns> private static int GenerateCLParser() { Stream stream = typeof(Program).Assembly.GetManifestResourceStream("Hime.HimeCC.Sources.CommandLine.gram"); CompilationTask task = new CompilationTask(); task.Mode = Mode.Source; task.AddInputRaw(stream); task.Namespace = "Hime.HimeCC"; task.CodeAccess = Modifier.Internal; task.Method = ParsingMethod.LALR1; Report report = task.Execute(); return(report.Errors.Count); }