Saya mencari definisi yang jelas tentang apa itu "tokenizer", "parser" dan "lexer" dan bagaimana mereka terkait satu sama lain (misalnya, apakah parser menggunakan tokenizer atau sebaliknya)? Saya perlu membuat program akan melalui c / h file sumber untuk mengekstrak deklarasi dan definisi data.
Saya telah mencari contoh dan dapat menemukan beberapa info, tetapi saya benar-benar berjuang untuk memahami konsep dasar seperti aturan tata bahasa, pohon parse dan pohon sintaksis abstrak dan bagaimana mereka saling berhubungan satu sama lain. Akhirnya konsep-konsep ini perlu disimpan dalam program yang sebenarnya, tetapi 1) seperti apa bentuknya, 2) apakah ada implementasi yang umum.
Saya telah melihat Wikipedia tentang topik dan program ini seperti Lex dan Yacc, tetapi karena belum pernah melalui kelas kompiler (EE mayor), saya merasa sulit untuk sepenuhnya memahami apa yang sedang terjadi.