# Homework 4 - Kompilatorer Del 2: Backend Denna delen av läxan handlar om att implementera semantic analysis av era språk samt en backend. Denna backend kan vara i form av att kompilera till något annat språk såsom t.ex C eller generera maskinkod direkt. Om ni vill generera maskinkod kan ni använda er av något bibliotek som LLVM eller Cranelift. Ni har till och med nästa övning **(3e November)** på er att göra färdigt er kompilator eller interpreter. ## Läxa 1. Skriv färdigt era parsers 2. Implementera semantic analysis * Variabler defninerade * Typer korrekt (Om ni har typer) * Etc.. 3. Implementera en backend till er kompilator ### Alternativ 1 (Kompilator): Kompilera till maskinkod själv eller genom t.ex LLVM eller Cranelift. ### Alternativ 2 (Transpiler): Kompilera till ett annat språk som i sin tur går att kompilera (t.ex C) ## Resurser * [LLVM Guide](https://mukulrathi.com/create-your-own-programming-language/llvm-ir-cpp-api-tutorial/) Genomgång av LLVM IR och LLVMs API * [Officiell tutorial från LLVM](https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.html)