Definisi
ANother Tool for Language Recognition (ANTLR)
ANTLR, ANother Tool for
Language Recognition, berdasarkan artikel “An Introduction
to ANTLR”, adalah sebuah alat
bantu yang menerima deskripsi grammatical dari
sebuah language dan membentuk program yang mengenali sentence dalam language tersebut.
Sebagai bagian dari translator, kita dapat menambah grammar dengan operator dan
action untuk memberi pedoman pada ANTLR bagaimana membentuk AST (Abstract Syntax
Tree) dan output. ANTLR mengimplementasikan strategi parsing LL(k) dan sanggup melakukan
sejumlah lookahead dalam menangani grammar yang ambigu.
ANTLR dapat membentuk recognizer
dengan grammar yang sesuai untuk 3 jenis input, yaitu character streams, token streams,
dan two dimensional tree. Dengan 3 input tersebut ANTLR akan menghasilkan program
lexer untuk menangani input berupa character streams, parser untuk menangani token
streams yang dihasilkan oleh lexer, dan treeparser untuk menangani two
dimensional tree jika dibutuhkan.
ANTLR dikembangkan oleh
Terence Parr seorang Profesor dari Universitas San Francisco pada tahun 1989.
Bersama dengan beberapa temannya Terrence Parr telah memberikan sejumlah kontribusi
dasar pada teori parsing dan alat bantu untuk pengenalan language. Hal ini
berdampak pada pengembangan penggunaan alat bantu pengenalan bahasa berdasarkan
metode parsing LL(k).
ANTLR
Tree
Berdasarkan artikel “ANTRL
Tree Construction”, ANTLR dapat membentuk intermediate form tree, atau abstract
syntax tree, dengan menambahkan simbol-simbol tertentu pada grammar untuk mengindikasikan
token yang menjadi root dari subtree, token yang menjadi leaves, dan token yang
harus diabaikan pada saat pembentukan tree. Root node untuk pembentukan AST
pada ANTLR, ditentukan dengan menambahkan tanda “^” pada akhir dari sebuah token
(sufix). Sedangkan untuk leaf node, setiap referensinya ke nonsuffixed token atau
token-range dianggap sebagai leaf node untuk rule tersebut.
Tidak ada komentar:
Posting Komentar