Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eki/dorothy
A Z-Machine interpreter library.
https://github.com/eki/dorothy
Last synced: 2 months ago
JSON representation
A Z-Machine interpreter library.
- Host: GitHub
- URL: https://github.com/eki/dorothy
- Owner: eki
- License: lgpl-2.1
- Created: 2008-10-15T22:55:44.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2016-03-21T01:11:28.000Z (almost 9 years ago)
- Last Synced: 2024-08-03T18:14:10.402Z (6 months ago)
- Language: C
- Homepage:
- Size: 176 KB
- Stars: 19
- Watchers: 4
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README
- License: COPYING
Awesome Lists containing this project
- AwesomeInterpreter - dorothy
README
= Dorothy
Dorothy is a z-machine interpreter library. It's core is C (taken in part from
Frotz), the interface is Ruby. Ideally this project forms the basis for
writing interpreters and other tools.The two most critical references for this are:
* The Z-Machine Standards Document
* Frotz's source code= Demo
There is a demo webapp that uses Dorothy at iFrotz .
= Testing
You'll need the Inform 6 to compile the test programs .
= Sample IRB Session
eki@indus> irb -r dorothy ~/projects/dorothy
>> m = Z::Machine.new( "minizork.z3" )
=> #>> m.run
=> nil>> m.output
=> ["MINI-ZORK I: ", "The Great Underground Empire", "\n", "Copyright (c) 1988
Infocom, Inc. All rights reserved.\nZORK is a registered trademark of Infocom,
Inc.\nRelease ", 34, " / Serial number ", "8", "7", "1", "1", "2", "4", "\n",
"\n", "West of House", "\n", "You are standing in an open field west of a white
house, with a boarded front door. ", "You could circle the house to the north
or south.", "\n", "There is a ", "small mailbox", " here", ".", "\n", "\n",
">"]>> m.output.clear
=> []>> m.keyboard << "open mailbox\n"
=> "open mailbox\n"
>> m.run
=> nil>> m.output
=> ["> ", "open mailbox", "\n", "Opening the ", "small mailbox", " reveals ",
"a ", "leaflet", ".\n", "\n", ">"]