[svn:parrot] r39688 - in branches/pmc_pct: compilers/pmcc compilers/pmcc/src/parser config/gen/makefiles

cotto at svn.parrot.org cotto at svn.parrot.org
Sun Jun 21 15:42:14 UTC 2009


Author: cotto
Date: Sun Jun 21 15:42:11 2009
New Revision: 39688
URL: https://trac.parrot.org/parrot/changeset/39688

Log:
[pmcc] add stub code to read the vtable dump and write PMC::Class in nqp

Modified:
   branches/pmc_pct/compilers/pmcc/pmcc.pir
   branches/pmc_pct/compilers/pmcc/src/parser/actions.pm
   branches/pmc_pct/config/gen/makefiles/pmcc.in

Modified: branches/pmc_pct/compilers/pmcc/pmcc.pir
==============================================================================
--- branches/pmc_pct/compilers/pmcc/pmcc.pir	Sun Jun 21 11:24:16 2009	(r39687)
+++ branches/pmc_pct/compilers/pmcc/pmcc.pir	Sun Jun 21 15:42:11 2009	(r39688)
@@ -26,12 +26,13 @@
 
     #add an extra stage to generate the c, h and dump files
     $P0.'addstage'('generate_files', 'after'=>'past')
+    $P0.'addstage'('read_dump', 'before'=>'past')
 
     $P1 = split ' ', 'e=s vtdump|d=s pmc_path|p=s help|h target=s dumper=s trace|t=s encoding=s output|o=s combine version|v'
     setattribute $P0, '@cmdoptions', $P1
 
 .end
-
+ 
 
 # override HLLCompiler's default evalfiles in order to store the name of the file being compiled
 .sub 'evalfiles' :method
@@ -71,6 +72,14 @@
 .end
 
 
+.sub 'read_dump' :method
+    .param pmc past
+    .param pmc adverbs :slurpy :named
+
+    .return (past, adverbs :flat :named)
+.end
+
+
 .sub 'generate_files' :method
     .param pmc past
     .param pmc adverbs :slurpy :named
@@ -167,6 +176,7 @@
 .end
 
 .include 'src/nodes.pir'
+.include 'src/gen_nodes.pir'
 .include '../vtdumper/src/function.pir'
 .include 'src/emitter/pmc.pir'
 .include 'src/emitter/c.pir'

Modified: branches/pmc_pct/compilers/pmcc/src/parser/actions.pm
==============================================================================
--- branches/pmc_pct/compilers/pmcc/src/parser/actions.pm	Sun Jun 21 11:24:16 2009	(r39687)
+++ branches/pmc_pct/compilers/pmcc/src/parser/actions.pm	Sun Jun 21 15:42:11 2009	(r39688)
@@ -27,6 +27,8 @@
     }
     else {
         # TODO Set c_header and c_coda
+        #XXX: is this the best place to set up variant vtables?
+        #$?PMC.create_variant_vtables();
         make $?PMC;
     }
 }

Modified: branches/pmc_pct/config/gen/makefiles/pmcc.in
==============================================================================
--- branches/pmc_pct/config/gen/makefiles/pmcc.in	Sun Jun 21 11:24:16 2009	(r39687)
+++ branches/pmc_pct/config/gen/makefiles/pmcc.in	Sun Jun 21 15:42:11 2009	(r39688)
@@ -17,6 +17,7 @@
 SOURCES := \
   pmcc.pir \
   src/nodes.pir \
+  src/gen_nodes.pir \
   src/emitter/pmc.pir \
   src/emitter/gen_pmc.pir \
   src/emitter/c.pir \
@@ -34,6 +35,10 @@
 	    --output=src/parser/gen_grammar.pir src/parser/grammar.pg
 	$(PARROT) -o pmcc.pbc pmcc.pir
 
+src/gen_nodes.pir: $(NQP) $(PCT) src/nodes.pm
+	$(PARROT) $(PARROT_ARGS) $(NQP) --output=src/gen_nodes.pir \
+	    --target=pir src/nodes.pm
+
 src/parser/gen_grammar.pir: $(PERL6GRAMMAR) src/parser/grammar.pg
 	$(PARROT) $(PARROT_ARGS) $(PERL6GRAMMAR) \
 	    --output=src/parser/gen_grammar.pir \
@@ -89,6 +94,7 @@
 CLEANUPS := \
   pmc.pbc \
   src/gen_emitter.pir \
+  src/gen_nodes.pir \
   src/parser/gen_grammar.pir \
   src/parser/gen_actions.pir \
   src/emitter/gen_pmc.pir \


More information about the parrot-commits mailing list