A platform for the automatic generation of attribute evaluation hardware systems

  • Authors:
  • Alexandros C. Dimopoulos;Christos Pavlatos;George Papakonstantinou

  • Affiliations:
  • National Technical University of Athens, School of Electrical and Computer Engineering, Heroon Polytechniou 9, 15780 Zografou, Athens, Greece;National Technical University of Athens, School of Electrical and Computer Engineering, Heroon Polytechniou 9, 15780 Zografou, Athens, Greece;National Technical University of Athens, School of Electrical and Computer Engineering, Heroon Polytechniou 9, 15780 Zografou, Athens, Greece

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Attribute grammars (AG) allow the addition of context-sensitive properties into context free grammars, augmenting their expressional capabilities by using syntactic and semantic notations, making them in this way a really useful tool for a considerable number of applications. AGs have extensively been utilized in applications such as artificial intelligence, structural pattern recognition, compiler construction and even text editing. Obviously, the performance of an attribute evaluation system resides in the efficiency of the syntactic and semantic subsystems. In this paper, a hardware architecture for an attribute evaluation system is presented, which is based on an efficient combinatorial implementation of Earley's parallel parsing algorithm for the syntax part of the attribute grammar. The semantic part is managed by a special purpose module that traverses the parse tree and evaluates the attributes based on a proposed stack-based approach. The entire system is described in Verilog HDL (hardware design language), in a template form that given the specification of an arbitrary attribute grammar, the HDL synthesizable source code of the system is produced on the fly by a proposed automated tool. The generated code has been simulated for validation, synthesized and tested on an Xilinx FPGA (field programmable gate arrays) board for various AGs. Our method increases the performance up to three orders of magnitude compared to previous approaches, depending on the implementation, the size of the grammar and the input string length. This makes it particularly appealing for applications where attribute evaluation is a crucial aspect, like in real-time and embedded systems. Specifically, a natural language interface is presented, based on a question-answering application from the area of airline flights.