Xref: utzoo comp.compilers:1281 comp.lang.prolog:3177 Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!snorkelwacker!mintaka!spdcc!esegue!compilers-sender From: Jonathan.Bowen@prg.oxford.ac.uk (Jonathan Bowen) Newsgroups: comp.compilers,comp.lang.prolog Subject: Re: Help on disassembler/decompilers Keywords: debug Message-ID: <679@culhua.prg.ox.ac.uk> Date: 13 Sep 90 09:28:49 GMT References: <2900@network.ucsd.edu> <1990Sep9.010032.23235@sco.COM> <433@necssd.NEC.COM> Sender: compilers-sender@esegue.segue.boston.ma.us Reply-To: Jonathan Bowen Organization: Programming Research Group, Oxford University, UK Lines: 20 Approved: compilers@esegue.segue.boston.ma.us Speaking of decompilers, I have recently written a simple compiler in Prolog based almost directly on a formal compiling specification. Currently a high-level program can be supplied and object code produced (non-deterministically, so several (possibly an infinite number of) versions may be generated) or a high-level program and some object code may be supplied and checked against one another. Prolog in principle can run backwards, so it may be possible to supply some object code and produce a high-level program or programs as output. The main problem is running the necessary arithmetic backwards (i.e. avoiding the use of "is") and I am currently looking into this. Has anyone else done any similar work or can anyone supply any useful references? I am cross posting this to comp.lang.prolog as well as comp.compilers for wider coverage. -- Jonathan Bowen, Oxford. -- Send compilers articles to compilers@esegue.segue.boston.ma.us {ima | spdcc | world}!esegue. Meta-mail to compilers-request@esegue.