Oleg N. Cher писал(а):
1. Если менять местами порядок в условии:
IF (typ^.comp # CF_RECORD) & ((typ^.strobj = NIL) OR (typ^.strobj^.name^ = "")) THEN
тогда хорошо бы и это:
WHILE ((typ^.strobj = NIL) OR (typ.strobj.name^ = "")) & (typ^.form = fPOINTER) DO
изменить на:
WHILE (typ^.form = fPOINTER) & ((typ^.strobj = NIL) OR (typ.strobj.name^ = "")) DO
Просто для единообразия.
2. До сих пор не понял, зачем Вы вставили вызов Stars в ветку:
ELSIF typ^.form = fPROC_TYP THEN Stars(typ.base_typ, forproc, openClause);
Он делает какую-то дополнительную работу?
3. ELSIF typ.form = fPOINTER THEN тоже спорно, хотя ладно.
Я не помню, чтобы менял осознанно вызов Stars ранее (может, и ошибаюсь), видимо, версии у нас разошлись. Можно выяснять почему. Я в данном случае вставлял только forproc.
Oleg N. Cher писал(а):
4. Переменную forproc я назвал forProc, для единостильности с openClause.
В мультиобероне я как-то решил, что для глобальных переменных удобнее запись верблюдом (stdDir). И для понятности переименовал многие переменные. Поэтому openClause должно стать open_clause.
Oleg N. Cher писал(а):
Ещё интересно про регрессионные тесты. Я много раз обдумывал вопрос тестирования Ofront'а+. Что именно представляют из себя подобные тесты у Вас? Это просто набор исходников на КП, который Вы транслируете в Си и убеждаетесь, что Си-файл потом компилируется? А если он породит при этом некорректный машинный код? Ведь убедиться в этом всё равно не так просто. Или эти тесты у Вас устроены как-то по-другому?
У меня нет набора тестов. Я больше по наитию программирую. И практика показала, что своих ошибок в Ofront+ я вношу меньше, чем правлю имеющихся ошибок, унаследованных от предыдущих авторов.
Для компилятора Test-Driven-Development полезно. У меня есть набор тестов >400, которые используются. Они в скомпилированном виде прогоняются для всех Omb, Omf, Oml. В принципе, можно и опубликовать, наверное ...
Oleg N. Cher писал(а):
P.S. По поводу моих копирайтов в МультиОбероне. Мне конечно лестно, но, ей-богу, не стоило. В этом было бы больше смысла, если бы Вы брали в работу мои правки к CPfront, но их у Вас не так много. Так что если уберёте, я не обижусь.
Но таковые есть. И будут еще. А указывать на авторство источника, - это честно. Плюс уважение, если хотите.