Exemplo n.º 1
0
        private void AssertWithHeader(string full, string expected, EmptyVisitor visitor)
        {
            var syntax   = new Parser(Tokenizer.Create()).Parse(full);
            var semantic = new Semantic.SemanticAnalyzer().Analize(syntax);
            var machine  = new Optimize.Optimizer().Optimize(semantic);
            var node     = new NscGenerator().Generate(machine);

            node.Accept(visitor);
            visitor.Result.Should().Be(expected);
        }
Exemplo n.º 2
0
        private void AssertGenerated(string transitionSyntax, string expected, EmptyVisitor visitor)
        {
            var header   = "Initial: I FSM:f Actions:acts";
            var syntax   = new Parser(Tokenizer.Create()).Parse(header + transitionSyntax);
            var semantic = new Semantic.SemanticAnalyzer().Analize(syntax);
            var machine  = new Optimize.Optimizer().Optimize(semantic);
            var node     = new NscGenerator().Generate(machine);

            node.Accept(visitor);
            visitor.Result.Should().Be(expected);
        }
Exemplo n.º 3
0
            static void PerformanceTest()
            {
                var fullPath  = Path.GetFullPath(@"..\..\..\..\..\reference-data\large.hron");
                  var allLines  = File.ReadAllLines (fullPath);
                  var visitor   = new EmptyVisitor ();

                  HRONSerialization.TryParse(allLines, visitor);

                  const int Count = 100;
                  var sw = new Stopwatch();
                  Log.Info("Starting performance run...");

                  sw.Start();

                  for (var iter = 0; iter < Count; ++iter)
                  {
                HRONSerialization.TryParse(allLines, visitor);
                  }

                  sw.Stop();

                  Log.Success("{0:#,0} lines in {1:#,0} ms", Count*allLines.Length, sw.ElapsedMilliseconds);
            }