Re: parascriptum

Justin Forest <[email protected]> Tue, 16 Mar 2004 22:29:52 +0300
Newsgroups gmane.comp.misc.faerion.devel
Message-ID <[email protected]>
Не совсем ясно, какие именно функции и кто именно экспортирует, и что 
именно нужно использовать.  Не ясно, что должна делать функция block(), 
равно как и многие другие функции.  Комментарии отсутствуют напрочь.  На 
код, признаться, страшно смотреть: куча malloc/realloc, массивы 
массивов, операторы goto и даже (что вообще никуда) использование 
функции strcpy.

Я уже однажды предлагал создать мэйкфайл, который бы всё это собирал, и 
создать тестовое приложение, использующее всё это добро.  Тогда можно 
будет оценивать код более предметно, сейчас нужно вникать и додумывать. 
  Мэйкфайл предлагаю построить на основе Makedefs.faerion, который можно 
найти в cvs, в модулях faerion и rascal.

Вообще идею регистров я, конечно, одобряю, т.к. она идеально вписывается 
в линейный парсер.  Парсинг невыполняющихся блоков -- вполне нормальное 
явление, с этим можно жить.

Количество регистров тоже ошеломляет.  Я бы сделал один регистр типа 
bool для логических выражений, который модифицировался бы вызовом каждой 
функции, и счётчик уровней вложенности (с каким-нибудь бешеным, но 
жёстким ограничением, чтобы не сорвать себе стэк).  Назначение остальных 
регистров я пока не представляю.  Комментируй. ;)



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click