Translasi adalah himpunan pasangan string {(string sumber, string objek)}
Kompilator mendefinisikan translasi sebagai pasangan (progam sumber, program
objek)
Jika kompilator dianggap tiga tahap, analisis leksik, analisis sintaks dan pembangkit
kode, maka masing-masing tahap itu mendefinisikan translasi.
• analisis leksik adalah translasi string-string yang merepresentasikan program
sumber dipetakan menjadi string-string token.
• analisis sintaks memetakan string-string token menjadi string-string yang
merepresentasikan pohon sintaks.
• Pembangkit kode kemudian mengambil string-string yang dihasilkan analisis
sintaks menjadi bahasa mesin atau assembly.
Dua cara menspesfikasikan bahasa :
Grammer
Tiap kalimat pada bahasa dapat dibangun dengan metode-metode yang
terdefinisi baik menggunakan aturan-aturan grammer (biasa disebut aturan
produksi atau produksi)
2 . Recognizer atau finiti automata
finiti automata menggunakan prosedur yang saat diberikan masukan string
berhingga akan berhenti dan menyatakan “Ya” dengan sejumlah berhingga
komputasi jika string tersebut merupakan elemen bahasa.
Keunggulan gremmer :
Operasi-operasi parsing dan penerjemahan sering menjadi
lebih mudah
Ditangan para ahli FA menjadi kakas sangat berguna dalam
Perancangan lexical analyzer, yaitu bagian kompilator yang
Bertugas mengelompokkan karakter-karakter menjadi toke-token.
Penggunaan ekspresi regular dan FA banyak digunakan diberbagai
Aplikasi seperti editor teks, pengolahan teks, pencarian
Teks beragam file (grep, fgrep, egrep di UNIX).
Tidak ada komentar:
Posting Komentar