Tree @master (Download .tar.gz)
mignon
mignon is an implementation of Pixley in C. It compiles under gcc
with the -ansi -pedantic flags. The executable on my system (32-bit
Linux), after stripping, is a mere 9,680 bytes.
mignon takes its input directly from the command line, rather than
reading a file. In practice, to make it read a file, you can say in your
shell:
% mignon `cat file.pix`
mignon's parser is resumable (meaning, it uses what are basically
continuations, or alternately what is basically a push-down automaton,
instead of being built in the manner of recursive descent). One "nice"
end result of this is that you can split up your Pixley program amongst
the command-line parameters however you like:
% mignon '(cons (quote a) (cons (quote b) (quote ())))'
(a b)
% mignon '(cons (quote a)' '(cons (quote b) (quote ())))'
(a b)
mignon does not have a garbage collector. Since it is not really
intended to be a long-running process (one s-expression goes in,
another s-expression comes out,) this is not generally a problem in
practice. It might become an issue if you try to build a really
large tower of Pixley interpreters, however.
History of
impl
/
mignon
@master
git clone https://git.catseye.tc/Pixley/
- Add script for building 'mignon' with DICE C under AmigaDOS 1.3. Chris Pressey 8 years ago
- NetBSD's gcc's -pedantic is. Build haney only if ghc present. Cat's Eye Technologies 12 years ago
- Add quite a bit of documentation. Some minor tweaks to `haney`. Cat's Eye Technologies 12 years ago
- Pixley 2.0 removed `cadr` and `null?`, so remove them from mignon. Cat's Eye Technologies 12 years ago
- Minimalism is our watchword. May revisit resumable eval in future. Cat's Eye Technologies 12 years ago
- Make DEBUG compile-time conditional, compile under -ansi -pedantic. Cat's Eye Technologies 12 years ago
- Woo-hoo! mignon supports a tower of Pixley interpreters! Cat's Eye Technologies 12 years ago
- Add failing test case. Add debugging in mignon's eval(). Cat's Eye Technologies 12 years ago
- Do proper list testing in `list?`. All tests pass! Cat's Eye Technologies 12 years ago
- Parse () correctly. And dump it as "()" rather than "nil", too. Cat's Eye Technologies 12 years ago
- Allow sexprs in the head position of a sexpr to be evaluated. Cat's Eye Technologies 12 years ago
- Fix up a few bugs in mignon. Add it to the tests. Cat's Eye Technologies 12 years ago
- Add partial implementation of Pixley in C (with resumable parser!) catseye 13 years ago