Если я правильно понимаю, студент как свою реализацию предоставил код, которые не компилируется, просто потому что так точек с запятой в правильном месте нет. Многообещающий студент, однако.
А дело не в том, что студент плох (тем более что на момент, когда Костя этим занимался, ещё не было известно, каков студент), а в том, что одну и ту же [нетривиальную] задачу начинают решать два человека, сидящие в соседних комнатах, без попыток синхронизации. Сипмтоматично. Хотя и оффтопик для данной рассылки.
Никит, когда я это сделал (прошлой осенью), студент эти не занимался. Более того, создание парсера имеет смысл, когда есть конкретная цель, для достижения которой будет строиться дерево разбора. Очевидно, что в моём случае это совсем не та цель, для которой этим занимается студент Саши.
Что до нетривиальности задачи...кхм. Задача кодогенерации -- возможно, но парсинг...
Костя.