Modul ini membahas tahap kedua pipeline, yaitu mengubah deret token menjadi pohon sintaks abstrak. Enam topik di dalamnya mencakup tata bahasa formal beserta ambiguitasnya, desain hierarki node AST, teknik recursive descent sebagai dasar parser tulis tangan, penanganan presedensi dan asosiativitas, strategi pemulihan error parsing, dan posisi parser generator seperti yacc dan ANTLR dibandingkan terhadap penulisan tangan. Modul ini paling padat karena parsing adalah bagian compiler yang paling banyak memuat teori dan praktik sekaligus.
Parsing
Mengubah deret token menjadi pohon sintaks: tata bahasa, desain AST, recursive descent, presedensi, pemulihan, dan parser generator.
0/0 selesai
- Tata Bahasa
BNF, derivasi, dan ambiguitas sebagai alat mendeskripsikan sintaksis bahasa.
- Desain AST ?
Hierarki node AST, pohon ekspresi versus pohon pernyataan, dan tag jenis node.
- Recursive Descent
Teknik parsing tulis tangan yang dipakai setiap proyek compiler nyata pertama kali.
- Presedensi dan Asosiativitas
Rekursi kiri dan kanan, serta teknik precedence climbing untuk ekspresi berlapis.
- Pemulihan Error Parsing
Panic mode dan titik sinkronisasi agar parser tetap melaporkan banyak error sekaligus.
- Parser Generator
Posisi yacc, bison, dan ANTLR dibandingkan terhadap parser tulis tangan.