Meta-programming is a well-known technique widely used in logic programming and artificial intelligence. Meta-interpreters are powerful tools especially for writing expert systems in general and for writing their inference machines in particular. While the traditional approach to meta-interpretation is based on the syntactic definition of a meta-interpreter, new approach presented in this paper corresponds more to the meaning of the prefix meta.
We analyze the structure of expert systems (problem solvers) to specify a general description of a meta-interpreter. On that basis, we define the concept of an extendible meta-interpreter. The extendible meta-interpreter is divided into two parts the kernel and its extension. While the kernel codes the functions that are common to most interpreters, the extension specifies the domain-specific functions of a particular interpreter.
BACK to VOLUME 33 NO.3