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

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

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

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


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


Комментарии

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


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

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

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.