Jak parować nawiasy lub inne znaki w JavaScript?
by Jakub T. Jankiewicz
Pisząc mój interpreter języka Lisp (dokładnie dialektu Scheme) o nazwie LIPS, zdecydowałem się dodać obsługę nawiasów kwadratowych, ponieważ niektóre książki do języka Scheme, mieszają nawiasy okrągłe oraz kwadratowe. Jednak aby nie komplikować parsera, nie sprawdzał on, czy nawiasy do siebie pasują i np. można było wywołać kod z pomieszanymi nawiasami.
W tym wpisie przedstawię jak napisać poprawne parowanie nawiasów, czyli funkcję, która może się przydać nie tylko przy parsowaniu języka Lisp. [Spoiler] Do tego celu nie warto nawet próbować, używać Wyrażeń Regularnych (RegExp).