_MultiLineComment

in doc-src/parsejs/lib/parsejs/grammar.kpeg.rb [835:907]


  def _MultiLineComment

    _save = self.pos
    while true # choice

      _save1 = self.pos
      while true # sequence
        _tmp = match_string("/*")
        unless _tmp
          self.pos = _save1
          break
        end
        _text_start = self.pos
        while true

          _save3 = self.pos
          while true # sequence
            _save4 = self.pos
            _tmp = match_string("*/")
            _tmp = _tmp ? nil : true
            self.pos = _save4
            unless _tmp
              self.pos = _save3
              break
            end
            _tmp = apply(:_SourceCharacter)
            unless _tmp
              self.pos = _save3
            end
            break
          end # end sequence

          break unless _tmp
        end
        _tmp = true
        if _tmp
          text = get_text(_text_start)
        end
        unless _tmp
          self.pos = _save1
          break
        end
        _tmp = match_string("*/")
        unless _tmp
          self.pos = _save1
          break
        end
        _tmp = apply(:_LineTerminatorSequence)
        lf = @result
        unless _tmp
          self.pos = _save1
          break
        end
        @result = begin; comment(text, 'multiline', lf); end
        _tmp = true
        unless _tmp
          self.pos = _save1
        end
        break
      end # end sequence

      break if _tmp
      self.pos = _save
      _tmp = apply(:_MultiLineCommentNoLB)
      break if _tmp
      self.pos = _save
      break
    end # end choice

    set_failed_rule :_MultiLineComment unless _tmp
    return _tmp
  end