Skip to main content

Recognizer vs Generator Dalam Bahasa Pemrograman

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

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...