-
На просторах инета, я нашёл простенькую реализацию интерпритатора скриптового языка. Сам язык очень простой. Си - Паскалеобразный правда к нему надо привыкнуть... Реализует множество функций. Работает как с числами так и строками. Имеет операции приведения типов...
В общем я его портатировал на KOL. И сразу пример использования с 400К до 83К...
В общем он мне понадобился для всавки в игровой движок. Правда в нём отсутсвуют: генератор случайных чисел (это впрочем легко реализуемо), массивы, переходы на метки, и оператор множественного выбора. Но для моих первоначальных целей это не так существенно...
В общем если кому надо, я могу выложить его... но я не знаю, разрешены ли здесь ссылки... Как получу ответ, так и выложу.
Но... При портатировании я столкнулся с одной трудностью. А именно в передаче параметров, описаных в структуре Обьекта в функцию-конструктор NEW. Эта функция эти самые переменные в упор не видит...
Пришлось писать отдельную функцию, которую необходимо вызывать сразу же после вызова функции NEW...
Может я что-то сделал не так, то подскажите... Вообще неплохо было что если бы кто-нибудь подправил, если что не так...
А ещё неплохо бы расширить функциональность самого интерпритаора...
Да... ещё я там не особо стал возится с подыскиванием аналогов некотрых функций. Например работы с датой и временем. Я попросту их отключил.. Так что операторы даты и времени пока не рабтают...
В архиве кроме самих трёх файлов реализвции интерпритатора есть исходник демонастрационного примера. Всё делал на Delphi 7
В качестве примеров скрипта, я написал два скрипта реализации исполнения математических фокусов для игр (Кто читал М. Гаднера, тот знаком с этим).
В общем жду ответа и разрешение на выкладывание...
-
> В общем если кому надо, я могу выложить его... но я не знаю,
> разрешены ли здесь ссылки... Как получу ответ, так и выложу.
>
Разрешены.
Или присылайте мне. Выложу на сайте.
-
Ящик не добавил...:)
-
и где?
-
Я выслал. А кто куда выложил не знаю.
А может и не выложили
-
> Я выслал. А кто куда выложил не знаю.
> А может и не выложили
Получил, в пятницу еще не было.
Вот только модули не все, нет uFunctions.pas, только uFunctions.dcu. Так же отсутствуют uCalcul и uInterpreter, хотя без них вроде компилится. Или uCalcul.dcu и uInterpreter.dcu - остались от "неколовской" версии?
Но по крайней мере, без uFunctions.dcu точно не компилится...
-
> Но по крайней мере, без uFunctions.dcu точно не компилится...
В смысле, значит нужен uFunctions.pas, не у всех же D7...
-
не может этого быть. я все DCU я убрал, оставил только pas Да и вообще я переименовал все файлы, те что портатированы...
-
в архиве много мусору... но всё есть...
в папке Program_interpreter
есть
uInterpreter.pas
uFunctions.pas
ucalcul.pas
Эти три файла составляют интерпритатор...
uFunctions.pas и ucalcul.pas можно использовать отдельно в качестве калькулятора.
В папке KOL
KOLMHuCalcul.pas
KOLMHuInterpreter.pas
а вот ещё одну забыл.... положить
-
Может лучше на файлообменку залить?
-
-
не самый лучший файлообменник :(, не у всех провайдер дает отдельные IP для своих клиентов.
-
hттp://www.sendspace.com/file/x2z9dv
hттp://slil.ru/28545101
hттp://ifolder.ru/16101638
-
Красава, а я и не знал, что на форуме только ссылки в сообщении быть не могут...
-
__www.sendspace.com/file/hguqws
-
-
Всё конечно хорошо... Но кто бы помог интерпритатор Паскаля переделать? Там сложнее... Одно место смущает... А вернее там идёт наследование... но это в классах... А как это сделать в КОL?
А в этом интерпритаторе есть всё... И многомерные массивы и оператор выбора... Почти полноценный паскаль... И главное - небольшой по обьёму... Всего два pas файла... один я уже переделал... А вот второй....