Project
This is a two-part project (30 points) performed by a team consisting of two students. The teams for Lecture Notes project (Part A) and Compiler project (Part B) can differ.To obtain specific information regarding your project, contact Zbyněk Křivka at krivka@fit.vut.cz.
- The specification of VYPa24 Compiler Project (including the specification of VYPlanguage and VYPcode)
- Command-line VYPcode interpreter in Java (requires version 1.8 or higher):
- vypint 1.0 (written in Java by Radim Kocman and Zbyněk Křivka)
- Several simple examples of VYPlanguage programs and VYPcode codes
- Extension supporting VYPcode editing and debugging in Visual Studio Code
- VYPcode Extension for Visual Studio Code (developped by Ondřej Krejčí in 2020/21/22)
- In the VYPa Compiler project, you develop a compiler that generates VYPcode as its target code. This extension can help you to understand VYPcode in details and to debug the generated VYPcode programs if you do not understand why they are malfunction.
- Flex homepage and Bison homepage
- ANTLR Parser Generator homepage
- PLY (Python Lex-Yacc)
- GPLEX and GPPG homepage (needs to try compatibility with Mono-project at Merlin)
- Javorek, J.: ANTLR: Parser Generator. VYPe presentation, 2010.
- 2010 - 2017: The target language was MIPS32 (Lissom implementation):
- VYPa17 Projects Presentation
- Description of assembler directives
- List of supported assembler directives
- MIPS32 ISA
- CodAL model of MIPS32-Lissom (see mips_basic_ia_vyp/model/mips_basic.codal; version 2012-10-09)
- Command-line tools (Codasip) - Linux 64-bit version (works on Merlin)
- Command-line tools (Codasip) - Windows version
- Husár, A.: MIPS Processor Overview and its Modeling using the ISAC Language. HSC course lecture on 6th October, 2010.
- MIPS ABI (Register Usage conventions)
- 2012-09-20: Command-line tool (bug with return code in register $3 instead registr $2)
- 2012-09-01: Old command-line tools (MUL instruction is not working in the simulator):
- Windows version
- Linux 32-bit version
- Linux 64-bit version
- CodAL model of MIPS32-Lissom (see mips_basic_ia_vyp/model/mips_basic.codal; includes some tests of VYPe-version MIPS-Lissom assembler; version 2011-12-02)
- 2010-10-01: ISAC model of MIPS32-Lissom (see model/mips.isac)