Денис Будяк, [25.08.19 14:33]
А где-нибудь есть описание, как пользоваться TFPET? Явно нужны магические действия по созданию и поддержанию файлов ссылок, соответственно должна быть и инструкция.
Денис Будяк, [25.08.19 14:34]
Также неясна причина, по которой существует и TFPET, и PET.
Денис Будяк, [25.08.19 15:42]
Как проверить существование директории или как гарантировать существование директории?
Sergej Durmanov, [25.08.19 18:03]
[In reply to Денис Будяк]
Смотри FSTools
Sergej Durmanov, [25.08.19 18:04]
[In reply to Денис Будяк]
Вполне возможно, что это был очередной эксперимент
Денис Будяк, [25.08.19 22:09]
Чёй-то как-то не решается задачка про директорию.
Денис Будяк, [25.08.19 22:11]
Есть WinFS.CheckPath только, для других платформ не искал, но оно не обобщено.
Денис Будяк, [25.08.19 22:12]
Вероятно, придётся допиливать. Я всего-то навсего хотел создавать xref культурно, а не чтобы возникал красный экран, если сначала не создать директорию руками
Денис Будяк, [25.08.19 22:12]
Можно создат наугад и потом не проверять код возврата, но это непрофессионально :)
Ярослав, [25.08.19 22:15]
FSTools.Mod:
(* returns if a file or directory exists. If yes, then fullname is set to filename *)
PROCEDURE Exists*(CONST name: ARRAY OF CHAR; VAR fullName: ARRAY OF CHAR; VAR flags: SET): BOOLEAN;
Денис Будяк, [25.08.19 22:17]
Спасибо! Но в 12-м году её ещё не было. Значит, выход пока в том, чтобы создавать руками или смотреть на красный экран.
Денис Будяк, [25.08.19 22:18]
А блин, она появилась в ноябре 12-го, а я - в октябре
Денис Будяк, [25.08.19 22:18]
Значит, надо попробовать переехать в ноябрь :)
Денис Будяк, [25.08.19 23:08]
Уф, вроде получилось. На децл улучшил работу TFXRef, но ничего существенного
Денис Будяк, [25.08.19 23:08]
https://gitlab.com/budden/jaos/commits/ ... %8F-TFXRef
Денис Будяк, [25.08.19 23:08]
Спасибо за помощь!
Денис Будяк, [25.08.19 23:10]
Теперь есть гораздо более серьёзный вопрос: есть парсер в Fox, а есть отдельный парсер TF... . Соответственно, логично переделать TFXRef, чтобы он пользовался парсером от Fox. Но я пока не смотрел, что это может означать. Например, TF... включает комментарии и переносы строк в лексемы, это очень правильно. Делает ли так Fox - я пока не знаю.
Денис Будяк, [25.08.19 23:10]
Вероятно, это будет уже не в ближайшие дни...
Денис Будяк, [27.08.19 19:50]
Немного поизучал зависимости в файлах TF*, чтобы понять, как проще переделать. Вот что обнаружилось:
Денис Будяк, [27.08.19 19:50]
* FoxScanner менялся около 60 раз
* TFXRef - 976 строк. Мало зависит от S=BimboScanner (4+50), сильно зависит от
TS=TFTypeSys (больше 100), от TFScopeTools - (15)
* TFTypeSys - абстрактное от языка синт. дерево - 1063 строки - ни от чего не зависит в данной компании! Пишет символьные файлы.
Используется в TFDocGenerator, TFCheck, TFAOParser, TFDumpTS, TFTypeSys
* TFScopeTools - 167 строк - используется в TFPET, TFCheck, TFModuleTrees, TFXRef
* BimboScanner - 545 строк
* TFAOParser - 1316 строк - зависит от TS=TFTypeSys (202), S=BimboScanner(276)
Денис Будяк, [27.08.19 19:51]
Модуль TFTypeSys хочется оставить, т.к. он центральный в этой инфраструктуре и от него всё зависит. Но TFAOParser тоже от него зависит. Если мы хотим выкинуть TFAOParser и оставить FoxParser, то возникает проблема: мы не можем менять FoxParser.
Денис Будяк, [27.08.19 19:59]
Т.е. похоже, что заменив TFAOParser на FoxParser, придётся и TFTypeSys заменить на FoxParserTree, причём объём работы получается немалым.
Денис Будяк, [27.08.19 20:00]
Знатоки, что скажете на тему целесообразности такого плана?