Kybernetika 33 no. 3, 291-310, 1997

Extendible meta-interpreters

Roman Barták and Petr Štěpánek

Abstract:

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.

Classification:

68N17, 68T35, 68N99