In this section I bring together my work in the theoretical area of computer science — those contributions concerned with formalization, languages, translation and the mathematical models of computation. Some of these texts were also used as teaching material, but they are presented here primarily as a conceptual basis for my later directions in software engineering, artificial intelligence and medical informatics.
The material is structured along conceptual axes, not biographically. Each axis has its own page, where I will gradually integrate descriptions, lists of works and, where appropriate, publishable fragments.
My interest in foundations began with questions related to the formal description of the semantics of programming languages and to the relation between theoretical constructions and the effective behaviour of programs. This is the context of my diploma thesis at the Faculty of Mathematics, devoted to defining semantics with the help of the Vienna Method.
Automata theory is one of the cornerstones of theoretical computer science: models of computation, language recognition, equivalences, minimization, closure properties, and links with algebraic descriptions and programming models.
Formal languages and grammars provide the mathematical framework for describing syntax and for building translators.
In 1980 I defended my doctoral thesis, “Implementation of a language for an interactive data processing system,” a project that combined formal rigor with the construction of a conversational ALGOL-60 compiler used in programmer training. The compiler was able to compile and execute programs line by line, offering immediate feedback to users. The project combines formal language theory with engineering practice.
In this subsection I will group the syntheses devoted to programming languages and compilation techniques in my book Programming Languages and Compilers, published in 1987: the layered anatomy of a compiler, lexical and syntactic analysis, semantic analysis, syntax-directed translation, intermediate representations and code generation.