how do i make my own c compiler
To make your own c compiler: * First start with the lexer/tokenizer, it should turn code to tokens like this: int main(){return 2;} => INT, SPACE_SEPARATOR, {IDENTIFIER, "main"}, OPENING_BRACE, RETURN_KEYWORD, {LITERAL, "2"}, CLOSING_BRACE to do this make a list of tokens and translate code to tokens (i wrote all c tokens for my own c compiler) * Second make a Parser: it will turn tokens to an AST tree you will use it to compile, it ressembles this: main.cpp << not important | main_entry: {name: "main", type: "function", return_type: "int"} | / {return, type: "keyword"} | return value: {literal: "2", type: "int"} * And third make an x86 code writer it should translate the tree to x86 the result for our code in x86 is: .globl _main _main: movl $2 %eax ret PS: i am not giving code so you can write your c compiler in any language, and also make you actually feel like you wrote it yourself instead of copy pasting