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