package main; use Config; use lib split(/\Q$Config{path_sep}/, $ENV{PERL6LIB} || ''); use strict; use lib 'lib'; BEGIN { $::_V6_COMPILER_NAME = 'v6.pm'; } use MiniPerl6::Perl5::Runtime; use MiniPerl6::Perl5::Match; package Main; use MiniPerl6::Grammar; use MiniPerl6::Perl5::Emitter; use MiniPerl6::Grammar::Regex; use MiniPerl6::Emitter::Token; my $source = join('', <> ); my $pos = 0; say( "# Do not edit this file - Generated by MiniPerl6" ); say( "use v5;" ); say( "use strict;" ); say( "use MiniPerl6::Perl5::Runtime;" ); say( "use MiniPerl6::Perl5::Match;" ); while ( $pos < length( $source ) ) { #say( "Source code:", $source ); my $p = MiniPerl6::Grammar->comp_unit($source, { p => $pos} ); #say( Main::perl( $$p ) ); say( join( ";\n", (map { $_->emit() } ($$p) ))); #say( $p->to, " -- ", length($source) ); say( ";" ); $pos = $p->to; } say "1;";