On Nov 9, 8:07 pm, Al <radic...@evcohs.com> wrote:
> It would be nice if someone would develop a TXD Decompiler > for Inform 7 games for both the Mac and Windows.
> It would decompile these 3:
> .z5 > .z8 > glulxe
There are decompilers that turn .z5 and .z8 games to Inform6, but not Inform7. I guess someone could write a de-decompiler that would turn i6 code to i7.
And the Z-Machine and Glulxe are different, so you would need two separate compilers.
>> There are decompilers that turn .z5 and .z8 games to Inform6, but not >> Inform7.
> Do tell. I had a quick Google, and also tried a few directories in the > Archive, with no result.
> Where would I find such a decompiler?
If you're thinking of using that in order to get your lost source code back (the one after the "backup disaster"), then I'm afraid you're in for a disappointment :P A decompiler does not restore source code. It just produces low-level code that has nothing to do with the original source code other than producing the same results when you run it.
> On 11/10/2009 02:07 AM, Jim Aikin wrote: > > Alex Rosslyn wrote:
> >> There are decompilers that turn .z5 and .z8 games to Inform6, but not > >> Inform7.
> > Do tell. I had a quick Google, and also tried a few directories in the > > Archive, with no result.
> > Where would I find such a decompiler?
When I see this question, I think of TXD, which is on the Archive (under infocom/tools/ztools). Then I remember that while TXD produces accurate Z-machine assembly code, the syntax is different from what the I6 compiler accepts. For that, use Reform (already posted in this thread, <http://www.exmsft.com/~benrg/if-decompilers/>. It's also in the Archive under infocom/tools/reform.)
> If you're thinking of using that in order to get your lost source code > back (the one after the "backup disaster"), then I'm afraid you're in > for a disappointment :P A decompiler does not restore source code. It > just produces low-level code that has nothing to do with the original > source code other than producing the same results when you run it.
This is true. And it would be true at both levels. If someone were to write an I6-to-I7 "decompiler", it would generate nasty, bloated, opaque I7 code. (Leaving aside the uninteresting trick of just including all of the I6 code as a single (- ... -) block.) The original I7 rule structure could be recovered only by pattern-matching and a lot of guesswork.
The output of running TXD on an I7-compiled game is... well, not good for much.
--Z
-- "And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..." *
> > On 11/10/2009 02:07 AM, Jim Aikin wrote: > > > Alex Rosslyn wrote:
> > >> There are decompilers that turn .z5 and .z8 games to Inform6, but not > > >> Inform7.
> > > Do tell. I had a quick Google, and also tried a few directories in the > > > Archive, with no result.
> > > Where would I find such a decompiler?
> When I see this question, I think of TXD, which is on the Archive > (under infocom/tools/ztools). Then I remember that while TXD produces > accurate Z-machine assembly code, the syntax is different from what > the I6 compiler accepts. For that, use Reform (already posted in this > thread, <http://www.exmsft.com/~benrg/if-decompilers/>. It's also in > the Archive under infocom/tools/reform.)
> > If you're thinking of using that in order to get your lost source code > > back (the one after the "backup disaster"), then I'm afraid you're in > > for a disappointment :P A decompiler does not restore source code. It > > just produces low-level code that has nothing to do with the original > > source code other than producing the same results when you run it.
> This is true. And it would be true at both levels. If someone were to > write an I6-to-I7 "decompiler", it would generate nasty, bloated, > opaque I7 code. (Leaving aside the uninteresting trick of just > including all of the I6 code as a single (- ... -) block.) The > original I7 rule structure could be recovered only by pattern-matching > and a lot of guesswork.
> The output of running TXD on an I7-compiled game is... well, not good > for much.
> --Z
> -- > "And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..." > *
So Z-Code disassemblers/decompilers are as useless as actual disassemblers/decompilers?
Here, Alex Rosslyn <black.line...@gmail.com> wrote:
> So Z-Code disassemblers/decompilers are as useless as actual > disassemblers/decompilers?
They *are* actual disassemblers/decompilers.
I wouldn't call them useless; I was even overstating when I said "not good for much". Sometimes all you want is a dump of the Z-machine strings table, and then TXD is your puppy.
--Z
-- "And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..." *
> Here, Alex Rosslyn <black.line...@gmail.com> wrote:
> > So Z-Code disassemblers/decompilers are as useless as actual > > disassemblers/decompilers?
> They *are* actual disassemblers/decompilers.
> I wouldn't call them useless; I was even overstating when I said "not > good for much". Sometimes all you want is a dump of the Z-machine > strings table, and then TXD is your puppy.
> --Z
> -- > "And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..." > *
Allow me to rephrase that:
So Z-Code disassemblers/decompilers are as useless when it comes to showing human-readable code as the disassemblers/decompilers for other non-IF languages?
> On Nov 10, 7:27 pm, Andrew Plotkin <erkyr...@eblong.com> wrote: > > Here, Alex Rosslyn <black.line...@gmail.com> wrote:
> > > So Z-Code disassemblers/decompilers are as useless as actual > > > disassemblers/decompilers?
> > They *are* actual disassemblers/decompilers.
> > I wouldn't call them useless; I was even overstating when I said "not > > good for much". Sometimes all you want is a dump of the Z-machine > > strings table, and then TXD is your puppy.
> Allow me to rephrase that:
> So Z-Code disassemblers/decompilers are as useless when it comes to > showing human-readable code as the disassemblers/decompilers for other > non-IF languages?
Yep.
(Sorry, I should have made it clearer that I was agreeing with you.)
--Z
-- "And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..." *