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

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

    Разрешены.
    Или присылайте мне. Выложу на сайте.
  • mdw (21.01.10 11:21) [2]
    Ящик не добавил...:)
  • L`Autour (25.01.10 08:14) [3]
    и где?
  • Kitten (25.01.10 09:11) [4]
    Я выслал. А кто куда выложил не знаю.
    А может и не выложили
  • mdw (25.01.10 11:47) [5]

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

    Получил, в пятницу еще не было.
    Вот только модули не все, нет uFunctions.pas, только uFunctions.dcu. Так же отсутствуют uCalcul и uInterpreter, хотя без них вроде компилится. Или uCalcul.dcu и uInterpreter.dcu - остались от "неколовской" версии?
    Но по крайней мере, без uFunctions.dcu точно не компилится...
  • mdw (25.01.10 11:48) [6]

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

    В смысле, значит нужен uFunctions.pas, не у всех же D7...
  • kitten (25.01.10 14:47) [7]
    не может этого быть. я все DCU я убрал, оставил только pas Да и вообще я переименовал все файлы, те что портатированы...
  • kitten (25.01.10 15:05) [8]
    в архиве много мусору... но всё есть...
    в папке Program_interpreter
    есть
    uInterpreter.pas
    uFunctions.pas
    ucalcul.pas
    Эти три файла составляют интерпритатор...
    uFunctions.pas и ucalcul.pas можно использовать отдельно в качестве калькулятора.
    В папке KOL
    KOLMHuCalcul.pas
    KOLMHuInterpreter.pas
    а вот ещё одну забыл.... положить
  • Dufa © (25.01.10 15:26) [9]
    Может лучше на файлообменку залить?
  • kitten (25.01.10 15:57) [10]
    Проверил. Вроде теперь всё на месте и компелится
    http://depositfiles.com/files/g8kbofpwl
  • L`Autour (25.01.10 16:21) [11]
    не самый лучший файлообменник :(, не у всех провайдер дает отдельные IP для своих клиентов.
  • MTsv DN (25.01.10 17:26) [12]
    hттp://www.sendspace.com/file/x2z9dv
    hттp://slil.ru/28545101
    hттp://ifolder.ru/16101638
  • MTsv DN (25.01.10 17:27) [13]
    Красава, а я и не знал, что на форуме только ссылки в сообщении быть не могут...
  • kitten (25.01.10 20:53) [14]
    __www.sendspace.com/file/hguqws
  • mdw (26.01.10 11:37) [15]
  • kitten (26.01.10 14:26) [16]
    Всё конечно хорошо... Но кто бы помог интерпритатор Паскаля переделать? Там сложнее... Одно место смущает... А вернее там идёт наследование... но это в классах... А как это сделать в КОL?
    А в этом интерпритаторе есть всё... И многомерные массивы и оператор выбора... Почти полноценный паскаль... И главное - небольшой по обьёму... Всего два pas файла... один я уже переделал... А вот второй....
 
Конференция "KOL" » Интерпритатор скрипта
Есть новые Нет новых   [134431   +9][b:0][p:0.001]