Reusable Parser Generation from Free and Open Source Compilers
نویسنده
چکیده
This paper describes reusable parser generation from source code of popular open source compilers for rapid parser development. It is based on the author’s experience of constructing reverse engineering tools that extract design information and draw some diagrams from programs. This took several weeks to achieve using traditional parser development. A renewal parser generator MJay was developed to improve the productivity. The syntax analysis consists of two parsers. MJay generates a first parser which is a commonly-used LALR parser from traditional grammar rules. MJay also generates other grammar rules for a second parser which has no reduce/reduce conflicts. The second parser is developed rapidly using the generated grammar rules. In experiments, it took only a few hours to develop the parsers for C# and Visual Basic by effectively using the source code of compilers and MJay.
منابع مشابه
Reusable Parser Generation from Open Source Compilers
Many Open Source Software (called OSS) projects have been proposed and many software developers have contributed to develop software by OSS style. In the OSS development style, the source code is opened to the public and checked by the distributed software developers to improve the quality. The source code is, however, not effectively used to improve the productivity of other software developme...
متن کاملOpen-source Tools for Creation, Maintenance, and Storage of Lexical Resources for Language Generation from Ontologies
This paper describes reusable, open-source tools for creation, maintenance, storage, and access of Language Resources (LR) needed for generating natural language texts from ontologies. One advantage of these tools is that they provide a user-friendly interface for NLG LR manipulation. They also provide unified models for accessing NLG lexicons and mappings between lexicons and ontologies.
متن کاملWhy Implementation Matters: Evaluation of an Open-source Constraint Grammar Parser
In recent years, the problem of finite-state constraint grammar (CG) parsing has received renewed attention. Several compilers have been proposed to convert CG rules to finite-state transducers. While these formalisms serve their purpose as proofs of the concept, the performance of the generated transducers lags behind other CG implementations and taggers. In this paper, we argue that the fault...
متن کاملStudying impressive parameters on the performance of Persian probabilistic context free grammar parser
In linguistics, a tree bank is a parsed text corpus that annotates syntactic or semantic sentence structure. The exploitation of tree bank data has been important ever since the first large-scale tree bank, The Penn Treebank, was published. However, although originating in computational linguistics, the value of tree bank is becoming more widely appreciated in linguistics research as a whole. F...
متن کاملUsing the Eclipse C/C++ Development Tooling as a Robust, Fully Functional, Actively Maintained, Open Source C++ Parser
Open Source parsers that support contemporary C/C++, can recover from errors, include a preprocessor, and that are actively maintained, are rare. This work describes how to use the parser contained in the Eclipse C/C++ Development Tooling (CDT) as a Java library. Such parser provides not only the abstract syntax tree of the parsed le but also the semantics, i.e., type information and bindings. ...
متن کامل