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); }
public floating_point_constant(fractional_constant _fractional_constant, exponent _exponent = null) { fractional_constant = _fractional_constant; exponent = _exponent; expression = fractional_constant.expression + exponent?.expression; }