[svn:parrot] r44687 - in branches/ops_pct/compilers/opsc: src/Ops src/Ops/Compiler t
bacek at svn.parrot.org
bacek at svn.parrot.org
Sat Mar 6 11:46:17 UTC 2010
Author: bacek
Date: Sat Mar 6 11:46:17 2010
New Revision: 44687
URL: https://trac.parrot.org/parrot/changeset/44687
Log:
Preserve ops preamble in Ops::File
Modified:
branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm
branches/ops_pct/compilers/opsc/src/Ops/File.pm
branches/ops_pct/compilers/opsc/t/05-opsfile.t
Modified: branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm Sat Mar 6 11:45:44 2010 (r44686)
+++ branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm Sat Mar 6 11:46:17 2010 (r44687)
@@ -27,7 +27,7 @@
);
for $<preamble> {
- $past<preamble>.push($_.ast);
+ $past<preamble>.push($_<preamble_guts>);
}
for $<op> {
Modified: branches/ops_pct/compilers/opsc/src/Ops/File.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/File.pm Sat Mar 6 11:45:44 2010 (r44686)
+++ branches/ops_pct/compilers/opsc/src/Ops/File.pm Sat Mar 6 11:46:17 2010 (r44687)
@@ -181,6 +181,7 @@
method new(*@files, :$nolines) {
self<files> := @files;
self<ops> := list(); # Ops
+ self<preamble>:= '';
self._set_version();
@@ -213,8 +214,13 @@
for @($past<ops>) {
self<ops>.push($_);
}
+
+ for @( $past<preamble> ) {
+ self<preamble> := self<preamble> ~ $_;
+ }
}
+method preamble() { self<preamble> };
method ops() { self<ops> };
method version() {
Modified: branches/ops_pct/compilers/opsc/t/05-opsfile.t
==============================================================================
--- branches/ops_pct/compilers/opsc/t/05-opsfile.t Sat Mar 6 11:45:44 2010 (r44686)
+++ branches/ops_pct/compilers/opsc/t/05-opsfile.t Sat Mar 6 11:46:17 2010 (r44687)
@@ -3,7 +3,7 @@
pir::load_bytecode("compilers/opsc/opsc.pbc");
pir::load_bytecode("nqp-settings.pbc");
-plan(7);
+plan(8);
my $f := Ops::File.new();
ok($f, "Empty Ops::File created");
@@ -36,5 +36,6 @@
ok( $version ~~ /^\d+ \s \d+ \s \d+$/, "Version parsed");
say("# $version");
+ok( $f.preamble ~~ /pmc_parrotlibrary.h/, "Preamble preserved");
# vim: expandtab shiftwidth=4 ft=perl6:
More information about the parrot-commits
mailing list