Automata and Compilers 06 - Lexical Analysis
How a lexer breaks source code into tokens and where automata theory meets real implementation
Thoughts on code, technology, and everything in between
From finite automata and formal languages to building a compiler from scratch
How a lexer breaks source code into tokens and where automata theory meets real implementation
The concept of virtual memory and how the Linux kernel manages memory
Instruction pipelining, hazard handling, branch prediction, superscalar and out-of-order execution
Why compilers are divided into multiple phases and what each phase does
How the Linux kernel distributes CPU time among processes and how CFS works
The role of ISAs, CISC vs RISC philosophy, and x86 versus ARM design differences
What computational power a stack adds to finite automata
How processes are created and managed in Linux, and how threads relate to them
How the ALU, control unit, and datapath work together to execute instructions