VIII. PENTERJEMAH DARI INFIX KE REVERSE POLISH
Hal-hal yang harus diperhatikan dalam proses ini :
1. Pernyataan infix (sisipan) akan dianggap sebagai string (satu dimensi) yang disebut infix string (string sisipan) dan akan di scan dari kiri ke kanan satu simbol setiap kali.
2. Pernyataan Reverse Polish akan dianggap string (satu dimensi) yang disebut pernyataan Reverse Polish yang diisikan dari kiri ke kanan.
3. Penggunaan (use) akan terbuat dari stack LIFO dari jenis yang di deskripsikan pada bagian struktur data.
4. Simbol dalam stirng infix yang saat itu sedang diperiksa akan disebut simbol saat itu.
Pada penterjemah dari infix ke reverse Polish ini digunakan Pseudocode, Pseudocode digunakan untuk mengkonversi string infix yang terbentuk dengan baik ke Reverse Polish. Pseudocode ini hanya memberikan garis besar dalam metode.
Sebelum menggenerasi bentuk kode ke dalam Reverse Polish, pernyataan Revers Polish harus di cek legalitasnya. Pernyataan yang legal dikatakan sebagai Well Formed Formulae (WFF).
IX. REPRESENTASI POHON
Prosedur untuk mengkonstruksi representasi pohon untuk suatu string Reverse Polish adalah sebagai berikut :
Mulailah dari ujung sebelah kanan pernyataan tersebut dan bekerjalah dari kanan ke kiri :
a) Ambilah simbol secara bergantian. Untuk setiap simbol, bentuklah node kanan baru, tempatkan simbol tersebut dalam node ini dan melintaslah ke node itu. Apabila node yang baru saja diciptakan ini berisi operand, mulailah langkah b. Node yang berisi operand adalah node terminal.
b) Berjalanlah balik ke atas pada pohon itu sampai node kiri diperlukan. Isilah node ini dengan simbol berikutnya dalam string Reverse Polish.
c) i. Jika simbol yang diisikan di dalam b tersebut adalah operand, maka
lanjutkanlah dengan b.
ii. Jika simbol yang diisikan dalam b tersebut adalah operator kembalilah pada
langkah a.
Representasi pohon dari AB + CD - * ditunjukan di bawah ini :
Tidak ada komentar:
Posting Komentar