...collaborate on

Embedding Disambiguation Rules in the HaGLR System

Student: Luís Pedro Machado

In this project we will embed a domain specific language to express disambiguation rules in the HaGLR system: A Generalised LR parser generator. Such disambiguation rules "work" very much like precedence and priority rules used by YACC-like systems. Traditional techniques use a language processor for processing the disambiguation "language" and, then, combine them with the parser (either buy applying such rules at parse time , or by applying them as a filter over the resulting set of abstract syntax trees).
The UMinho Haskell Libraries already provide support for:

  • a. Generalised LR parsing. The HaGLR system is a GLR parser generator.
  • b. Parsing SDF grammars, that includes a large set of real programming language grammars defintions.
  • c. The construction and visualization of the resulting XML parse trees.

You will define a language to express disambiguation rules (based on exiting ones). Then you will implement a function that given a sentence of that langauge (ie, a set of rules) and the resulting parse forest and it selects the right tree(s).

Recomended Literature

  1. Disambiguation Filters for Scannerless Generalized LR Parsers, M.G.J. van den Brand, J. Scheerder, J.J. Vinju, and E. Visser, 2002
  2. Pure Functional Parsing, Peter Ljunglof, 2002
  3. Parser Generation for Interactive Environments, J. Rekers, 1992

r2 - 03 Mar 2005 - 16:27:28 - JoostVisser
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM