Definisi formal dari setiap bahasa secara umum dapat ditentukan melalui dua metode, yaitu: 1) melalui recognition dan 2) melalui generation.
Sebagai contoh, misalkan L adalah suatu bahasa dengan aphabet Σ. Dengan metode recoginition diperlukan mekanisme atau recognizer R yaitu alat bantu yang memanfaatkan alpahabet Σ untuk dapat menentukan apakah suatu string atau statement termasuk dalam bahasa (himpunan) L.
Dengan metode generation diperlukan alat bantu yaitu generator yang dapat digunakan untuk menghasilkan kalimat atau statements yang memenuhi ketentuan untuk bahasa tersebut.
Generator lebih mudah untuk dibaca dan difahami dibanding recognizer. Memanfaatkan kemampuan syntax-checking (recognizer) dari suatu compiler, pemrogram dapat melakukan trial-error untuk mengetahui apakah statement tertentu dinyatakan benar / salah oleh compiler, namun pemrogram tidak mudah mendapatkan deskripsi dari bahasa tersebut melalui recognizer.
Sebaliknya, dengan memanfaatkan generator, pengecekan apakah suatu statement dari suatu bahasa adalah benar atau salah dapat dilakukan dengan cara membanding statement tersebut terhadap struktur dari generator.
Comments
Post a Comment