# File lib/kwartz/parser.rb, line 293
    def scan_block(skip_open_curly=false)
      unless skip_open_curly
        token = scan()
        unless token == ?{
          @error = :block_notfound
          return @token = :error
        end
      end
      start_pos = @pos
      count = 1
      while (c = getch()) != nil
        if c == ?{
          count += 1
        elsif c == ?}
          count -= 1
          break if count == 0
        end
      end
      unless c
        @error = :block_unclosed
        return @token = :error
      end
      assert unless c == ?}
      @value = @input[start_pos, @pos - start_pos]
      @token = :block
      getch()
      return @value
    end