This repository contains project solutions from the two courses mentioned below.
All high-level programming tasks are implemented in Rust language.
Coursera link: https://www.coursera.org/learn/build-a-computer/
- Project 00: Introduction/Demo
- Project 01: Boolean Functions and Gate Logic
- Project 02: Boolean Arithmetic and ALU
- Project 03: Memory
- Project 04: Machine Language
- Project 05: Computer Architecture
- Project 06: Assembler
- Translates an assembler program to a binary machine language representation.
- https://github.com/thesems/nand2tetris/tree/main/06/assembler
Cousera link: https://www.coursera.org/learn/nand2tetris2
- Project 07: VM I - Stack Arithmetic
- Virtual Machine Translator for operations: arithmetic/logical, push/pop.
- https://github.com/thesems/nand2tetris/tree/main/07/vmtranslator
- Project 08: VM II - Program Control
- Virtual Machine Translator extension: branching, functions, bootstrap, multi-file
- https://github.com/thesems/nand2tetris/tree/main/08/vmtranslator
- Project 09: High-Level Language
- Game in Jack language: Snake. Eat mice and grow!
- https://github.com/thesems/nand2tetris/tree/main/09/Snake
- Project 10: Compiler I - Syntax Analysis
- Analyzer consists of a tokenizer and parser.
- https://github.com/thesems/nand2tetris/tree/main/10/jackanalyzer
- Project 11: Compiler II - Code Generation
- Compiler translates the parsed files into VM code.
- https://github.com/thesems/nand2tetris/tree/main/11/jackcompiler
- Project 12: Operating System