Apa Itu Sintaks Abstrak?

Sintaks abstrak adalah cara bagi pemrogram komputer untuk memetakan struktur program yang ingin mereka buat tanpa mengkhawatirkan kode aktual yang diperlukan untuk mengimplementasikannya. Ini memungkinkan pemrogram untuk fokus pada apa yang perlu dilakukan program sebelum berfokus pada bagaimana membuat komputer benar-benar melakukan fungsi yang diinginkan. Sintaks abstrak menguraikan tugas khusus program, seperti menambahkan dua angka bersama-sama, dan menunjukkan tipe data apa yang dapat digunakan dalam program itu. Setelah pemetaan abstrak selesai, pohon sintaksis abstrak digambar, yang mencocokkan konsep abstrak dengan sintaksis konkret — simbol aktual yang perlu diketik oleh programmer untuk menjalankan program yang dia buat.

Ide untuk sintaks abstrak adalah untuk fokus pada tipe data dan hubungan mereka tanpa terjebak dalam detail tentang cara mengkodekannya. Kode komputer jauh berbeda dari bahasa manusia, dan sulit untuk mencoba berpikir dalam istilah ini. Sebagai gantinya, pemrogram membuat daftar langkah-langkah yang perlu diselesaikan program dan kemudian menggunakan sintaksis konkret untuk mencocokkan istilah abstrak dengan istilah kode komputer yang melakukan langkah-langkah tersebut. Seringkali, programmer akan memasukkan tipe data dalam markup abstraknya untuk menunjukkan tipe data apa — baik itu angka, huruf, atau desimal — yang dapat digunakan oleh program. Tipe data spesifik tidak diperlukan pada tahap ini dalam pemrograman, bagaimanapun, dan programmer dapat memilih untuk menggunakan tipe data abstrak, yang murni teoritis dan akan diganti dengan tipe data spesifik ketika program ditulis.

Ide pemrograman abstrak semacam ini sering digunakan dalam teori kompiler. Komputer hanya dapat memahami dua nilai: 1s dan 0s. Ini dikenal sebagai kode biner. Agar komputer dapat memahami program yang ditulis dalam bahasa pemrograman, komputer harus mengkompilasi, atau menerjemahkan, kata dan huruf ke dalam aliran 1 dan 0. Kompiler rumit untuk membuat dan memetakan ide yang kabur atau abstrak tentang apa yang perlu mereka lakukan membantu programmer merencanakan kode bebas kesalahan.

Ketika programmer ingin memetakan sintaks abstrak ke sintaks konkret dan mulai mengkode program atau kompiler, ia membuat pohon sintaksis abstrak. Ini hanyalah daftar semua instruksi abstrak yang dia tulis, seperti “tambahkan 2 variabel,” dengan garis yang ditarik dari setiap istilah abstrak ke baris kode tertentu yang diperlukan untuk menjalankan instruksi itu. Pemrogram dapat menggunakan istilah abstrak apa pun yang dia inginkan, tetapi lebih umum menggunakan istilah kode terkenal seperti “var” untuk variabel dan “int” untuk bilangan bulat.