PENGERTIAN
Sintaks dari bahasa pemogramanbiasanya diberikan dalam 2 bagian. Sebagian besar Sintaks dispesifikasikan dalam bentuk Grammar Context-free yang dapat diurai (parse) secara efisien.
Context-free Grammar (CFG) sangat penting di dalam penggambaran dan penterjemah bahasa pemograman. Karena lebih berpengaruh dan mempunyai algoritma Parsing yang efektif dan efisien.
Parsing itu sendiri adalah pembentukan pohon sintaks untuk kalimat yang dbentuk. Pohon sintaks itu sendiri dapat memberikan bantuan yang besar dalam memahami Sintaks dari sebuah kalimat.
Jadi, Sintaks itu adalah kumpulan aturan yang mendifinisikan suatu bentuk bahasa. Yang didefinisikan itu adalah suatu kata yang dikombinasikan menjadi suatu statment yang benar jadi dapat dsusun suatu program tersebut dan dapat berjalan dengan benar.
Sebuah grammar didefinisikan sebagai 4- tupel
G = (VN, VT, S, Q)
ISTILAH & PENGERTIAN DALAM SINTAKS
- Produksi, sebuah elemn (α,β)dari Q, ditulis sebagai α → β dimana α menghasilkan atau menurunkan β.
- Simbol Non-Terminal, Capslock/ huruf besar {VN}
- Sombol Terminal, huruf kecil {VT}
- Derivasi, proses pembentukan kalimat dalam grammar.
Catatan: Seluruh variabel harus dapat diuraikan/ dibagi-bagi, sedangkan terminal tidak dapat diuraikan lagi. Alfabet adalah himpunan hingga tidak kosong (hampa) dari simbol dimana anggotanya : huruf (besar & kecil)/ karakter/ token.
Bahasa adalah himpunan hingga/ tak hingga dari kalimat atau kumpulan kalimat sedangkan
kalimat itu sendiri merupakan string yang tersusun atas simbil-simbol terminal.
Kalimat merupakan sentesial tapi tidak sebaliknya.
Sentesial itu string yang tersusun/ simbol2 terminal/ non/ campuran keduanya. PAHAM DENGAN KALIMAT INI KHAN ?? ^^,
Penjelasan dari 4 tupel,
Untuk VN dan VT sudah jelas yaa yang termasuk VN yang mana & VT yang mana^^, hehe
Kemudian untuk S itu merupakan sebuah elemen tertentu dari si VN yang disebut dengan Simbol Start (Awal). Q merupakan subhimpunan hingga tidak kosong dari relasi (VT U VN)* ke (VT U VN)*.
CONTOH dalam memndefinisikan identifier, grammarsnya
G1 = { VN, VT, S, Q}, dengan
VN = {I,L,D}
VT = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9}
S = I, dan
Q = { I --> L , I --> IL, I --> ID, L --> a, L --> b, ... , L --> z, D --> 0, D --> 1, ... , D --> 9}
Tau ya cara baca Q (produksinya) I menghasilkan L dan seterusnya sampai D menghasilkan 9.