_DecimalIntegerLiteral

in doc-src/parsejs/lib/parsejs/grammar.kpeg.rb [8175:8228]


  def _DecimalIntegerLiteral

    _save = self.pos
    while true # sequence
      _text_start = self.pos

      _save1 = self.pos
      while true # choice
        _tmp = match_string("0")
        break if _tmp
        self.pos = _save1

        _save2 = self.pos
        while true # sequence
          _tmp = scan(/\A(?-mix:[1-9])/)
          unless _tmp
            self.pos = _save2
            break
          end
          while true
            _tmp = apply(:_DecimalDigit)
            break unless _tmp
          end
          _tmp = true
          unless _tmp
            self.pos = _save2
          end
          break
        end # end sequence

        break if _tmp
        self.pos = _save1
        break
      end # end choice

      if _tmp
        text = get_text(_text_start)
      end
      unless _tmp
        self.pos = _save
        break
      end
      @result = begin; number(text); end
      _tmp = true
      unless _tmp
        self.pos = _save
      end
      break
    end # end sequence

    set_failed_rule :_DecimalIntegerLiteral unless _tmp
    return _tmp
  end