Automatic compiler/interpreter generation from programs for domain-specific languages using semantic inference - Kovačević, Željko (visokošolska dela, 2022)
Presented doctoral dissertation describes a research work on Semantic Inference, which can be regarded as an extension of Grammar Inference. The main task of Grammar Inference is to induce a grammatical structure from a set of positive samples (programs), which can sometimes also be accompanied by a set of negative samples. Successfully applying Grammar Inference can result only in identifying the correct syntax of a language. But, when valid syntactical structures are additionally constrained with context-sensitive information the Grammar Inference needs to be extended to the Semantic Inference. With the Semantic Inference a further step is realised, namely, towards inducing language semantics. In this doctoral dissertation it is shown that a complete compiler/interpreter for small Domain-Specific Languages (DSLs) can be generated automatically solely from given programs and their associated meanings using Semantic Inference. For the purpose of this research work the tool LISA.SI has been developed on the top of the compiler/interpreter generator tool LISA that uses Evolutionary Computations to explore and exploit the enormous search space that appears in Semantic Inference. A wide class of Attribute Grammars has been learned. Using Genetic Programming approach S-attributed and L-attributed have been inferred successfully, while inferring Absolutely Non-Circular Attribute Grammars (ANC-AG) with complex dependencies among attributes has been achieved by integrating a Memetic Algorithm (MA) into the LISA.SI tool.
Keywords: atributne gramatike; attribute grammars; disertacije; domain-specific languages; domensko specifični jeziki; genetic programming; genetsko programiranje; grammatical inference; memetic algorithm; memetski algoritmi; semantic inference; semantično sklepanje; sklepanje o gramatikah