Sebuah otomata berhingga menspesifikasikan sebuah
bahasa sebagai himpunan semua untai yang menggerakkannya dari state awal ke salah satu state yang diterimanya (himpunan state akhir) Misalkan untuk sebuah ER: a(a*b*)b. Selain dengan ER, kita dapat mengkonstruksi aturan-aturan produksi untuk suatu tata bahasa reguler. Kita ingat juga batasan aturan produksi untuk bahasa reguler: (dibaca: menghasilkan ) dimana adalah sebuah simbol variabel, dan maksimal memiliki sebuah simbol variabel yang terletak di paling kanan (bila ada) dan dapat berupa simbol terminal atau simbol non- terminal (variabel) Simbol variabel (non-terminal adalah simbol yang masih bisa diturunkan, sedangkan simbol terminal sudah tidak bisa diturunkan lagi. Simbol terminal biasanya dinyatakan dengan huruf kecil, misal: a, b, c. Simbol non-terminal (variabel) biasanya dinyatakan dengan huruf besar, misal: A, B, C. Suatu tata bahasa (grammer) didefinisikan dengan empat tupel (G={V, T, P, S}), dimana: v = himpunan simbol variabel T = himpunan simbol terminal P = kumpulan aturan produksi S = simbol awal a q2 b a q0 q1 q4 b b q3
Gambar 6.1. Mesin FSA
Dari gambar 6.1., kumpulan aturan produksi yang kita peroleh dapat dituliskan sbb: S aE EA|B A aA | B B bB | b Secara formal, tata bahasa (grammer) yang diperoleh dari otomata pada gambar 6.1. adalah: V = {S, E, A, B} T = {a, b} P = {S Ae, E A | B, A aA | B, B bB | b} S=S 6.2. Mengkonstruksi Aturan Produksi dari Suatu FSA
Dalam mengkonstruksi aturan produksi tata bahasa
reguler dari suatu FSA, yang menjadi perhatian kita adalah state-state yang dapat menuju ke state akhir. Mesin FSA pada gambar 6.1, memiliki simbol input a dan b. simbol tersebut akan menjadi terminal pada aturan produksi yang akan kita bentuk. Misalkan kita tentukan simbol awal adalah S, state awal q0, dari q0 mendapat input a menjadi q1.Aturan produksi yang dapat ditulis adalah: SaE E dapat kita identikkan denga q1, lebih tepatnya adalah bagian yang belum terbangkitkan mulai dari q1. Kita dapat menambahkan simbol variabel baru setiap kali kita perlukan. Dari q1mendapat tramsisi-e (tanpa menerima input) ke q2 dan q3, kita tuliskan: EA EB
Jika kita identikkan q2 sebagai A, dan q3 sebagai B; dari q2
mendapat input a tetap ke q2; dari q3 mendapat input b tetap ke q3; bisa kita tuliskan: A aA B bB Selanjutnya kita lihat: dari q2 memberikan input b ke q4; dari q3 memberikan input b ke q4; sementara q4 merupakan state akhir, maka bisa dituliskan: A b Bb Kumpulan aturan prosuksi yang kita peroleh adalah sbb: S aE E AB A aAB B bBb Secara formal, tata bahasa yang diperoleh dari otomata pada gambar 6.1 adalah sbb: V = {S, E, A, B} T = {a, b} P = {SaE; E AB; A aAB; B bBb} S=S 6.3. FSA Untuk Suatu Tata Bahasa Reguler Bila sebelumnya dari suatu diagram transisi FSA kita dapat membuat aturan-aturan produksinya, sebaliknya kita juga dapat mengkonstruksi diagram transisi FSA untuk suatu tata bahasa teguler yang diketahui aturan- aturan produksinya. Misalnya terdapat tata bahasa reguler dengan aturan produksi sbb: S aB bA A abaS B babS FSA dari aturan produksi diatas, seperti yang ditunjukkan pada gambar 6.2. berikut b