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