wew, sekitar 5 bulan yang lau gw dapet matakuliah Teori Bahasa dan Automata, dan kata Mrs Mira (selaku dosen gw) katanya ini baik kalo kita mo buat bahasa pemrograman baru
wew, kayaknya gak perlu dipelajari , wonk gw gak kan bikin bahasa pemrograman baru kok
tapi ternyata pas kesini, ternyara di automata juga belajar “parsing”
wkkkkkkkkk
wah gak nyangka makin kesini ternyata automata makin penting , contohnya kalo kita bikin aplikasi yang butuh parsing, dan juga regex
ternyata bahasa pemrograman yang dimaksud tuh bukan hanya kayak java, C++, tapi bisa juga MySQL
jadi nanti gw pengennya bikin bahasa SQL baru, jadi kalo biasanya kita pake “SELECT * FROM TABLENAME”, nanti gw pengennya kayak gini “TAMPILKAN SELURUH DATA DARI TABEL ORANG” heheheh, kayaknya keren!!!!
nach contoh sederhana gw sekarang bikin apliaksi kalkulator pertambahan (simple aja) pake automata
jadi aturan produksinya kayak gini :
S = A + A + A + …
A = 1…n
n = (Max Integer)
jadi sekarang tingal kita buat DFA nya , singkat cerita dah gw buat kayak gini :
wew, jadi gini keterangannya :
A = State Awal
B = Final State
A(1…9) -> B
B(0…9) -> B
B(+) -> C
C(1…9) -> B
btw, ngerti gak ama diagram DFA diatas? kalo gak ngerti mungkin harus belajar automata dulu
sekarang kita bua refresentasi dari A, B, C
nah karena A, B, C punya kesamaan, yaitu sebagai State jadi kita kita buat aja interface untuk State yang isinya validateCharacter(char), isFinalState(), isStartState() :