enjadi suatau keharusan bagi ... Makalah pada Mata Kuliah Pengelolaan Instalasi Komputer dengan begitu, para ...
enjadi suatau keharusan bagi ... Makalah pada Mata Kuliah Pengelolaan Instalasi Komputer dengan begitu, para ...
teknik konpilasiFull description
TEKNIK KOMPILASI BAB 1Full description
Ini Tugas dari pak sinurat. Wah.... Sangad susah. tapi akhirnya kami dapat menyelesaikanya.Full description
berisikan tentang penjelasan scanner
materi tentang teknik kompilasiFull description
berisikan tentang penjelasan scanner
Full description
Asessmen dan Rencana Terapi Gangguan Penggunaan NarkotikaFull description
Full description
diktat kuliah teknik kompilasi Bertha
Teknik Kompilasi Implementasi CodeDeskripsi lengkap
Teknik KompilasiFull description
mekanika teknik bab iii membahas tentang regangan dan tegangan bahanFull description
Full description
Deskripsi lengkap
Modul Peraktikum Teknik Kompilasi (T.Informatika)
MODUL PERAKTIKUM TEKNIK KOMPILASI III PROGRAM SCANNER LANJUT (KOMPLEKS) ***************************************************** Program dibawah ini merupakan program PARSER sederhana dengan cara Recursive Descent untuk sebuah bahasa yang memiliki tata bahasa (memakai Unit Scanner pada Modul Peraktikum Teknik Kompilasi I).
PROGRAM PARSER; USES CRT, SCANNER; vAR IS_ANY_ERROR : BOOLEAN; PROCEDURE PROCEDURE PROCEDURE PROCEDURE PROCEDURE
PROCEDURE ERROR_REPORTING(ID : BYTE); BEGIN IS_ANY_ERROR := TRUE; CASE ID OF 1 : WRITELN('''THEN' WRITELN('''THEN'' ' EXPECTED'); 2 : WRITELN(''':='' EXPECTED'); 3 : WRITELN('''IDENT WRITELN('''IDENTIFIER'' IFIER'' EXPECTED'); 4 : WRITELN(''']'' EXPECTED'); 5 : WRITELN(''')'' EXPECTED'); END; WRITELN('LINE : ',LINENUMBER); END; PROCEDURE STAT_PROC; BEGIN IF TOKEN = T_IF THEN BEGIN SCAN; EXP_PROC; IF TOKEN <> T_THEN THEN ERROR_REPORTING(1) ELSE BEGIN SCAN; STAT_PROC; IF TOKEN = T_ELSE THEN BEGIN SCAN; STAT_PROC; END END;
Modul Peraktikum Teknik Kompilasi (T.Informatika)
END ELSE BEGIN VAR_PROC; IF TOKEN <> T_ASSIGN THEN ERROR_REPORTING(2) ELSE BEGIN SCAN; EXP_PROC; END; END; END; PROCEDURE VAR_PROC; BEGIN IF TOKEN <> T_ID THEN ERROR_REPORTING(3) ELSE BEGIN SCAN; IF TOKEN = T_LBRACK THEN BEGIN SCAN; EXP_PROC; IF TOKEN <> T_RBRACK THEN ERROR_REPORTING(4) ELSE SCAN; END; END; END; PROCEDURE EXP_PROC; BEGIN TERM_PROC; WHILE TOKEN IN [T_ADD, T_SUB] DO BEGIN SCAN; TERM_PROC; END; END; PROCEDURE TERM_PROC; BEGIN FACT_PROC; WHILE TOKEN IN [T_MUL,T_RDIV] DO BEGIN SCAN; FACT_PROC; END; END;
Modul Peraktikum Teknik Kompilasi (T.Informatika)
PROCEDURE FACT_PROC; BEGIN FACTOR_PROC; WHILE TOKEN = T_DOUBLE_MUL DO BEGIN SCAN; FACT_PROC; END; END; PROCEDURE FACTOR_PROC; BEGIN IF TOKEN = T_LPARENT THEN BEGIN SCAN; EXP_PROC; IF TOKEN <> T_RPARENT THEN ERROR_REPORTING(5) ELSE SCAN; END ELSE IF TOKEN = T_INT THEN SCAN ELSE VAR_PROC; END;
BEGIN CLRSCR; INITIALIZE; IS_ANY_ERROR := FALSE; SCAN; CLRSCR; STAT_PROC; TERMINATE; IF IS_ANY_ERROR THEN WRITELN('PARSING WRITELN('PARSING FAIL'); WRITELN('PARSING WRITELN('PARSING SUCCES'); REPEAT UNTIL READKEY = #13 END.
Modul Peraktikum Teknik Kompilasi (T.Informatika) Berikut ini adalah contoh hasil parsing program diatas. 1. Isi source file : a := b + 12 * 5 – 3 Hasil pasing : Parsing sukses 2. Isi source file : a
b + 12 * 5 - 3
Hasil parsing : ‘:=’ expected Line : 1 Parsing fail Tugas : Buatlah hasil parsing untuk source – source file di bawah ini : 1. Isi Isi sou sourc rce e fil file e: If benar then a := 1 else If keluar then a := 5
2.
Isi Isi sou sourc rce e fil file e: If betul c := a * b
3.
Isi Isi sou sourc rce e fil file e: a := (b + c) * (d + e
4.
Isi Isi sou sourc rce e fil file e: var a : integer; begin a := 123456; end;
5.
Tugas Telah Diterima Tanggal : TTD
Isi Isi sou sourc rce e fil file e: begin { a := a + 1 }; end var a : Boolean; begin a := true; if a then a := false; end.