Пример #1
0
        public parameter_sequence Parse_parameter_sequence(parameter_sequence _self = null)
        {
            var _comma = Parse_comma();

            if (_self != null && _comma == null)
            {
                return(_self);
            }
            //  very important - stops infinite loop basically we must have a ",expr" following

            var _arith_expression_sequnce = Parse_arith_expression_sequence();


            if (_arith_expression_sequnce != null && _comma == null)
            {
                var _parameter_sequence = new parameter_sequence(_arith_expression_sequnce);
                _self = Parse_parameter_sequence(_parameter_sequence);
                return(_self);
            }

            if (_arith_expression_sequnce != null && _comma != null)
            {
                var _parameter_sequence = new parameter_sequence(_arith_expression_sequnce, _self, _comma);
                _self = Parse_parameter_sequence(_parameter_sequence);
                return(_self);
            }



            return(_self);
        }
Пример #2
0
 public parameter_sequence(arith_expression_sequence _arith_expression_sequence, parameter_sequence _self_parameter_sequence, comma _comma)
 {
     comma = _comma;
     arith_expression_sequence = _arith_expression_sequence;
     self_parameter_sequence   = _self_parameter_sequence;
     expression = self_parameter_sequence?.expression + comma?.expression + arith_expression_sequence.expression
                  /* expression = arith_expression.expression + comma?.expression  + self_arith_expression_sequence?.expression*/;
 }
Пример #3
0
        public function_parameter(minus _minus, paren _ident_lhs, parameter_sequence _parameter_sequence, paren _ident_rhs)
        {
            minus              = _minus;
            ident_lhs          = _ident_lhs;
            ident_rhs          = _ident_rhs;
            parameter_sequence = _parameter_sequence;

            // if (!error())
            expression = _minus?.expression + ident_lhs?.expression + parameter_sequence?.expression + ident_rhs?.expression;
        }