tekom ke-3

Upload: farid-nur-fadillah

Post on 07-Jul-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 TEKOM Ke-3

    1/6

    BOTTOM UP PARSING

    Operator Procedure Parser 

    Merupakan proses menafsirkan sebuah operator akan dikerjakan terlebih dahulu

    atau dikerjakan setelahnya.

    Operator Grammar 

    Digunakan untuk membandingkan level dari satu operator dengan operator lainnya.

    Contoh pada matematika, jika diketahui persamaan a+b/c, maka operator “/ akan

    dikerjakan terlebih dajulu kemudian diikuti dengan operator “+.

    Disini terlihat maka level operator / lebih tinggi dari +.

    Maka untuk menentukan sebuah operator grammar dengan menggunakan sebuah

    !perator "recedence "arsing, yaitu #

    $ata %ahasa yang memiliki sifat yang produksinya pada sisi kanan tidak memiliki ɛ

    atau dua nonterminal yang bersebelahan / berturut&turut.

    'rammar yang termasuk !perator 

    grammar 

    E → E + E | E * E | ( E ) | id

    'rammar yang bukan operator grammar 

    E → E A E | ( E ) | - E | id

    A → + | - | * | / | ^

     (lgoritma membuat tabel !perator "recedence "arsing #

    ). %uatlah tabel M*i,j dimana adalah operator 

    -. %andingkan dan j #

    a. apabila keduanya memiliki input yang sama yaitu berupa string atau , maka

    tidak dapat dibandingkan.

    b. (pabila operator yang dibandingkan adalah #

    + dengan + maka berikan tanda “0

    http://compilerdesigndetails.blogspot.com/2012/02/operator-precedence-parsing.htmlhttp://compilerdesigndetails.blogspot.com/2012/02/operator-precedence-parsing.htmlhttp://compilerdesigndetails.blogspot.com/2012/02/operator-precedence-parsing.htmlhttp://compilerdesigndetails.blogspot.com/2012/02/operator-precedence-parsing.html

  • 8/18/2019 TEKOM Ke-3

    2/6

    + dengan 1 maka berikan tanda “2

    + dengan maka berikan tanda “ 0

    3tring dengan + maka berikan tanda “04

    Dimana string merupakan operator paling tinggi dan operator paling rendah

     (lgoritma bottom up dengan operator precedence #

    ). %entuk kedalam pita stack

    -. %andingkan input i,j

    a. apabila menghasilkan tanda “2 maka input tersebut di push/ tambahkan

    ke dalam stack

    b. apabila menghasilkan tanda“0 maka input tersebut di pop/ mengambil

    dari stack

    5. kerjakan langkah - hingga input berakhir, dan apabila mencapai struktur 

    teratas / produksi kiri maka proses berhasil/ diterima/ accept

    Contoh #

    E → E + E | E * E | ( E ) | id

    Dengan string # “ id+id1id

    Maka tabel M*i,j yang terbentuk #

    Hubungan operator pada tabel perbandingan :

    http://4.bp.blogspot.com/-i4KvOj_E1bo/TztCVNymgPI/AAAAAAAAAHo/ovDOknD6Omg/s1600/ss6.JPG

  • 8/18/2019 TEKOM Ke-3

    3/6

    Digunakan untuk menentukan urutan level operator paling tinggi dan terendah.

    Menggunakan persamaan fungsi.

    ). $entukan dahulu fungsi berdasarkan kolom dan baris

    -. %andingkan dua fungsi, apabila fungsi pertama lebih besar dari fungus

    kedua, maka fungsi dua menuju fungsi satu.

    Contoh #

     

    grafik yang merepresentasikan fungsi precedence #

    Digambarkan #

    gid6f16g16f16g+6f

    fid6g16f+6g+6f

    http://2.bp.blogspot.com/-_4VQ09EgVrM/TztCZaFJkuI/AAAAAAAAAHw/v979Z-8dai0/s1600/ss7.JPG

  • 8/18/2019 TEKOM Ke-3

    4/6

    sehingga didapat prioritas operator dari tertinggi hingga ke rendah adalah #

    id + 1

    f 7 - 7 8

    g 9 ) 5 8Maka urutan tertinggi untuk 1 dan + adalah f1 bernilai 7 lebih besar dari g+ bernilai ),

    sehingga 1 operator tertinggi dari +.

    R !"# PARS$R

    3ebuah produksi disebut :; yang dipilih dan jika ? dan @ adalah dua

    symbol string maka (6?.@.

  • 8/18/2019 TEKOM Ke-3

    5/6

  • 8/18/2019 TEKOM Ke-3

    6/6

    $abel :;