[svn:parrot] r44690 - in branches/ops_pct/compilers/opsc: src/Ops src/Ops/Trans t

bacek at svn.parrot.org bacek at svn.parrot.org
Sat Mar 6 11:47:37 UTC 2010


Author: bacek
Date: Sat Mar  6 11:47:36 2010
New Revision: 44690
URL: https://trac.parrot.org/parrot/changeset/44690

Log:
Add Trans.source_preamble

Modified:
   branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm
   branches/ops_pct/compilers/opsc/src/Ops/Trans.pm
   branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm
   branches/ops_pct/compilers/opsc/t/06-emitter.t

Modified: branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm	Sat Mar  6 11:47:08 2010	(r44689)
+++ branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm	Sat Mar  6 11:47:36 2010	(r44690)
@@ -105,6 +105,8 @@
 #END_C_2
 #    }
 
+    $fh.print(self.trans.source_preamble);
+
     $fh.print(self.ops_file.preamble);
 }
 

Modified: branches/ops_pct/compilers/opsc/src/Ops/Trans.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Trans.pm	Sat Mar  6 11:47:08 2010	(r44689)
+++ branches/ops_pct/compilers/opsc/src/Ops/Trans.pm	Sat Mar  6 11:47:36 2010	(r44690)
@@ -24,5 +24,7 @@
 
 method defines() { die('...') }
 
+method source_preamble() { '' }
+
 
 # vim: expandtab shiftwidth=4 ft=perl6:

Modified: branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm	Sat Mar  6 11:47:08 2010	(r44689)
+++ branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm	Sat Mar  6 11:47:36 2010	(r44690)
@@ -72,4 +72,10 @@
 
 }
 
+method source_preamble() {
+q/
+static int get_op(PARROT_INTERP, const char * name, int full);
+/
+}
+
 # vim: expandtab shiftwidth=4 ft=perl6:

Modified: branches/ops_pct/compilers/opsc/t/06-emitter.t
==============================================================================
--- branches/ops_pct/compilers/opsc/t/06-emitter.t	Sat Mar  6 11:47:08 2010	(r44689)
+++ branches/ops_pct/compilers/opsc/t/06-emitter.t	Sat Mar  6 11:47:36 2010	(r44690)
@@ -3,7 +3,7 @@
 pir::load_bytecode("compilers/opsc/opsc.pbc");
 pir::load_bytecode("nqp-settings.pbc");
 
-plan(10);
+plan(11);
 
 my $trans := Ops::Trans::C.new();
 
@@ -54,6 +54,8 @@
 ok($source ~~ /Parrot_pcc_get_constants/, 'defines from Trans::C generated');
 ok($source ~~ /io_private.h/, 'Preamble from io.ops preserved');
 
+ok($source ~~ /static \s int \s get_op/, 'Trans::C preamble generated');
+
 #say($source);
 
 # vim: expandtab shiftwidth=4 ft=perl6:


More information about the parrot-commits mailing list