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

PhD thesis

My PhD thesis marked a defining moment in my career, bringing together two research directions that were rarely reconcilable in 1980: formal rigor and the actual construction of an operational software product. At the request of my supervisor, Professor Mircea Petrescu, the thesis bore the official title “Implementation of a Language for an Interactive Data Processing System”; in fact, it concealed the design of a conversational ALGOL-60 compiler for a multi-user system, capable of responding incrementally, in real time, after each line entered by the user. The “language” in the title was in fact a conversational ALGOL-60 compiler — SICAL — integrated into a system designed for training programmers in ALGOL-60.

At first, the choice did not particularly excite me: ALGOL-60 had already exhausted much of its practical novelty, although it remained the landmark language that had introduced the formal description of syntax into computer science. I accepted the challenge because the conversational direction — encouraged by the emergence of time-sharing systems — opened a new line of research, while the formal rigor of the language allowed me to attempt a systematic approach to compiler construction. Its main distinctive feature was incremental compilation: after each line entered, the user received real-time feedback, even while other consoles were being used concurrently.

For syntactic analysis I adopted LALR(1) and, together with exceptional students, built a table generator; for semantic analysis I used syntax-directed translation schemes and attribute grammars (Knuth). We worked with modest resources (FELIX C-256), often at night, resuming executions that had been interrupted in the morning — an exercise in patience that kept us together and forced us to devise ingenious solutions. The complete conversational compiler was not finished before the defense, but we delivered the essential components (adapted grammar, LALR(1) generator, semantic rules, and documentation). More importantly, this experience made me understand that the theory of formal languages does not serve only one particular compiler, but can offer a general framework for describing and controlling the process of program development.

Key idea

Compilation is treated as an incremental process: the analysis of the program text and the internal structures of compilation are updated as the program is being written, not only at the end. In this way, the theory of languages and translation becomes part of human–machine interaction, under response-time constraints.


Objectives and results of the thesis (summary)


Chapter 1 – the conceptual core of the thesis

From the experience of the project emerged the fertile “anomaly” of the thesis: Chapter 1 does not deal with implementation details of SICAL, but proposes a formalization of program design, seen as a succession of transformations between “intermediate forms” governed by precise rules. In this chapter I tried to formulate the conceptual framework and to give a rigorous shape to the problem: what does a language and a translator mean, in clear terms, in a conversational context; how can incrementality be expressed; and how can the internal structures of a program “in progress” be described.

I worked with the idea of the “abstract machine” as a behavioral model, with states and actions, and tried to capture how the interface with the environment, data structures, and operations can be systematically refined down to an executable level. This attempt to move from art to engineering — from intuition to justifiable steps — became, over time, the methodological skeleton that I later developed.

For this chapter there is a PDF copy, an English translation also in PDF, and a detailed description, which I make available as a separate document here.

👉 Read more about Chapter 1


Connections with later work

The themes of the thesis — formal rigor, intermediate representations, semantic structures, and the treatment of the development process as a systematic activity — fed my later concerns with languages, compilers, and the engineering design of software products.


Available materials

The full text of the thesis is not available in a complete and clean digital edition. Instead, I provide the table of contents and introduction of the thesis, as well as an extended description (12 pages) presenting its structure, ideas, and contributions.

Back