Кстати как вариант, заместо ; каждое выражение на своей строке. Если на строке несколько выражений, то разделять их ;. Если выражение находится на нескольких строках, то использовать какой-нибудь символ переноса. И тогда проблем с парсером не будет, сколько хочешь, столько ошибок и выводи.