[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

Computer Science and Information Systems 2013 Volume 10, Issue 4, Pages: 1673-1701
https://doi.org/10.2298/CSIS130120071K
Full text ( 209 KB)


Context parsing (not only) of the object-file-format description language

Křoustek Jakub (Faculty of Information Technology, IT Innovations Centre of Excellence Brno University of Technology, Brno, Czech Republic)
Kolář Dušan (Faculty of Information Technology, IT Innovations Centre of Excellence Brno University of Technology, Brno, Czech Republic)

The very first step of each tool such as linker, disassembler, or debugger is parsing of an input executable or object file. These files are stored in one of the existing object file formats (OFF). Retargetable tools are not limited to any particular target platform and they have to deal with handling of several OFFs. Handling of these formats is similar to parsing of computer languages - both of them have a predefined structure and a list of allowed constructions. However, OFF constructions are heavily mutually interconnected and they create context-sensitive units. In present, there is no generic system, which can be used for OFF description and its effective parsing. In this paper, we propose a formal language that can be used for OFF description. Furthermore, we present a design of a context parser of this language that is based on the formal models. The major advance of this solution is an ability to describe context-sensitive properties on the level of the language itself. This concept is planned to be used in the existing retargetable decompiler developed within the Lissom project. In this project, the language and its parser will be used for an object file parsing and its automatic conversion into the internal uniform file format. It is important to say that the concept of this parser can be utilized within other programming languages.

Keywords: object file format, context parsing, scattered context grammar, priority function, attributed grammar, decompilation, Lissom, ELF