Generation of indexes for compiling efficient parsers from formal specifications

  • Authors:
  • Carlos Gómez-Rodríguez;Miguel A. Alonso;Manuel Vilares

  • Affiliations:
  • Departamento de Computación, Universidade da Coruña, Facultad de Informtica, La Coruña, Spain;Departamento de Computación, Universidade da Coruña, Facultad de Informtica, La Coruña, Spain;Departamento de Informática, Universidade de Vigo, E.T.S. de Ingeniería Informática, Orense, Spain

  • Venue:
  • EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parsing schemata provide a formal, simple and uniform way to describe, analyze and compare different parsing algorithms. The notion of a parsing schema comes from considering parsing as a deduction process which generates intermediate results called items. An initial set of items is directly obtained from the input sentence, and the parsing process consists of the application of inference rules (called deductive steps) which produce new items from existing ones. Each item contains a piece of information about the sentence's structure, and a successful parsing process will produce at least one final item containing a full parse tree for the sentence or guaranteeing its existence. Their abstraction of low-level details makes parsing schemata useful to define parsers in a simple and straightforward way. Comparing parsers, or considering aspects such as their correction and completeness or their computational complexity, also becomes easier if we think in terms of schemata. However, when we want to actually use a parser by running it on a computer, we need to implement it in a programming language, so we have to abandon the high level of abstraction and worry about implementation details that were irrelevant at the schema level. In particular, we study in this article how the source parsing schema should be analysed to decide what kind of indexes need to be generated in order to obtain an efficient parser.