Skip to content

Commit

Permalink
mp6.pl compiler: added some -Clisp-bin support
Browse files Browse the repository at this point in the history
  • Loading branch information
fglock committed Mar 17, 2010
1 parent 1559146 commit 436bac3
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
12 changes: 11 additions & 1 deletion TODO
@@ -1,9 +1,13 @@
Eval
Eval module

- debug Go

- add exceptions

Command line compiler (mp6.pl)

- implement -Clisp-bin (requires some changes in the lisp emitter)

Command line compiler (util/mp6)

- build Ast cache using JSON (we currently use Perl5 Data::Dumper) or XML (Go has XML and JSON input)
Expand All @@ -14,6 +18,8 @@ Command line compiler (util/mp6)

- does it need a config file? (lib location, make details)

- debug Go

MiniPerl6 in Rakudo

- Rakudo should be able to execute MiniPerl6 directly. What do we need to fix in both sides?
Expand Down Expand Up @@ -51,6 +57,8 @@ Missing Backends

- Clojure

- v6.pm

Missing Features

- detailed syntax errors
Expand All @@ -70,6 +78,8 @@ Missing Features

- no 'state', 'constant'

- debugger

Missing Features of the Token sub-compiler

- no quantifiers
Expand Down
13 changes: 8 additions & 5 deletions mp6.pl
Expand Up @@ -271,16 +271,19 @@ package Main;
print OUT $lib, "\n";

print OUT $result, "\n";

if ( $compile_to_bin ) {
print OUT
'(sb-ext:save-lisp-and-die "tmp-lisp" :toplevel \'compiler-main :executable t )';
warn "TODO - Lisp compile_to_bin";
}

close(OUT);
}
if ( $execute ) {

warn "calling lisp compiler\n" if $verbose;
exec( "sbcl", "--script", "$tmp_filename.lisp", @args )
or die "can't execute";
}
if ( $compile_to_bin ) {
die "TODO - Lisp compile_to_bin";
}
}
elsif ( $backend eq 'parrot' ) {
require MiniPerl6::Parrot::Emitter;
Expand Down

0 comments on commit 436bac3

Please sign in to comment.