[svn:parrot] r38429 - in branches/pmc_pct: compilers/pmc compilers/pmc/src compilers/pmc/src/emitter config/gen/makefiles
bacek at svn.parrot.org
bacek at svn.parrot.org
Fri May 1 23:06:58 UTC 2009
Author: bacek
Date: Fri May 1 23:06:56 2009
New Revision: 38429
URL: https://trac.parrot.org/parrot/changeset/38429
Log:
Rename pmc_emitter.pir to emitter/pmc.pir
Added:
branches/pmc_pct/compilers/pmc/src/emitter/
branches/pmc_pct/compilers/pmc/src/emitter/pmc.pir
- copied, changed from r38421, branches/pmc_pct/compilers/pmc/src/pmc_emitter.pir
Deleted:
branches/pmc_pct/compilers/pmc/src/pmc_emitter.pir
Modified:
branches/pmc_pct/compilers/pmc/pmc.pir
branches/pmc_pct/config/gen/makefiles/pmc.in
Modified: branches/pmc_pct/compilers/pmc/pmc.pir
==============================================================================
--- branches/pmc_pct/compilers/pmc/pmc.pir Fri May 1 21:35:07 2009 (r38428)
+++ branches/pmc_pct/compilers/pmc/pmc.pir Fri May 1 23:06:56 2009 (r38429)
@@ -30,7 +30,7 @@
.include 'src/nodes.pir'
.include 'src/vtable_info.pir'
-.include 'src/pmc_emitter.pir'
+.include 'src/emitter/pmc.pir'
.include 'src/gen_emitter.pir'
.include 'src/gen_vtable_info.pir'
Copied and modified: branches/pmc_pct/compilers/pmc/src/emitter/pmc.pir (from r38421, branches/pmc_pct/compilers/pmc/src/pmc_emitter.pir)
==============================================================================
Deleted: branches/pmc_pct/compilers/pmc/src/pmc_emitter.pir
==============================================================================
--- branches/pmc_pct/compilers/pmc/src/pmc_emitter.pir Fri May 1 23:06:56 2009 (r38428)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,127 +0,0 @@
-# $Id$
-# Copyright (C) 2009, Parrot Foundation.
-
-=head1 Generic PMC emitter
-
-=cut
-
-.namespace ['PMC';'Emitter';'PMC']
-
-.sub '' :load :init
- .local pmc p6meta
-
- p6meta = new 'P6metaclass'
-
- p6meta.'new_class'('PMC::Emitter::PMC')
-
-.end
-
-=item C<generate_h_file>
-
-Generate part of header file.
-
-=cut
-
-# "Template Method". Just override generate_h_file_functions in derived
-# classes.
-
-.sub 'generate_h_file' :method
- .param pmc past
- .local string res
-
- .local string guard
- .local string name
-
- name = past.'name'()
- $S0 = 'uc'(name)
-
- guard = 'PARROT_PMC_'
- concat guard, $S0
- concat guard, '_H_GUARD'
-
- res = '#ifndef '
- concat res, guard
- concat res, "\n"
- concat res, '#define '
- concat res, guard
- concat res, "\n"
-
- $S0 = self.'generate_h_file_functions'(past)
- concat res, $S0
-
- concat res, '#endif /* '
- concat res, guard
- concat res, " */ \n"
-
- .return (res)
-.end
-
-=item C<generate_h_file_functions>
-
-Generate C declarations for vtable functions
-
-=cut
-
-.sub 'generate_h_file_functions' :method
- .param pmc past
- .local string res
- .local pmc vtable_info, vtable_hash
- .local pmc vtables, it, entry, class_init
- .local string pmc_name, vtable_name
-
- pmc_name = past.'name'()
-
- $P0 = get_hll_global ['PMC'; 'VTableInfo'], 'vtable_hash'
- vtable_hash = $P0()
-
- concat res, "void Parrot_"
- concat res, pmc_name
- concat res, "_class_init(PARROT_INTERP, int, int);\n"
-
- vtables = self.'!vtables'(past)
-
- it = iter vtables
- loop:
- unless it goto done
- vtable_name = shift it
- entry = vtables[vtable_name]
- vtable_info = vtable_hash[vtable_name]
-
- # Generate 2 methods. One for read, one for write.
- $P1 = new 'ResizableStringArray'
- push $P1, 'PARROT_EXPORT '
- $S0 = vtable_info.'ret_type'()
- push $P1, $S0
- push $P1, ' Parrot_'
- push $P1, pmc_name
- push $P1, '_'
- push $P1, vtable_name
- push $P1, '(PARROT_INTERP, '
- $S0 = entry['parameters']
- push $P1, $S0
- push $P1, ");\n"
-
- $S0 = join '', $P1
- concat res, $S0
-
- goto loop
-
- done:
- .return (res)
-.end
-
-.sub '!class_init' :method
- .param pmc past
- .tailcall past.'class_init'()
-.end
-
-.sub '!vtables' :method
- .param pmc past
- .tailcall past.'vtables'()
-.end
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/pmc_pct/config/gen/makefiles/pmc.in
==============================================================================
--- branches/pmc_pct/config/gen/makefiles/pmc.in Fri May 1 21:35:07 2009 (r38428)
+++ branches/pmc_pct/config/gen/makefiles/pmc.in Fri May 1 23:06:56 2009 (r38429)
@@ -18,7 +18,7 @@
pmc.pir \
src/nodes.pir \
src/vtable_info.pir \
- src/pmc_emitter.pir \
+ src/emitter/pmc.pir \
src/parser/gen_grammar.pir \
src/parser/gen_actions.pir \
src/gen_emitter.pir \
More information about the parrot-commits
mailing list