Cómo hacer coincidir paréntesis / paréntesis en pyparsing

Tengo un token de gramática especificado como:

list_value = Suppress(oneOf("[ (")) + Group(
    delimitedList(string_value | int_value))("list") + Suppress(oneOf("] )"))

Sin embargo, esto obviamente permite(foo, bar]

¿Cómo hago cumplir que las listas de apertura y cierre de caracteres deben coincidir?

Respuestas a la pregunta(1)

Su respuesta a la pregunta