You are here

Hugo Areias defends master dissertation entitled "An AnTLR Back-end for Perl Generation"

Hugo Miguel dos Santos Areias has requested the defence of his dissertation, entitled "An AnTLR Back-end for Perl Generation". The defence will be held in the meeting room of the Departamento de Informática, on June 27, 2011, 11:00am. The public is invited.

The examining committee is the following:

  • João M. Fernandes (UMinho) - president
  • António Menezes Leitão (IST) - opponent
  • Pedro Rangel Henriques (UMinho) - supervisor
  • Alberto Simões (IPCA) - co-supervisor


The Perl language is well known mainly for its flexibility and for providing powerful text processing mechanisms, along with powerful regular expressions and related functionalities to facilitate data extraction and manipulation. Although regular expressions are quite helpful for language processing, and Perl 5.10 already supports recursive-descent parsers, these mechanisms are not always enough to recognise and process texts with a complex structure. However, the process of constructing such LPs is painful and time consuming. To ease this process some parser generator tools were developed; independently of the implementation language, different target languages can be considered.

There are a few modules in CPAN to help with the generation of parsers in Perl; however some are limited, only supporting a particular parser algorithm and not covering desirable needs of the user. These modules are going to be analysed and tested for performance and usability. A proper evaluation of the results allows careful considerations about the state of art of parser generation in Perl.

This work focus on the study of the relevance of parser generators like AnTLR1, and the need for producing processors in different languages. It is also presented an analysis of some of the already existent back-ends for AnTLR, mainly the one that generates the Java parser. At the end, a Perl back-end for AnTLR is developed based on the studies done in order to draw some conclusions. The main goal of this back-end is to automatically generate attribute based language processors in Perl using AnTLR assistance.

To achieve this goal it is undertaken a reverse engineering process over AnTLR to better understand its components and plan the best strategies to implement the tool. Being the StringTemplate engine the component responsible for generating the code in the target languages, it is carefully analysed altogether with some Java parsers generated by AnTLR, to perceive how the retargeting for Perl should be performed. To prove the tool is indeed a reliable solution and the generated parsers are efficient, performance tests are done for this purpose.


home contacts RSS Feed last update: 06-Dec-2019 share facebook
Drupal theme by D7 ver.1.1