Автоматический парсер-импортер для FastScript

Vlad MatvienkoVlad Matvienko Mariupol
отредактировано 01:50 Раздел: FastScript
Я тестировал возможности исползования fastscript в своем проекте и, я думаю, как и у многих стала задача экспорта функций приложения в скрипт. Готового решения, позволяющего автоматизировать эту задачу я не нашел:-( Пришлось делать свой парсер.

Может он кому то еще будет полезен. Парсер доступен в on-line на странице
http://www.aquapack.com/fastscript/

Основные возможности парсера:
* Автоматическое создание .pas модуля-обертки.
* Генерация кода для добавления всех interface классов обрабатываемого модуля в скрипт.
* Генерация кода для добавления указанных (расположенных между {START} и {END} ) процедур, функций и конструкторов класса в скрипт.
* Поддержка большинства типов передаваемых или возвращаемых значений функций или процедур.
* Поддержка параметров типа var.
* Поддержка параметров типа Class.
* Поддержка параметров по умолчанию.
* Поддержка возвращаемых значений для функций типа Class.


P.S. FastSript очень нравится... Пока только присматриваюсь и выбираю, но думаю остановить свой выбор на нем. Есть замечания по поводу fsTree и fsSyntaxMemo, но это отдельная тема...


Комментарии

  • отредактировано 01:50
    fsTree и fsSyntaxMemo - это bonus-компоненты ;)
  • Vlad MatvienkoVlad Matvienko Mariupol
    отредактировано 01:50
    AlexTZ написал:
    fsTree и fsSyntaxMemo - это bonus-компоненты ;)
    Я понимаю, что эти компоненты бонусные :-)
    но хотелось бы комплексного решения...
    А то вроде бы они и есть, а использовать их без некой доработки сложно.


    И еще вопрос, что правильнее: создавать на каждую экспортируемую функицю отдельную функцию-обертку или на несколько экспортируемых -одну?
    Как мне кажется, что вариант с отдельной функцией оберкой должен работать быстрее, так как избегается повторная проверка, какой код использовать, внутри функции-обертки. Ведь такая проверка уже была в скриптовой машине через хеш-таблицы или что-то там? (Я не являюсь (пока не являюсь :-)) зарегистрированным пользователем и не могу посмотреть как это сделано в fastscript).
    Просто в тех модулях, которые идут вместе с fastscript сделано как раз через общую функцию оберку, вот и возник вопрос.
  • отредактировано 01:50
    Теоретически быстрее - на каждую функцию делать отдельный обработчик. Практически - не имеет значения, выигрыш по скорости незначителен, чтобы жертвовать усложнением кода.

Оставить комментарий