Example #1
0
        public override void EnterDeclaration([NotNull] CPP14Parser.DeclarationContext context)
        {
            var text = context.GetText();

            Console.WriteLine($"Prototype: {text} ");
            in_params_list            = false;
            function_def.specifiers   = new List <string> ();
            function_def.ret_type_idx = 0;
            function_def.func_name    = string.Empty;
            function_def.parameters   = new List <Api_Param> ();
        }                   // End EnterDeclaration
Example #2
0
        public override void ExitDeclaration([NotNull] CPP14Parser.DeclarationContext context)
        {
            Console.WriteLine();

            //
            // Display the prototype using what we parsed
            //

            foreach (string sc in function_def.specifiers)
            {
                Console.WriteLine(sc);
            }

            Console.WriteLine(function_def.func_name);
            Console.WriteLine("\t(");

            foreach (Api_Param p in function_def.parameters)
            {
                Console.Write($"\t");

                if (p.is_input)
                {
                    Console.Write("INPUT ");
                }

                if (p.is_output)
                {
                    Console.Write("OUTPUT ");
                }

                Console.Write($"{p.type_qualifier} {p.type} ");

                foreach (string s in p.storage_class)
                {
                    Console.Write($"{s} ");
                }

                Console.WriteLine($"{p.param_name}");
            }

            Console.WriteLine("\t);\n");
        }                   // End ExitDeclaration