git @ Cat's Eye Technologies hatoucan / 3c11891
README tweaks. Chris Pressey 9 years ago
1 changed file(s) with 14 addition(s) and 10 deletion(s). Raw diff Collapse all Expand all
11 ========
22
33 `hatoucan` is a tokenizer for Commodore BASIC 2.0 programs. You give it a
4 text file, and it gives you a `.PRG` file, which can then be run on a
5 Commodore computer (or emulator) such as the Commodore 64 or VIC-20. It is
6 written in Python 2.x and its source code is in the [public domain](UNLICENSE).
4 text file containing BASIC source code, and it gives you a `.PRG` file which
5 can be run on a Commodore computer (or emulator) such as the Commodore 64 or
6 VIC-20.
7
8 `hatoucan` is written in Python 2.x and its source code is in the
9 [public domain](UNLICENSE).
710
811 Quick start
912 -----------
3336 the [VICE][] distribution, why did I write this?
3437
3538 Well, any reasonable person would probably be wise to just use `petcat`.
36 But, I wanted a tool that could be included with [The Platform][] that could
37 tokenize the Commodore BASIC programs that are part of The Platform, namely:
39 But, I wanted a tool that could be included in [The Platform][] that would
40 be able to tokenize the Commodore BASIC programs that are part of
41 The Platform, namely:
3842
3943 * the original implementation of [Bubble Escape][]
44 * [DiskSumo][]
4045 * [Dungeons of Ekileugor][]
41 * [DiskSumo][]
4246 * the binary-loader and front-panel simulator from [SITU-SOL][]
4347
4448 and none of the tokenizers I found appealed to me. `petcat` in particular
6064 It also appealed to me to write it in a rather low-key style, without
6165 using any of Python's "included batteries", including regular expressions.
6266 This should make it easier to adapt to RPython or Skulpt, or to translate
63 to other languages, for instance Lua, as desired.
67 to other languages, for instance Lua, if desired.
6468
6569 Of course, it is not very efficient, and only a subset of the `petcat`
6670 special character codes such as `{wht}` are supported. But it suits my
7680 implementation-agnostic — Falderal tests languages and protocols rather than
7781 particular programs.
7882
79 `hatoucan` was written in a test-driven manner against it, but the tests
80 in this suite also pass under `petcat`. And, if you find or write
83 `hatoucan` was written in a TDD manner against this test suite, but the
84 tests in it also pass under `petcat`. And, if you find or write
8185 another Commodore BASIC tokenizer, you can use this same test suite to
8286 test it — simply add an adapter for your implementation to the
83 `tests/appliances` directory.
87 `tests/appliances` directory and adjust `test.sh` to apply it.
8488
8589 [Bubble Escape]: http://catseye.tc/node/Bubble_Escape
8690 [DiskSumo]: https://github.com/cpressey/DiskSumo