Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Bahasa mesin terdiri dari bit-bit 0 dan 1. Bagaimana dengan orang yang tidak mengerti bahasa mesin?. Bahasa mesin tergantung jenis komputer yang digunakan. Bagaimana jika jenis komputer mengalami perubahan?. Oleh karena itu manusia berusaha menciptakan suatu bahasa yang dapat dimengerti baik oleh manusia maupun komputer, yang disebut dengan nama bahasa tingkat tinggi. Pada bahasa tingkat tinggi ke dalam bahasa mesin dibutuhkan sesuatu untuk menterjemahkan agar mesin komputer mengerti apa yang diinginkan oleh manusia, yaitu :
1. Interpreter
2. Compiler
Untuk membuat penerjemah seperti compiler perlu dibuat standar atau tata bahasa (Aturan) seperti manusia berkomunikasi mempunyai tata bahasa agar lawan bicaranya dapat mengerti yang dibicarakan. Demikian juga untuk menterjemmahkan ke dalam mesin, harus dibuat suatu aturan agar komputer mengerti apa yang diinginkan oleh manusia melalui program yang dibuatnya.
SINTAKS
Sintaks merupakan kumpulan aturan yang mendefinisikan suatu bentuk bahasa. Sintaks mendefiniskan bagaimana suatu kata dikembangkan menjadi suatu statement yang benar sehingga dapat disusun menjadi suatu program yang dapat berjalan dengan benar.
Sintaks dari bahasa pemrograman di definisikan dengan kumpulan aturan , yaitu
1. Aturan Lexical (Lexical Analysis) / Scanner
2. Aturan Syntactic (Syntactic Analyzer) / Parser
Konsep dan notasi bahasa
Alfabet adalah kumpulan dari objek-objek yang disebut dengan symbol.
Contoh :
* Bahasa adalah kumpulan symbol-symbol yang ditulis secara berurutan.
* Kalimat adalah deretan symbol symbol terminal
* Tata bahasa (Granmar) adalah sekumpulan dari himpunan variabel-variabel, simbol-simbol terminal, simbol non-terminal, system awal yang dibatasi oleh aturan-aturan produksi.
* Simbol terminal :
Huruf kecil alphabet : a, b, c, … , z
Digit 0, 1, 2, … ,9
Simbol tanda baca seperti tanda kurung, koma, dan sebagainya
Simbol operator +, – , dan sebagainya
Rangkaian tercetak tebal seperti : If, then, else
* Simbol Non Terminal
Huruf besar Alfabet : A, B, C, … , Z
Huruf S sebagai Simbol Awal
String yang tercetak miring, seperti expr
* Tata Bahasa G didefinisikan sebagai pasangan 4 tuple yaitu Vt, Vn, S, Q yang dituliskan G=(Vt, Vn, S Q ) dimana :
Vt = himpunan symbol terminal
Vn = himpunan symbol non terminal
S = Symbol awal
Q = Himpunan/ aturan produksi
* Tahun 1956 – 1959 Noam Chomsky melakukan penggolongan tingkatan dalam bahasa, yaitu menjadi 4 class yang disebut dengan hirarki Chomsky.
* Tahun 1959 Backus memperkenalkan notasi formal baru untuk sintaks bahasa yang lebih spesifik.
* Peter Nour (1960) Merevisi Metode Sintaks yang sekarang dikenal dengan BNF (Backus Nour Form)
Contoh tata bahasa sederhana :
– <program> –> B | b| i | ; <stat> END
– <factor> –> <var> | <constant>
– <var> –> A | B | …. | Z
– <op1> –> + | – | =
– <op2> –> ^ | * | /
– <constant> –> <real_number> | <integer_part>
Contoh :
Begin
A : 1
B : A+1
End
Aturan Produksi
Referensi dari
http://streamvoyage.com/3Kl1