Daftar Isi:
Definisi - Apa yang dimaksud Parser?
Parser adalah komponen kompiler atau juru bahasa yang memecah data menjadi elemen yang lebih kecil untuk memudahkan terjemahan ke bahasa lain. Parser mengambil input dalam bentuk urutan token atau instruksi program dan biasanya membangun struktur data dalam bentuk pohon parse atau pohon sintaksis abstrak.
Techopedia menjelaskan Parser
Parser biasanya digunakan sebagai komponen juru bahasa atau kompiler. Keseluruhan proses penguraian melibatkan tiga tahap:
- Analisis Leksikal: Alat analisis leksikal digunakan untuk menghasilkan token dari aliran karakter string input, yang dipecah menjadi komponen kecil untuk membentuk ekspresi yang bermakna.
- Analisis Sintaksis: Memeriksa apakah token yang dihasilkan membentuk ekspresi yang bermakna. Ini menggunakan tata bahasa bebas konteks yang mendefinisikan prosedur algoritmik untuk komponen. Ini berfungsi untuk membentuk ekspresi dan menentukan urutan tertentu di mana token harus ditempatkan.
- Parsing Semantik: Tahap parsing terakhir di mana makna dan implikasi dari ekspresi yang divalidasi ditentukan dan tindakan yang diperlukan diambil.
Tujuan utama parser adalah untuk menentukan apakah input data dapat berasal dari simbol awal tata bahasa. Jika ya, lalu dengan cara apa data input ini dapat diturunkan? Ini dicapai sebagai berikut:
- Parsing Top-Down: Melibatkan pencarian pohon parse untuk menemukan derivasi paling kiri dari input stream dengan menggunakan ekspansi top-down. Contohnya termasuk parser LL dan parser keturunan-rekursif.
- Bottom-Up Parsing: Melibatkan penulisan ulang input kembali ke simbol awal. Jenis parsing ini juga dikenal sebagai parsing pengurang shift. Salah satu contoh adalah parser LR.
Parser banyak digunakan dalam teknologi berikut:
- Java dan bahasa pemrograman lainnya
- HTML dan XML
- Bahasa data interaktif dan bahasa definisi objek
- Bahasa basis data, seperti SQL
- Bahasa pemodelan, seperti bahasa pemodelan realitas virtual
- Bahasa scripting
- Protokol, seperti panggilan fungsi jarak jauh HTTP dan Internet