Luca Dan Șerbănați at the baccalaureate, 1961
Luca Dan Șerbănați in the early 1970s
Luca Dan Șerbănați giving his last fifth-year lecture, April 1989

Luca Dan Șerbănați

Emeritus Professor at Politehnica University of Bucharest

Research, teaching, industry and memoirs

RO | EN | IT
Luca Dan Șerbănați in Venice, 1990
Luca Dan Șerbănați in New York, 2005
Luca Dan Șerbănați

Teaching origins

This book has its origins in a series of three university textbooks containing the four parts of the course, published between 1981 and 1983:

The series was consolidated and matured in this volume, addressed not only to students but also to computing professionals who wished to deepen their understanding of programming languages and, especially, of their translators.

Cover

Cover of the book Limbaje de programare și compilatoare, 1987

Synthesis

The book “Limbaje de programare și compilatoare” (Editura Academiei RSR, 1987) is conceived as a unified synthesis between the theoretical foundations and the engineering techniques required for the definition and implementation of programming languages. It emerged from an advanced long-duration course (three semesters), taught from 1980 onward by bringing together automata theory, formal languages, and compilers. Its stake is both “human” and technical: language is the principal convention of human-computer cooperation, while the compiler is the mechanism that makes this convention executable, transforming programs from descriptions into real processes — not through disparate recipes, but through a coherent methodology.

The central idea of the book is that program translation can be treated as a formalizable operation: a systematic transformation between two descriptions of the same algorithm, from the source language toward forms closer to the machine. In this framework, each language implicitly corresponds to a virtual machine that gives meaning to its constructs, and compilation becomes the interface discipline between the universe of this virtual machine and that of the real machine.

The structure is explicitly tripartite, preceded by a conceptual introduction on systems, information, communication, languages, and translation, precisely in order to establish that a compiler is not a trick, but an answer to a general need for the controlled transformation of representations:

The book is distinguished by its refusal to separate theory from practice: each topic follows the path motivation – algorithm – implementation, forming not only technical knowledge, but also a discipline of thought. A unifying element is the systematic recourse to the model of the machine (abstract / virtual, with states, stack, tables, and actions), which structures the same logic from recognition to translation and then to code generation, offering the reader a way of thinking extensible to the design of other complex software applications.

Links