A Set of Tools to Teach Language Processors Construction

Tzanko Golemanov, Emilia Golemanova · 2020

Writing a language processor (or a compiler) is a common assignment in Computer Science. It requires knowledge in a lot of areas, such as finite automata, backtracking, rule-based systems, hi-level programming languages structure, assembly languages, microprocessors, etc. Compiler construction is a widely used software engineering exercise, and in our opinion it is a very important phase in computer specialists' education. In this paper, we introduce LP_Tools: a set of applications specially designed for compiler construction educative project development. This set of tools not only facilitates teaching language processors but it also serves as an aid for students to gradually design their own hi-level programming languages. In addition, it provides a "soft landing" from theory to practice. The final project, every student or a small team has to develop, is an IDE consisting of a source code editor, a compiler, and an intermediate code interpreter. The interface and the main features of LP_Tools are described in the paper.

Read the paper · More papers on PaperTik