QUT.GPGen.CodeGenerator.GenerateActionMethod C# (CSharp) Method

GenerateActionMethod() private method

private GenerateActionMethod ( List productions ) : void
productions List
return void
        private void GenerateActionMethod(List<Production> productions)
        {
            Console.WriteLine("  protected override void DoAction(int action)");
            Console.WriteLine("  {");
            Console.WriteLine("    switch (action)");
            Console.WriteLine("    {");
            foreach(Production production in productions)
            {
                if (production.semanticAction != null)
                {
                    string prefix = String.Format(CultureInfo.InvariantCulture, "      case {0}: ", production.num);
                    Console.WriteLine("{0}// {1}", prefix,
                        StringUtilities.MakeComment(prefix.Length, production.ToString()));
                    production.semanticAction.GenerateCode(this);
                    Console.WriteLine("        break;");
                }
            }
            Console.WriteLine("    }");
            Console.WriteLine("  }");
            Console.WriteLine();
        }