On Monday 29 May 2006 16:10, Nikita V. Youshchenko wrote:
- добавляется полезная информация, например, о номерах строк и номерах операторов в тексте;Куда? В качестве отладочной информации в объектный файл? Как-то там отладчик для ММ поживает? :-)
В Диане было такое средство - переход от события к строке текста модели. Это было реализовано путём составления таблицы операторов; в трассу записывался номер оператора, а mmt в т.ч. создавал таблицу операторов, в которой хранилось в т.ч. положение этого оператора в исходном тексте модели.
Это решается путем записи в трассу текущего указателя команд x86 и нахождению строки по отладочной информации.
Сомневаюсь, что это надёжно - особенно с учётом оптимизаций типа инлайнинга вызовов и переупорядочивания кода между проинлайненным и местным.
Come on! Если ты добавляешь в генерированный код директивы препроцессора для указания номера строк, как это делается сейчас, то оптимизации с не меньшим удовольствием снесут эти номера строк.
Ровно как и сомневаюсь в целесообразности связываться со столь громоздкой вещью, как отладочная информация, для столь простой цели.
Открываешь трубу к gdb, и посылаешь одну команду. Все это делается за пол-дня.
Макс, я, например, для удобной работы с ММ-языком (для анализа и трансляции как раз) написал свой парсер на Whale. Потому что так удобнее, чем работать с выходом ANTLR (с ним я раньше работал). Написал причём недели за две.
Это относится к вопросу о том, как сделать "удобный в использовании" транслятор. Между прочим, эта задача поставлена студенту, которым руководит Саша Герасёв. Ты взаимодействовал с ними по этому поводу?
Если я правильно понимаю, студент как свою реализацию предоставил код, которые не компилируется, просто потому что так точек с запятой в правильном месте нет. Многообещающий студент, однако.
А дело не в том, что студент плох (тем более что на момент, когда Костя этим занимался, ещё не было известно, каков студент), а в том, что одну и ту же [нетривиальную] задачу начинают решать два человека, сидящие в соседних комнатах, без попыток синхронизации. Сипмтоматично. Хотя и оффтопик для данной рассылки.
Ну, можно в эту рассылку писать о всех непривиальных задачах, которые кто-то начинает решать.
- Volodya