Правильно понимаю что надо считать как минимум открывающие скобки? И тогда парсер приобретет некоторый лимит вложенности?
Тебе надо иметь счётчик i : Int. Когда видишь (, инкременть; когда видишь ), декременть. Изначально i = 0. Если к конце текста i ≠ 0 или в середине текста i < 0, то скобки несбалансированы