Abstract

Parsing descriptive programming languages, such as eXtendable Markup Language (XML) and Unified Modeling Language (UML), has been an active area of research. Lam, Ding, and Liu claim that among all important phases of XML (e.g., parsing, access, modification, and serialization), parsing is the most time-consuming one. That motivates investigation of efficient parsing techniques with applications in many computer science areas, including reverse engineering.While there are many works on parsing XML, there is still room for research about UML parsing. UML parsing is still challenging because UML deals with graphical representations, such as class icons, class diagrams, sequence diagrams, state diagrams, and not text representations that are input for traditional parsers. Reverse engineering is an important sub-area in software engineering and it basically means obtaining the UML specification from a source program described in an (object-oriented) programming language. This paper describes a new application of a non-traditional parallel parsing technique for a Uniform Petal Language (UPL) program. Our bidirectional parser takes as input a UPL program, that is, a text representation of a UML specification. The benefits of parsing a UPL program are checking the correctness of the UML specification and obtaining the productions that lead to that UPL program. Consequently, the UPL program can be generated from the associated set of productions. The set of productions associated to a correct UPL program is a very condensed way to store it. Keeping a specification as minimum as possible, but expressive, is an important concept of reverse engineering. We have implemented a bidirectional parser for context free languages, including UPL, in Java programming language, called Parsing Uniform petAl Language (PUPAL), and compare it with CUP, a state-of-the-art parser for Java designed by Hudson, Flannery, and Ananian. The experimental results considered several UPL programs and concluded that PUPAL performs better than CUP.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.