App::Scheme79asm - assemble sexp to Verilog ROM for SIMPLE processor
use App::Scheme79asm; my $asm = App::Scheme79asm->new(type_bits => 3, addr_bits => 5); $asm->parse_and_print('(number . 70)');
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.
(tag . value)
mem
More documentation and features to follow.
http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-514.pdf
Marius Gavrilescu, <marius@ieval.ro>
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.
To install App::Scheme79asm, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Scheme79asm
CPAN shell
perl -MCPAN -e shell install App::Scheme79asm
For more information on module installation, please visit the detailed CPAN module installation guide.