Posts

  ARTI KATA TEKNIK KOMPILASI Teknik : Metode atau Cara Kompilasi : Proses mengabungkan serta menterjermahkan sesuatu (source program) menjadi bentuk lain Compile : To translate a program written in a high-level programming language into machine language. Translator :  Compiler & Interpreter Translator : Adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke  bahasa lain (The object on target language) Jika source language adalah high level language, seperti cobol, pascal, fortran maka object language adalah low-level language atau mesin language. Translator seperti ini disebut COMPILER Kenapa perlu Translator ? -Dengan bahasa mesin adalah bahasa bentuk bahasa terendah komputer, berhubungan langsung dengan bagian bagian komputer seperti bits, register & sangat primitive -Jawaban atas pertanyaan ini akan membingungkan bagi programmer yang membuat program dengan bahasa mesin. -Bahasa mesin adalah tidak lebih dari uruta
  Teknik Kompilasi- Analisa Leksial Analisa Leksikal Proses penguraian struktur kalimat memiliki dua sub proses, yaitu proses analisa leksikal dan proses analisa sintaks. Proses analisa leksikal ini dilakukan oleh penganalisa leksikal yang dihasilkan oleh alat bantu Lex, sedangkan proses analisa sintaks dilakukan oleh alat bantu YACC. Analisa Leksikal (Scanner) merupakan antarmuka antara kode program sumber dan analisa sintaktik (parser). Atau dalam pengertiannya adalah sebuah proses yang mendahului parsing sebuah rangkaian karakter. Scanner melakukan pemeriksaan karakter per karakter pada teksmasukan, memecah sumber program menjadi bagian-bagian disebut Token. Proses parsing akan lebih mudah dilakukan bila inputnya sudah berupa token. Analisa 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 p
  Translator pada Teknik Kompilasi Translator Melakukan pengubahan source code/program sumber ke dalam target code/object code. Source code ditulis dalam sumber sedangkan object code bisa dalam bahasa pemrograman lain atau bahasa mesin pada suatu komputer. Macam – macam Translator 1.        Assembler Source code adalah bahasa assembly, object code adalah bahasa mesin contoh : Turbo Assembler dan Macro Assembler 2.        Kompilator ( Compiler) Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses pada waktu yang berbeda. Contoh ; Turbo Pascal. Compile time adalah saat pengubahan dari source code ke object code sedangkan Run Time adalah saat eksekusi object code. 3.        Interpreter Interpreter tidak membangkitkan object code, hasil translasi hanya dalam bentuk internal. Contoh: BASICA/GW-BASIC,LIPS,SMALLTALK. Source code dan data diproses pada saat yang sama. Model Kompilator Kompilator umumnya mempunyai dua tuga
Image
  NFA to DFA Algorithm: Dstates := {å_closure(start_state)} while T := unmarked_member(Dstates) do { mark(T) for each input symbol a do { U :=å_closure(move(T,a)) if not member(Dstates, U) then insert(Dstates, U) Dtran[T,a] := U } } Practice converting NFA to DFA OK, you've seen the algorithm, now can you use it? ... ...did you get: OK, how about this one: Some Remarks · If you checked out the class web page, you saw a solution to HW#1 was posted awhile ago... I will try to do this for future assignments also, but can't do so very promptly if I wish to have a relaxed "late turnin" policy. What is in your best interests? · Color BASIC has two-letter identifiers. We are doing Extended Color BASIC, so we will allow longer identifier names. But in the current assignment #2 you will only be tested on short variable names. · Whether we return the same or a different category for integer constants and for line numbers depends very much on the grammar we use to parse BASIC, a