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).
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.
sumber :
0 komentar:
Posting Komentar