Skip to content

Instantly share code, notes, and snippets.

Created November 19, 2014 05:33
Show Gist options
  • Save anonymous/8f471e531cb4b5f4d05a to your computer and use it in GitHub Desktop.
Save anonymous/8f471e531cb4b5f4d05a to your computer and use it in GitHub Desktop.
use QAST:from<NQP>;
my $qast = QAST::Block.new(
QAST::IVal.new( :value(42) )
);
my $comp_unit = QAST::CompUnit.new(
# Set the HLL.
:hll('perl6'),
# This variable contains the outermost QAST::Block of the
# program.
$qast,
# If we run the program as the mainline, then call the top
# block automatically.
:main(QAST::Op.new(
:op('call'),
QAST::BVal.new( :value($qast) )
))
);
my $compiler = nqp::getcomp('perl6');
say $_ for $compiler.stages();
my $backend = $compiler.backend();
my $mast = $backend.mast($comp_unit);
my $compiled = $backend.mbc($mast);
$compiled();
say "Compiled and ran with no errors.";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment