A platform for the automatic generation of attribute evaluation hardware systems

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.

[1]  Emmanuel Skordalakis,et al.  Syntactic Pattern Recognition of the ECG , 1990, IEEE Trans. Pattern Anal. Mach. Intell..

[2]  Jean-Cédric Chappelier,et al.  An FPGA-based coprocessor for the parsing of context-free grammars , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[3]  Robert W. Floyd,et al.  The Syntax of Programming Languages-A Survey , 1964, IEEE Trans. Electron. Comput..

[4]  George K. Papakonstantinou,et al.  Attribute Grammar Based Modeling of Concurrent Constraint Logic Programming , 1995, Int. J. Artif. Intell. Tools.

[5]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[6]  George K. Papakonstantinou,et al.  Knowledge Representation with Attribute Grammars , 1986, Comput. J..

[7]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[8]  King-Sun Fu,et al.  Parallel Parsing Algorithms and VLSI Implementations for Syntactic Pattern Recognition , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[9]  Walter L. Ruzzo,et al.  An Improved Context-Free Recognizer , 1980, ACM Trans. Program. Lang. Syst..

[10]  Koji Nakano,et al.  Accelerating the CKY Parsing Using FPGAs , 2002, HiPC.

[11]  Oscar H. Ibarra,et al.  Parallel Regognition and Parsing on the Hypercube , 1991, IEEE Trans. Computers.

[12]  King-Sun Fu,et al.  Attributed Grammar-A Tool for Combining Syntactic and Statistical Approaches to Pattern Recognition , 1980, IEEE Transactions on Systems, Man, and Cybernetics.

[13]  Jay Earley,et al.  An efficient context-free parsing algorithm , 1970, Commun. ACM.

[14]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.

[15]  King-Sun Fu,et al.  Algorithm partition and parallel recognition of general context-free languages using fixed-size VLSI architecture , 1986, Pattern Recognit..

[16]  Dong-Yul Ra,et al.  A Parallel Parsing Algorithm for Arbitrary Context-Free Grammars , 1996, Inf. Process. Lett..

[17]  Heng-Da Cheng,et al.  Shape Recognition Using A Fixed-Size VLSI Architecture , 1995, Int. J. Pattern Recognit. Artif. Intell..

[18]  George K. Papakonstantinou,et al.  An Efficient Hardware Implementation for AI Applications , 2006, SETN.

[19]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[20]  Martin Schoeberl,et al.  A Java processor architecture for embedded real-time systems , 2008, J. Syst. Archit..

[21]  Theodore Andronikos,et al.  Efficient reconfigurable embedded parsers , 2009, Comput. Lang. Syst. Struct..

[22]  Anthony M. Sloane,et al.  Eli: a complete, flexible compiler construction system , 1992, CACM.

[23]  Daniel H. Younger,et al.  Context-Free Language Processing in Time n^3 , 1966, SWAT.

[24]  George K. Papakonstantinou,et al.  An Embedded Microprocessor for Intelligent Control , 2005, J. Intell. Robotic Syst..

[25]  George K. Papakonstantinou,et al.  Hardware Natural Language Interface , 2007, AIAI.

[26]  PaakkiJukka Attribute grammar paradigmsa high-level methodology in language implementation , 1995 .

[27]  Peter Thanisch,et al.  Natural language interfaces to databases – an introduction , 1995, Natural Language Engineering.