Skip to main content

Analisis Sintaksis

 Analisis Sintaksis (Parsing)

- Parsing merupakan tahapan yang berguna untuk memeriksa urutan kemunculan token.

- Parsing adalah konsturksi atau pembentukan Pohon Sintaks untuk suatu kalimat (ekspresi).

- Pohon Sintaks menggambarkan bagaimana memperoleh suatu string/untai (menurunkan simbol variabel menjadi simbol terminal).

- Bila terdapat lebih dari satu pohon sintaks untuk sebuah grammar maka dikatakan grammar tersebut Ambiguous.


Pengertian Pohon (1)

Pohon (tree) adalah suatu graph terhubung tidak sirkuler, yang memiliki satu simpul (node)/vertex disebut akar (root) dan memiliki lintasan ke setiap simpul.


Pengertian Pohon (2)

Pohon sintaks/pohon penurunan berguna untuk menggambarkan bagaimana memperoleh suatu string (untai) dengan cara menurunkan simbol-simbol variabel menjadi simbol-simbol terminal.

- Mendapatkan untai

- Setiap simbol variabel akan diturunkan menjadi simbol-simbol terminalnya.


Contoh Pembentukan Pohon Penurunan

Co:/ Terdapat tata bahasa bebas konteks dengan aturan produksi sbb:

S→ AB

A → aA│a

B → bB │ b

Akan digambarkan pohon penurunan untuk memperoleh untai “aabbb”.Pada pohon tersebut simbol awal akan menjadi akar (root).

Bentuk Pohon Sintaks nya


Metode Parsing

Dua cara melakukan validitas sintaks dengan parsing yaitu :

1.TOP DOWN Parsing : melakukan penelusuran dari root/puncak menuju leaf/daun (S – T)

Meliputi Brute Force dan Recursive Descent Parser

2.BOTTOM UP Parsing : melakukan penelusuran dari leaf menuju root/puncak.

Detail metode parsing

Comments

Popular posts from this blog

IMPLEMENTASI SCANNER

  Implementasi Scanner Scanner biasanya diimplementasikan sebagai sebuah prosedur yang dipanggil oleh Parser. Prosedur Scan sederhana: Didefinisikan dulu Procedure GetChar untuk mengambil sebuah karakter dari file input. Procedure GetChar; begin Read (FileInput, Kar); end; Implementasi Scan Sederhana Dimana : FileInput: text, Kar: character Pada scanner kita akan maju satu-satu per karakter untuk mendapatkan token. Selanjutnya kita akan buat Procedure Scan. Procedure Scan Begin While Kar=‘ ‘ do GetChar {selama ketemu spasi maju terus} repeat

ANALISIS LEKSIKAL

Analisis Leksikal 2.1 Pengertian Analisis Leksikal/Analisis Linier/Pembacaan Sekilas (Scanner). Dalam kaitan ini aliran karakter yang membentuk program sumber dibaca dari kiri ke kanan dan   dikelompokkan dalam apa yang disebut token yaitu barisan dari karakter yang dalam suatu kesatuan mempunyai suatu arti tersendiri.. Analisis ini melakukan penerjemahan masukan menjadi bentuk yang lebih berguna untuk tahap-tahap kompilasi berikutnya. Analisis Leksikal merupakan antarmuka antara kode program sumber dan analisis sintaktik (parser). Scanner melakukan pemeriksaan karakter per karakter pada teks masukan, memecah sumber program menjadi bagian-bagian disebut Token. Analisis Leksikal mengerjakan pengelompokkan urutan-urutan karakter ke dalam komponen pokok: identifier, delimeter, simbol-simbol operator, angka, keyword, noise word, blank, komentar, dan seterusnya menghasilkan suatu Token Leksikal yang akan digunakan pada Analisis Sintaktik. Model dasar untuk membentuk suatu Analis...