Если вы не изучали теорию формальных языков и не щупали на практике, хотя бы студенческой, конечные автоматы, то обоснованный ответ с точки зрения этих дисциплин вы не составите. На бытовом уровне, можно сказать, что не хватает таких-то скобок с одной стороны или с другой стороны. Но это нужно обосновать последовательными шагами некоторого алгоритма.
Взять конечный автомат, который может синтаксически разбирать выражения со скобками, и провести на бумаге его трассировку до того состояния, когда он покажет ошибку. Более того, этот автомат, находясь в состоянии ошибки, может дополнить строку недостающим символом, причем разными способами и пойти в следующее состояние.
Далее подробнее не могу, у вас у самого должна быть практика работать с такими вещами.
Наглядный пример - браузер, его автомат разбора HTML может работать с невалидными тегами.