Use Data::Dump::Sexp instead of pretty_print
[app-scheme79asm.git] / README
... / ...
CommitLineData
1App-Scheme79asm version 0.005
2=============================
3
4SIMPLE is a LISP processor defined in the 1979
5B<Design of LISP-Based Processors> paper by Steele and Sussman.
6
7The SIMPLE processor expects input in a particular tagged-pointer
8format. This module takes a string containing a sequence of
9S-expressions. Each S-expression is a list of one of three types:
10
11(tag value), for example (symbol 2), represents a value to be
12put in memory (for example a number, or a symbol, or a variable
13reference). The value must be a number.
14
15(tag list), where list is of one of these three types,
16represents a tagged pointer. In this case, list is (recursively)
17laid out in memory as per these rules, and a pointer to that location
18(and tagged tag) is put somewhere in memory.
19
20(tag list1 list2), where list1 and list2 are of one of these
21three types (not necessarily the same type). In this case, list1
22and list2 are (recursively) laid out in memory such that list1
23is at position X and list2 is at position X+1, and a pointer of
24type tag and value X is put somewhere in memory.
25
26After this process the very last pointer placed in memory is moved to
27the special location 5 (which is where SIMPLE expects to find the
28expression to be evaluated).
29
30In normal use a single S-expression will be supplied, representing an
31entire program.
32
33INSTALLATION
34
35To install this module type the following:
36
37 perl Makefile.PL
38 make
39 make test
40 make install
41
42DEPENDENCIES
43
44This module requires these other modules and libraries:
45
46* Data::Dump::Sexp
47* Data::SExpression
48* List::MoreUtils
49
50COPYRIGHT AND LICENCE
51
52Copyright (C) 2018 by Marius Gavrilescu
53
54This library is free software; you can redistribute it and/or modify
55it under the same terms as Perl itself, either Perl version 5.24.3 or,
56at your option, any later version of Perl 5 you may have available.
57
58
This page took 0.008411 seconds and 4 git commands to generate.