]> iEval git - app-scheme79asm.git/blame - README
More docs
[app-scheme79asm.git] / README
CommitLineData
509643aa
MG
1App-Scheme79asm version 0.001
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
9924aa7b
MG
9S-expressions. Each S-expression is a list of one of three types:
10
11(tag value), for example (symbol nil), represents a value to be
12put in memory (for example a number, or a symbol, or a variable
13reference).
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.
509643aa
MG
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::SExpression
47
48COPYRIGHT AND LICENCE
49
50Copyright (C) 2018 by Marius Gavrilescu
51
52This library is free software; you can redistribute it and/or modify
53it under the same terms as Perl itself, either Perl version 5.24.3 or,
54at your option, any later version of Perl 5 you may have available.
55
56
This page took 0.029051 seconds and 4 git commands to generate.