Пример #1
0
        private fractional_constant Parse_fractional_constant()
        {
            /* fractional-constant:
            *       digit-sequence? "." digit-sequence
            | digit-sequence "." */



            fractional_constant _self = null;


            var _lhs_digit_sequence = Parse_digit_sequence();

            var _ident = _tokens[_index]; if (_tokens[_index].StringValue == ".")
            {
                _index++;
            }                                                                                     //derek

            var _rhs_digit_sequence = Parse_digit_sequence();

            if (_rhs_digit_sequence != null)
            {
                _self = new fractional_constant(_rhs_digit_sequence, _ident, _lhs_digit_sequence);

                return(_self);
            }


            if (_rhs_digit_sequence == null)
            {
                _ident = _tokens[_index]; if (_tokens[_index].StringValue == ".")
                {
                    _index++;
                }
                else
                {
                    return(null);
                }

                _self = new fractional_constant(_lhs_digit_sequence, _ident);
                return(_self);
            }



            return(_self);
        }
Пример #2
0
 public floating_point_constant(fractional_constant _fractional_constant, exponent _exponent = null)
 {
     fractional_constant = _fractional_constant;
     exponent            = _exponent;
     expression          = fractional_constant.expression + exponent?.expression;
 }