Prolog in Practical Compiler Writing
Jukka Paakki
Abstract
Open-access reader
Jukka Paakki
Abstract
Open-access reader
We discuss the experiences gained with implementing the programming language Edison in Prolog. The evaluation of Prolog in this application area is based on a comparison with two other Edison compilers, one written in Pascal (procedural approach) and the other generated using the compiler writing systems PGS and GAG (declarative approach). The crucial hindrance to applying Prolog in practical compiler writing was found to be inefficiency of the standard Prologs. Conceptually, however, Prolog was found to be quite attractive and, as a combination of the procedural and declarative approaches, a promising candidate for the basis of a special compiler writing language that is currently under development.
OpenAlex reports 12 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
We discuss the experiences gained with implementing the programming language Edison in Prolog. The evaluation of Prolog in this application area is based on a comparison with two other Edison compilers, one written in Pascal (procedural approach) and the other generated using the compiler writing systems PGS and GAG (declarative approach). The crucial hindrance to applying Prolog in practical compiler writing was found to be inefficiency of the standard Prologs. Conceptually, however, Prolog was found to be quite attractive and, as a combination of the procedural and declarative approaches, a promising candidate for the basis of a special compiler writing language that is currently under development.
Key concepts: Compiler, Programming language, Prolog, Computer science, Pascal (unit), Logic programming