NAME
App::Scheme79asm - assemble sexp to Verilog ROM for SIMPLE processor
SYNOPSIS
use App::Scheme79asm;
my $asm = App::Scheme79asm->new(type_bits => 3, addr_bits => 5);
$asm->parse_and_print('(number . 70)');
DESCRIPTION
NOTE: this module does not do much at the moment.
SIMPLE is a LISP processor defined in the 1979 Design of LISP-Based Processors paper by Steele and Sussman.
The SIMPLE processor expects input in a particular tagged-pointer format. This module takes a string containing a sequence of S-expressions of the form (tag . value)
representing a tagged pointer. Here the tag is either a number or one of several predefined values (see the source for a full list), and the value is either a number or another tagged pointer. These values are laid out in memory and a block of verilog code assigning the memory contents to an array named mem
is printed.
More documentation and features to follow.
SEE ALSO
http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-514.pdf
AUTHOR
Marius Gavrilescu, <marius@ieval.ro>
COPYRIGHT AND LICENSE
Copyright (C) 2018 by Marius Gavrilescu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.24.3 or, at your option, any later version of Perl 5 you may have available.