Example #1
0
        public override object VisitParameters([NotNull] GrammarParser.ParametersContext context)
        {
            var parameters = new ParameterModel();

            if (context == null)
            {
                return(parameters);
            }

            parameters.BodyParameter = context.bodyParameter() != null ?
                                       (KeyValuePair <string, string>)Visit(context.bodyParameter()) : new KeyValuePair <string, string>();
            parameters.QueryParameters = context.queryParameter() != null ?
                                         (Dictionary <string, string>)Visit(context.queryParameter()) : new Dictionary <string, string>();

            return(parameters);
        }
Example #2
0
        private FuncItem createFunction(GrammarParser.Def_one_functionContext context)
        {
            String   name                       = context.Identifier().GetText();;
            DataType returnDataType             = DataType.Int;
            List <FunctionParameter> parameters = new List <FunctionParameter>();

            if (context.function_return_data_typ().Data_type_void() != null)
            {
                returnDataType = DataType.Void;
            }
            else if (context.function_return_data_typ().data_type().Data_type_bool() != null)
            {
                returnDataType = DataType.Bool;
            }
            else if (context.function_return_data_typ().data_type().Data_type_double() != null)
            {
                returnDataType = DataType.Double;
            }

            GrammarParser.ParametersContext paramContext = context.parameters();
            while (paramContext != null && paramContext.Identifier() != null)
            {
                DataType dType = DataType.Int;
                if (paramContext.data_type().Data_type_double() != null)
                {
                    dType = DataType.Double;
                }
                else if (paramContext.data_type().Data_type_bool() != null)
                {
                    dType = DataType.Bool;
                }

                parameters.Add(new FunctionParameter(paramContext.Identifier().GetText(), dType));
                paramContext = paramContext.parameters();
            }

            return(new FuncItem(name, returnDataType, instructionCount, parameters));
        }
Example #3
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="GrammarParser.parameters"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitParameters([NotNull] GrammarParser.ParametersContext context)
 {
 }
Example #4
0
 /// <summary>
 /// Visit a parse tree produced by <see cref="GrammarParser.parameters"/>.
 /// <para>
 /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
 /// on <paramref name="context"/>.
 /// </para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 /// <return>The visitor result.</return>
 public virtual Result VisitParameters([NotNull] GrammarParser.ParametersContext context)
 {
     return(VisitChildren(context));
 }