Ejemplo n.º 1
0
 static void Main(string[] args)
 {
     using var env = EnvWriter.Begin(true);
     try {
         string file;
         if (args.Length > 0)
         {
             file = args[0];
         }
         else
         {
             env.Write("Qutum file ? "); env.Flush();
             file = Console.ReadLine();
         }
         var bs = File.ReadAllBytes(file);
         var p  = new Parser(new Lexer {
             allValue = true
         });
         using var __ = p.scan.Load(new ScanByte(bs));
         var top = p.Parse();
         top.Dump((Func <int, int, (int, int, int, int)>)p.scan.LineCol);
     }
     catch (Exception e) {
         env.WriteLine(e);
     }
 }
Ejemplo n.º 2
0
        public static (TreeStr t, ScanStr) Parse(this ParserStr p, string input)
        {
            var t = p.Load(new ScanStr(input)).Parse().Dump();

            using var env = EnvWriter.Begin();
            env.WriteLine($"---- match {p.matchn} / loc {p.locn} = {p.matchn / Math.Max(p.locn, 1)} ----");
            return(t, p.scan);
        }