N
netexplorer
Unregistered / Unconfirmed
GUEST, unregistred user!
[]问题的起源是这样的,我们打算开发一套推理系统,其中需要一种可编程的语言来描述这种推理过程。
这种可编程语言即可以是编译型的,也可以是解释型的,关键是要支持面向对象的语法。
说的具体点,就是希望在object pascal语法上再进行一些扩展,比如支持语法级事务,支持并行等。
如果从头开始开发基于此语法的编译系统,显然是不上算的,我们自然地想到,delphi是否提供了这种扩展的
编译功能,这样我们就可以在delphi的编译器之前,处理扩展的部分,而将传统的,delphi能够识别的object pascal
语法交给delphi去编译。
具体来说,我们希望能够实现这样一种效果。
找到/开发一个类Aclass,该类实现了一个过程:Process(Params:Tlist;Code:String )。其中Params为初始参数,Code为具体的程序编码;
比如:
var
Aobject:Aclass;
Params:Tlist;
Code:string;
...
Code:='var i,j:integer
for i:=0 to 100 do j:=j+1
';
Aobject.Process(Params,Code);
在上面这段代码处理完之后,Params中应该包含两个变量对象,一个对应i,一个对应j,都为整数100。
换句话说就是,希望实现这种效果,程序运行的过程中,在输入一字符串,这字符串是一段合乎object pascal语法的程序,
然后调用某个处理函数,得到这段程序的执行结果。
不知道大家理解这个问题的意思没有,实际上我自己也不太清楚这个问题应该定位到什么类别中,我想这可能需要用到delphi的一些底层的机制,
所以就发到这个版面上来了。我们也正在摸索的过程中,大家有什么好的思路和想法,请多多交流。我的email:leowangyu@263.net。
这种可编程语言即可以是编译型的,也可以是解释型的,关键是要支持面向对象的语法。
说的具体点,就是希望在object pascal语法上再进行一些扩展,比如支持语法级事务,支持并行等。
如果从头开始开发基于此语法的编译系统,显然是不上算的,我们自然地想到,delphi是否提供了这种扩展的
编译功能,这样我们就可以在delphi的编译器之前,处理扩展的部分,而将传统的,delphi能够识别的object pascal
语法交给delphi去编译。
具体来说,我们希望能够实现这样一种效果。
找到/开发一个类Aclass,该类实现了一个过程:Process(Params:Tlist;Code:String )。其中Params为初始参数,Code为具体的程序编码;
比如:
var
Aobject:Aclass;
Params:Tlist;
Code:string;
...
Code:='var i,j:integer
for i:=0 to 100 do j:=j+1
';
Aobject.Process(Params,Code);
在上面这段代码处理完之后,Params中应该包含两个变量对象,一个对应i,一个对应j,都为整数100。
换句话说就是,希望实现这种效果,程序运行的过程中,在输入一字符串,这字符串是一段合乎object pascal语法的程序,
然后调用某个处理函数,得到这段程序的执行结果。
不知道大家理解这个问题的意思没有,实际上我自己也不太清楚这个问题应该定位到什么类别中,我想这可能需要用到delphi的一些底层的机制,
所以就发到这个版面上来了。我们也正在摸索的过程中,大家有什么好的思路和想法,请多多交流。我的email:leowangyu@263.net。