public static void TestParserRule <R>(String source, ParserEnvironment env, IParser <R> parser) { var scanner = new Scanner(source); var input = new ParserInput(env, scanner.Tokens); var result = parser.Parse(input); Assert.IsTrue(result.IsSuccessful); Assert.IsTrue(result.Source.Count() == 1); }
public void TestCompiler() { Console.WriteLine(Directory.GetCurrentDirectory()); var files = Directory .GetFiles("../../TestPrograms") .Where(_ => _.EndsWith(".c")); var sources = files.Select(File.ReadAllText).ToArray(); foreach (var source in sources) { var scanner = new Scanner(source); var tokens = scanner.Tokens; var env = new ParserEnvironment(); var input = new ParserInput(env, tokens); var parserResult = CParsers.TranslationUnit.Parse(input); var semantResult = parserResult.Result.GetTranslnUnit(); semantResult.Value.CodeGenerate(new CGenState()); } }
public void TestParser() { System.Console.WriteLine(Directory.GetCurrentDirectory()); var files = Directory .GetFiles("../../TestPrograms") .Where(_ => _.EndsWith(".c")); var sources = files.Select(File.ReadAllText).ToArray(); foreach (var source in sources) { var scanner = new Scanner(source); var tokens = scanner.Tokens; var env = new ParserEnvironment(); var input = new ParserInput(env, scanner.Tokens); var result = CParsers.TranslationUnit.Parse(input); Assert.IsTrue(result.IsSuccessful); Assert.IsTrue(result.Source.Count() == 1); } }
public void TestParser() { System.Console.WriteLine(Directory.GetCurrentDirectory()); var files = Directory .GetFiles("../../TestPrograms") .Where(_ => _.EndsWith(".c")); var sources = files.Select(File.ReadAllText).ToArray(); foreach (var source in sources) { var scanner = new Scanner(source); var tokens = scanner.Tokens; var env = new ParserEnvironment(); var input = new ParserInput(env, scanner.Tokens); var result = CParsers.TranslationUnit.Parse(input); Assert.IsTrue(result.IsSuccessful); Assert.IsTrue(result.Source.Count() == 1); } }
public void TestCompiler() { Console.WriteLine(Directory.GetCurrentDirectory()); var files = Directory .GetFiles("../../TestPrograms") .Where(_ => _.EndsWith(".c")); var sources = files.Select(File.ReadAllText).ToArray(); foreach (var source in sources) { var scanner = new Scanner(source); var tokens = scanner.Tokens; var env = new ParserEnvironment(); var input = new ParserInput(env, tokens); var parserResult = CParsers.TranslationUnit.Parse(input); var semantResult = parserResult.Result.GetTranslnUnit(); semantResult.Value.CodeGenerate(new CGenState()); } }