Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

Реализация скриптового движка   Найти похожие ветки 

 
XCoder ©   (2005-12-17 16:38) [0]

Решил написать скриптовой движек. Прога читает скрипт из файла и составляет некий промежуточный код, который потом выполняется. И вот столкнулся я с подводными камнями. Хотелось бы узнать мнения по таким вопросам:
1) Хранение указателей на функции в StringList. Где-то мне попадалась статья, в которой говорилось, что можно не использовать для регистрации функций в StringList процедурку типа RegisterProc(Name: String; Proc: Pointer), а обявлять их с директивой far.
2) Как лучше реализовать работу с переменными в скрипте? Я когда то делал простенький движок, в нем промежуточный код представлял массив записей, в котором хранился индекс функции в StringList и параметры, но при работе с переменными такой механизм не катит.
3) Как хранить параметры функций? Раньше я делал нечто вроже:
TScriptMethod = record
Index: Word; //Индекс в StringList
Params: array[0..3] of String; //Массив параметров
При такой реализации можно работать с числами и строками, но с объектными переменными невозможно. Как исправить этот недостаток?
Заранее благодарен.


 
Leonid Troyanovsky ©   (2005-12-19 08:29) [1]


> XCoder ©   (17.12.05 16:38)  
> Решил написать скриптовой движек. Прога читает скрипт из
> файла и составляет некий промежуточный код, который потом
> выполняется. И вот


У Анатолия Подгорецкого на сайте есть самое полное издание
Анатолия Тенцера, см. где-то 7 том:
использование Microsoft ScriptControl.

Т.е., все уже реализовано до нас.

--
Regards, LVT.


 
ORMADA ©   (2005-12-19 09:32) [2]

Pascal Script


 
Rule ©   (2005-12-19 11:05) [3]

я бы порекомендовал Fast Script


 
имя   (2005-12-26 10:13) [4]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
2-1135608198
Кальян
2005-12-26 17:43
2006.01.15
Школьное Рисование


11-1099415170
Ripper
2004-11-02 20:06
2006.01.15
Программное создание ярлыка средствами KOL


6-1128514703
pazitron_brain
2005-10-05 16:18
2006.01.15
IntraWeb в Delphi


2-1135550887
garald
2005-12-26 01:48
2006.01.15
массив типа BYTE


3-1131965689
Id
2005-11-14 13:54
2006.01.15
Ошибка при создании таблицы