Skip to content

Latest commit

 

History

History
18 lines (12 loc) · 1.49 KB

README.md

File metadata and controls

18 lines (12 loc) · 1.49 KB

milan-compilers

Sample compilers for the Milan programming language.

Milan is a very simple imperative programming language used in the compiler construction course by prof. Yuri Karpov in Peter the Great St. Petersburg Polytechnic University. I developed them around 2011 as a tutorial for students.

  • ymilan: a compiler in C, Flex, and Bison.
  • cmilan: a compiler in pure C++, recursive descent.
  • jmilan: a compiler in Java, recursive descent.
  • vm: a simple stack virtual machine for the assembly language compilers generate.

Учебные компиляторы языка Милан, которые используются в курсе профессора Юрия Глебовича Карпова «Теория автоматов и формальных языков» в Санкт-Петербургском политехническом университете Петра Великого. Компиляторы написаны примерно в 2011 году в качестве учебного пособия.

  • ymilan: реализация на C, Flex и Bison.
  • cmilan: реализация на C++, для синтаксического анализа используется метод рекурсивного спуска.
  • jmilan: реализация на Java, рекурсивный спуск.
  • vm: простая стековая виртуальная машина для выполнения порождаемого компиляторами кода.