Главная страница
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.044 c
14-1135240647
Витёк
2005-12-22 11:37
2006.01.15
Возвести число 2 в степень n (n<=10000)!


3-1132300203
Nortsov
2005-11-18 10:50
2006.01.15
передача файла через midas


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


6-1127897807
Yuran
2005-09-28 12:56
2006.01.15
Расскажите плизз, про gethostbyaddr?


10-1110961006
mik1971
2005-03-16 11:16
2006.01.15
Использование dll, написанной в VB.NET в Delphi 7.