NAME
App::Scheme79asm::Compiler - compile Lisp code to SIMPLE assembly
SYNOPSIS
use App::Scheme79asm;
use App::Scheme79asm::Compiler;
use Data::SExpression qw/cons/;
my $asm = App::Scheme79asm->new;
my $compiler = App::Scheme79asm::Compiler->new;
my $string = '(reverse-list 2 1)';
my $assembly_sexp = $compiler->compile_string($string);
$asm->process($assembly_sexp);
$asm->finish;
$asm->print_verilog
DESCRIPTION
This module takes Lisp code and compiles it to the format that App::Scheme79asm wants it to be.
The two main methods are compile_sexp($sexp) which compiles an already-parsed sexp to assembly format, and compile_string($string) which compiles a string to assembly format. The assembly format is a Data::SExpression object that can be passed to App::Scheme79asm->process.
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.