Author: kjs
Date: Wed Mar 26 05:47:48 2008
New Revision: 26567
Modified:
trunk/compilers/nqp/TODO.pod
trunk/compilers/nqp/bootstrap/actions.pm
trunk/compilers/nqp/bootstrap/nqp.pir
Log:
[nqp][bootstrap] various updates
add an .include for the builtins.
update the TODO: 1 thing has been done.
fix a thing in actions.pm
Modified: trunk/compilers/nqp/TODO.pod
==============================================================================
--- trunk/compilers/nqp/TODO.pod (original)
+++ trunk/compilers/nqp/TODO.pod Wed Mar 26 05:47:48 2008
@@ -64,10 +64,6 @@
=over 4
-=item * The file C<bootstrap/actions.pm> must be aligned with the grammar file.
-At some points, the grammar defines #= keys, and these are missing in this
-action file as parameters.
-
=item * it seems that the action for the C<for-statement> is broken.
=item * NQP should not have a runtime containing support routines. The
Modified: trunk/compilers/nqp/bootstrap/actions.pm
==============================================================================
--- trunk/compilers/nqp/bootstrap/actions.pm (original)
+++ trunk/compilers/nqp/bootstrap/actions.pm Wed Mar 26 05:47:48 2008
@@ -903,7 +903,7 @@
-method typename($/) {
+method typename($/, $key) {
my $ns := $<name><ident>;
my $shortname;
PIR q< $P0 = find_lex '$ns' >;
@@ -933,7 +933,7 @@
##.end
-method number($/, $key?) {
+method number($/ ) {
make PAST::Val.new(:node($/), :value(~$/), :returns('Integer'));
}
##.sub 'number' :method
@@ -947,7 +947,7 @@
##.end
-method subcall($/, $key?) {
+method subcall($/) {
my $past := $($<arglist>);
$past.name(~$<ident>);
$past.pasttype('call');
Modified: trunk/compilers/nqp/bootstrap/nqp.pir
==============================================================================
--- trunk/compilers/nqp/bootstrap/nqp.pir (original)
+++ trunk/compilers/nqp/bootstrap/nqp.pir Wed Mar 26 05:47:48 2008
@@ -49,7 +49,7 @@
$P1 = $P0.'command_line'(args)
.end
-
+.include 'src/builtins.pir'
.include 'src/Grammar_gen.pir'
.include 'bootstrap/gen_actions.pir'