Автоматический парсер-импортер для FastScript
Vlad Matvienko
Mariupol
Я тестировал возможности исползования fastscript в своем проекте и, я думаю, как и у многих стала задача экспорта функций приложения в скрипт. Готового решения, позволяющего автоматизировать эту задачу я не нашел:-( Пришлось делать свой парсер.
Может он кому то еще будет полезен. Парсер доступен в on-line на странице
http://www.aquapack.com/fastscript/
Основные возможности парсера:
* Автоматическое создание .pas модуля-обертки.
* Генерация кода для добавления всех interface классов обрабатываемого модуля в скрипт.
* Генерация кода для добавления указанных (расположенных между {START} и {END} ) процедур, функций и конструкторов класса в скрипт.
* Поддержка большинства типов передаваемых или возвращаемых значений функций или процедур.
* Поддержка параметров типа var.
* Поддержка параметров типа Class.
* Поддержка параметров по умолчанию.
* Поддержка возвращаемых значений для функций типа Class.
P.S. FastSript очень нравится... Пока только присматриваюсь и выбираю, но думаю остановить свой выбор на нем. Есть замечания по поводу fsTree и fsSyntaxMemo, но это отдельная тема...
Может он кому то еще будет полезен. Парсер доступен в on-line на странице
http://www.aquapack.com/fastscript/
Основные возможности парсера:
* Автоматическое создание .pas модуля-обертки.
* Генерация кода для добавления всех interface классов обрабатываемого модуля в скрипт.
* Генерация кода для добавления указанных (расположенных между {START} и {END} ) процедур, функций и конструкторов класса в скрипт.
* Поддержка большинства типов передаваемых или возвращаемых значений функций или процедур.
* Поддержка параметров типа var.
* Поддержка параметров типа Class.
* Поддержка параметров по умолчанию.
* Поддержка возвращаемых значений для функций типа Class.
P.S. FastSript очень нравится... Пока только присматриваюсь и выбираю, но думаю остановить свой выбор на нем. Есть замечания по поводу fsTree и fsSyntaxMemo, но это отдельная тема...
Комментарии
но хотелось бы комплексного решения...
А то вроде бы они и есть, а использовать их без некой доработки сложно.
И еще вопрос, что правильнее: создавать на каждую экспортируемую функицю отдельную функцию-обертку или на несколько экспортируемых -одну?
Как мне кажется, что вариант с отдельной функцией оберкой должен работать быстрее, так как избегается повторная проверка, какой код использовать, внутри функции-обертки. Ведь такая проверка уже была в скриптовой машине через хеш-таблицы или что-то там? (Я не являюсь (пока не являюсь :-)) зарегистрированным пользователем и не могу посмотреть как это сделано в fastscript).
Просто в тех модулях, которые идут вместе с fastscript сделано как раз через общую функцию оберку, вот и возник вопрос.