Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Интерпритатор скрипта


Kitten ©   (2010-01-21 11:14:00) 

На просторах инета, я нашёл простенькую реализацию интерпритатора скриптового языка. Сам язык очень простой. Си - Паскалеобразный  правда к нему надо привыкнуть... Реализует множество функций. Работает как с числами так и строками. Имеет операции приведения типов...
В общем я его портатировал на KOL. И сразу  пример использования с 400К до 83К...
В общем он мне понадобился для всавки в игровой движок. Правда в нём отсутсвуют: генератор случайных чисел (это впрочем легко реализуемо), массивы, переходы на метки, и оператор множественного выбора. Но для моих первоначальных целей это не так существенно...
В общем если кому надо, я могу выложить его... но я не знаю, разрешены ли здесь ссылки... Как получу ответ, так и выложу.
Но... При портатировании я столкнулся с одной трудностью. А именно в передаче параметров, описаных в структуре Обьекта в функцию-конструктор NEW. Эта функция эти самые переменные в упор не видит...
Пришлось писать отдельную функцию, которую необходимо вызывать сразу же после вызова функции NEW...
Может я что-то сделал не так, то подскажите... Вообще неплохо было что если бы кто-нибудь подправил, если что не так...
А ещё неплохо бы расширить функциональность самого интерпритаора...
Да... ещё я там не особо стал возится с подыскиванием аналогов некотрых функций. Например  работы с датой и временем. Я попросту их отключил.. Так что операторы даты и времени пока не рабтают...
В архиве кроме самих трёх файлов реализвции интерпритатора есть исходник демонастрационного примера. Всё делал на Delphi 7
В качестве примеров скрипта, я  написал два скрипта реализации исполнения математических фокусов  для игр (Кто читал М. Гаднера, тот знаком с этим).
В общем жду ответа и разрешение на выкладывание...


kitten   (2010-01-26 14:26:00) [1]

Всё конечно хорошо... Но кто бы помог интерпритатор Паскаля переделать? Там сложнее... Одно место смущает... А вернее там идёт наследование... но это в классах... А как это сделать в КОL?
А в этом интерпритаторе есть всё... И многомерные массивы и оператор выбора... Почти полноценный паскаль... И главное - небольшой по обьёму... Всего два pas файла... один я уже переделал... А вот второй....


mdw   (2010-01-26 11:37:00) [2]

Положил сюда
http://kolnmck.kolmck.net/components/files_compress.shtml


kitten   (2010-01-25 20:53:00) [3]

__www.sendspace.com/file/hguqws


MTsv DN   (2010-01-25 17:27:00) [4]

Красава, а я и не знал, что на форуме только ссылки в сообщении быть не могут...


MTsv DN   (2010-01-25 17:26:00) [5]

hттp://www.sendspace.com/file/x2z9dv
hттp://slil.ru/28545101
hттp://ifolder.ru/16101638


L`Autour   (2010-01-25 16:21:00) [6]

не самый лучший файлообменник :(, не у всех провайдер дает отдельные IP для своих клиентов.


kitten   (2010-01-25 15:57:00) [7]

Проверил. Вроде теперь всё на месте и компелится
http://depositfiles.com/files/g8kbofpwl


Dufa   (2010-01-25 15:26:00) [8]

Может лучше на файлообменку залить?


kitten   (2010-01-25 15:05:00) [9]

в архиве много мусору... но всё есть...
в папке Program_interpreter
есть
uInterpreter.pas
uFunctions.pas
ucalcul.pas
Эти три файла составляют интерпритатор...
uFunctions.pas и ucalcul.pas можно использовать отдельно в качестве калькулятора.
В папке KOL
KOLMHuCalcul.pas
KOLMHuInterpreter.pas
а вот ещё одну забыл.... положить


kitten   (2010-01-25 14:47:00) [10]

не может этого быть. я все DCU я убрал, оставил только pas Да и вообще я переименовал все файлы, те что портатированы...


mdw   (2010-01-25 11:48:00) [11]


> Но по крайней мере, без uFunctions.dcu точно не компилится...

В смысле, значит нужен uFunctions.pas, не у всех же D7...


mdw   (2010-01-25 11:47:00) [12]


> Я выслал. А кто куда выложил не знаю.
> А может и не выложили

Получил, в пятницу еще не было.
Вот только модули не все, нет uFunctions.pas, только uFunctions.dcu. Так же отсутствуют uCalcul и uInterpreter, хотя без них вроде компилится. Или uCalcul.dcu и uInterpreter.dcu - остались от "неколовской" версии?
Но по крайней мере, без uFunctions.dcu точно не компилится...


Kitten   (2010-01-25 09:11:00) [13]

Я выслал. А кто куда выложил не знаю.
А может и не выложили


L`Autour   (2010-01-25 08:14:00) [14]

и где?


mdw   (2010-01-21 11:21:00) [15]

Ящик не добавил...:)


mdw   (2010-01-21 11:19:00) [16]


> В общем если кому надо, я могу выложить его... но я не знаю,
>  разрешены ли здесь ссылки... Как получу ответ, так и выложу.
>

Разрешены.
Или присылайте мне. Выложу на сайте.


Наверх

Титульная страница Поиск, карта сайта Написать письмо