• Michal Ondrejka, Dominik Trúchly, Jakub Brňák, Maťo Hrachovec

  • GitHub

  • december, 2021

The project involves designing and developing a compiler for IFJ22, a programming language similar to PHP. The compiler takes code written in IFJ22 and translates it into IFJcode22, a low-level programming language similar to assembly.
The compiler performs various tasks such as lexical analysis, syntax analysis, semantic analysis, and code generation. It first analyzes the code to identify tokens, checks their syntax and structure, and builds a parse tree. The semantic analysis phase verifies the correctness of the code in terms of type checking, scope checking, and error handling.
The next step is code generation, where the compiler produces executable code in IFJcode22. It requires a strong understanding of programming languages, compilers, and computer architecture.
The end result of the project is a working compiler that can translate IFJ22 code into IFJcode22 and produce executable programs. The compiler can be used to develop complex applications and software systems in IFJ22, providing developers with a powerful tool for programming in a language similar to PHP.