Cara Penangan Kesalahan

  1. Kesalahan Program
    • Kesalahan Leksikal
      Contoh : Kesalahan dalam mengeja Keywords
      - THEN ditulis TEN
    • Kesalahan Sintaks
      Contoh : Kesalahan pada operasi aritmatika dimana tanda kurung kurang.
      A := X + ( B * ( C + D )
    • Kesalahan Semantik
      Contoh : Tipe data yang salah, Contoh dalam program
      VAR Siswa : Integer (Variable siswa bertipe Integer)
      Siswa = "yanuar" (dilakukan operasi assigment dengan tipe data)

  2. Penanganan Kesalahan
    • Mendeteksi Kesalahan
    • Melaporkan Kesalahan
    • Tindak lanjut pemulihan / perbaikan
      Contoh : Error 162 jumlah : Unknown Identifier.
      Kode Kesalahan = 162
      Pesan Kesalahan dalam bahasa natural = Unknown Identifier.
      Nama Identifier = jumlah
  3. Reaksi Kompilator pada kesalahan
    • Reaksi yang tidak dapat diterima atau tidak melaporkan error.
      Contoh :
      - Kompilator Crash atau hang atau berhenti
      - Looping
      - Menghasilkan program objek yang salah.
      - Reaksi benar tapi kurang dapat diterima dan kurang bermanfaat.
    • Reaksi - reaksi yang dapat diterima
      Contoh : Error  ~>  pemulihan dan perbaikan.
  4. Error Recovery
    • Mekanisme AdHock
    • Sintax directed recovery
      Contoh :
      begin
      A := A + 1
      B := B + 1;
      C := C + 1
      Kompilator akan mengenalnya sebagai dalam BNF / Backus Norm Form
      begin <statement> ? <statement> ; <statement> ? end,
      maka ? tersebut akan dianggap sebagai ;
    • Secondary Error Recovery / Melokalisir Error
      - Panic Mode
      Contoh :
      IF   A = 1
      kondisi = True
      - Unit Deletion
      Contoh :
      <block>
    • Context Sensitive Recovery
      Contoh :   B = "nama"
  5. Error Repair
    • Mekanisme AdHoc
    • Syntax directed repair
      Contoh :
      WHILE    A < 1
                      I :=  I + 1;
    • Context sensitive repair
      - Tipe Identifier   ~>   Identifier dummy
      Contoh :
      VAR   A    String;
      begin
      A  =  0;
    • Spelling repair
      Contoh :
      WHILLE A = 1   DO
      maka kompilator akan memperbaiki menjadi WHILE.

Comments

Popular posts from this blog

Tipe File dan Macam - Macam File

Model Warna YIQ