[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