Главная страница
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.041 c
14-1135115407
markers
2005-12-21 00:50
2006.01.15
Картинка


3-1132639929
Ega23
2005-11-22 09:12
2006.01.15
Многопоточность и DB-компоненты


6-1127965848
VolanD666
2005-09-29 07:50
2006.01.15
Проблема передачи файлов


4-1131051531
Pasha L
2005-11-03 23:58
2006.01.15
Найти окно из процесса


5-1120978357
Серджио_Точини
2005-07-10 10:52
2006.01.15
Создание компонента для ввода двоичных чисел с фикс. запятой