コード例 #1
0
        public static void CompileDec(ParsedCommandOptions opts)
        {
            var Dec = new DecFile(@"C:\Users\yveem\source\repos\Redmond\TestDec.dec");

            CompileSettings.InitSettings(Dec.SettingsLines);
            var gram = new DecGrammar(Dec);

            Console.WriteLine("Generating parsing table...");

            ParseFile parseFile = new ParseFile(@"C:\Users\yveem\source\repos\Redmond\TestParse.parse");

            parseFile.SetLexLines(Dec.LexLines);
            parseFile.SetParseTableLines(gram.SerializeParsingTable());
            parseFile.SetTokenIdLines(ProductionEntry.Register.Serialize());
            parseFile.Save();

            Console.WriteLine("Done!");
            Console.Beep();

            var parser = gram.GetParser();

            var input = new MultiFileInputStream(new List <string>(new string[] { @"C:\Users\yveem\source\repos\Redmond\TestInput.txt" }));
            //var input = GetAllCSFiles(@"C:\Users\yveem\source\repos\CompileTestProject");


            TokenStream Input = new TokenStream(input, Dec.LexLines, new string(Enumerable.Range('\x1', 127).Select(i => (char)i).ToArray()));

            parser.Parse(Input);
            var tree = SyntaxTreeNode.CurrentNode;

            Console.WriteLine(tree.ToTreeString());
            Console.WriteLine("============\n");
            new IntermediateGenerator(new ConsoleStream()).Start(tree);
            Console.WriteLine("============\n");
        }
コード例 #2
0
        public async Task SaveFromMemory()
        {
            string text = "hello, world";

            byte[]    data = Encoding.UTF8.GetBytes(text);
            ParseFile file = new ParseFile("text", data);
            await file.Save();
        }
コード例 #3
0
 public async Task SaveFromPath()
 {
     string    path     = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory())));
     string    filePath = $"{path}/Assets/avatar.jpg";
     ParseFile file     = new ParseFile("avatar.jpg", filePath);
     await file.Save((progress, total) => {
         TestContext.WriteLine($"{progress}/{total}");
     });
 }
コード例 #4
0
 public async Task SaveFromUrl()
 {
     ParseFile file = new ParseFile("avatar.jpg", new Uri("http://img95.699pic.com/photo/50015/9034.jpg_wh300.jpg"));
     await file.Save();
 }