def parse_piece
      s0 = @current_pos
      s1 = match_regexp(/^[A-Z]/)
      if s1 != :failed
        s2 = match_regexp(/^[A-Z]/)
        if s2 != :failed
          @reported_pos = s0
          s0 = s1 + s2
        else
          @current_pos = s0
          s0 = :failed
        end
      else
        @current_pos = s0
        s0 = :failed
      end
      s0
    end
def parse_piece
      s0 = @current_pos
      s1 = match_regexp(/^[A-Z]/)
      if s1 != :failed
        s2 = match_regexp(/^[A-Z]/)
        if s2 != :failed
          @reported_pos = s0
          s0 = s1 + s2
        else
          @current_pos = s0
          s0 = :failed
        end
      else
        @current_pos = s0
        s0 = :failed
      end
      s0
    end
piece : [A-Z] [A-Z]