Going to the Next Level of Programming
Posted on 2004-06-17 10:17:17 - #Hits : 110
Tuntutan pekerjaan lah yang membuat saya harus merancang sebuah interpreter. Sebuah pekerjaan yang cukup berat dan sempat membuat pusing kepala... heheheh.
Dalam pembuatan suatu interpreter, setidaknya ada beberapa hal yang harus kita perhatikan yaitu:
- perancangan Grammar
- perancangan Parses Syntax / Syntax Lexer, saya menggunakan DFA (Deterministic Finite Automata) dan mekanisme LALR1 (Look Ahead, Left to Right, 1 Token)
- perancangan Interpreter itu sendiri yaitu yang menyediakan action / tindakan pada token atau syntax yang telah dikenali
Untuk sementara kemampuan interpreter yang sedang saya rancang masih sangat sederhana, antara lain:
- Assignment dan retrieval variabel
- Statement yang telah ada : ShowMessage (Input), Echo, While do end, If Then End, If Then Else End
- Fungsi built-in operasi string meliputi: Pos, PosEx, StrRev, Left, Mid dan Right
- Operator yang didukung meliputi GT (GreatThan), GTE (GreatThanOrEqual), LT (LessThan), LTE (LessThanOrEqual), EQ (Equal) dan NQ (NotEqual)
- Literal yang didukung meliputi String dan Number
Setiap hari, saya terus meningkatkan kemampuannya. Untuk sementara interpreter ini masih dibuat dengan VB. Saya masih berusaha untuk mengkonversi ke Delphi agar lebih powerful dan terintegrasi dengan project yang sedang saya tangani.