1) медленно
2) допустим у тебя есть if(-(2+3) > 3), выцеляй мне выражение
3) неудобно
4) говно
1) фан-проект, скорость не ебёт. Эта не пара секунд, значит, пойдет
2) нахуя мне выделять регулярками выражение, если я просто знаю, что это - иф, и парсить я его буду потом ручками?
3) кто сказал? Мне вот куда удобнее, как видишь.
4) это нихуя не аргумент
5) под каждый тип конструкции, свой парсер, в отдельном модуле. Где ты там лапшу нашёл?