[svn:parrot] r44556 - in branches/ops_pct/compilers/opsc: . compiler gen gen/Ops gen/Ops/Compiler src src/Ops src/Ops/Compiler
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Mar 1 05:52:11 UTC 2010
Author: bacek
Date: Mon Mar 1 05:52:10 2010
New Revision: 44556
URL: https://trac.parrot.org/parrot/changeset/44556
Log:
Brake everything. Restructure files and directories. Strip out old stuff
Added:
branches/ops_pct/compilers/opsc/gen/
branches/ops_pct/compilers/opsc/gen/Ops/
branches/ops_pct/compilers/opsc/gen/Ops/Compiler/
branches/ops_pct/compilers/opsc/gen/Ops/Compiler/IGNOREME
branches/ops_pct/compilers/opsc/src/
branches/ops_pct/compilers/opsc/src/Ops/
branches/ops_pct/compilers/opsc/src/Ops/Compiler/
branches/ops_pct/compilers/opsc/src/Ops/Compiler.pm
branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm
- copied, changed from r44554, branches/ops_pct/compilers/opsc/compiler/actions.pm
branches/ops_pct/compilers/opsc/src/Ops/Compiler/Grammar.pm
- copied, changed from r44554, branches/ops_pct/compilers/opsc/compiler/grammar.pg
branches/ops_pct/compilers/opsc/src/builtins.pir
- copied, changed from r44554, branches/ops_pct/compilers/opsc/builtins.pir
Deleted:
branches/ops_pct/compilers/opsc/builtins.pir
branches/ops_pct/compilers/opsc/compiler/actions.pm
branches/ops_pct/compilers/opsc/compiler/compiler.pm
branches/ops_pct/compilers/opsc/compiler/grammar.pg
branches/ops_pct/compilers/opsc/opsc_core.pir
Modified:
branches/ops_pct/compilers/opsc/Defines.mak
branches/ops_pct/compilers/opsc/Rules.mak
branches/ops_pct/compilers/opsc/opsc.pir
Modified: branches/ops_pct/compilers/opsc/Defines.mak
==============================================================================
--- branches/ops_pct/compilers/opsc/Defines.mak Mon Mar 1 05:15:02 2010 (r44555)
+++ branches/ops_pct/compilers/opsc/Defines.mak Mon Mar 1 05:52:10 2010 (r44556)
@@ -1,24 +1,14 @@
+OPSC_DIR = compilers/opsc
+
OPSC_CLEANUPS = \
- compilers/opsc/opsc.pbc \
- compilers/opsc/compiler/gen_compiler.pir \
- compilers/opsc/compiler/gen_grammar.pir \
- compilers/opsc/compiler/gen_actions.pir \
- compilers/opsc/ops/gen_oplib.pir \
- compilers/opsc/runcore/gen_base.pir \
- compilers/opsc/runcore/gen_c.pir \
+ $(OPSC_DIR)/opsc.pbc \
+ $(OPSC_DIR)/gen/Ops/Compiler.pir \
+ $(OPSC_DIR)/gen/Ops/Compiler/Actions.pir \
+ $(OPSC_DIR)/gen/Ops/Compiler/Grammar.pir \
OPSC_SOURCES = \
- compilers/opsc/opsc.pir \
- compilers/opsc/opsc_core.pir \
- compilers/opsc/builtins.pir \
- compilers/opsc/ops/gen_oplib.pir \
- compilers/opsc/compiler/gen_compiler.pir \
- compilers/opsc/compiler/gen_grammar.pir \
- compilers/opsc/compiler/gen_actions.pir \
- compilers/opsc/runcore/gen_base.pir \
- compilers/opsc/runcore/gen_cswitch.pir \
- compilers/opsc/runcore/gen_cgoto.pir \
- compilers/opsc/runcore/gen_cgp.pir \
- compilers/opsc/runcore/gen_cprederef.pir \
- compilers/opsc/runcore/gen_c.pir
-
+ $(OPSC_DIR)/opsc.pir \
+ $(OPSC_DIR)/src/builtins.pir \
+ $(OPSC_DIR)/gen/Ops/Compiler.pir \
+ $(OPSC_DIR)/gen/Ops/Compiler/Actions.pir \
+ $(OPSC_DIR)/gen/Ops/Compiler/Grammar.pir
Modified: branches/ops_pct/compilers/opsc/Rules.mak
==============================================================================
--- branches/ops_pct/compilers/opsc/Rules.mak Mon Mar 1 05:15:02 2010 (r44555)
+++ branches/ops_pct/compilers/opsc/Rules.mak Mon Mar 1 05:52:10 2010 (r44556)
@@ -2,48 +2,9 @@
compilers/opsc/opsc.pbc: $(NQP_RX) $(OPSC_SOURCES)
$(PARROT) -o compilers/opsc/opsc.pbc compilers/opsc/opsc.pir
-compilers/opsc/opsc_core.pbc: $(NQP_RX) $(OPSC_SOURCES)
- $(PARROT) -o compilers/opsc/opsc_core.pbc compilers/opsc/opsc_core.pir
+$(OPSC_DIR)/gen/%.pir: $(OPSC_DIR)/src/%.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $<
-compilers/opsc/compiler/gen_compiler.pir: $(NQP_RX) compilers/opsc/compiler/compiler.pm
- $(NQP_RX) --output=compilers/opsc/compiler/gen_compiler.pir \
- --target=pir compilers/opsc/compiler/compiler.pm
-
-compilers/opsc/compiler/gen_grammar.pir: $(NQP_RX) compilers/opsc/compiler/grammar.pg
- $(NQP_RX) --output=compilers/opsc/compiler/gen_grammar.pir \
- --target=pir compilers/opsc/compiler/grammar.pg
-
-compilers/opsc/compiler/gen_actions.pir: $(NQP_RX) compilers/opsc/compiler/actions.pm
- $(NQP_RX) --output=compilers/opsc/compiler/gen_actions.pir \
- --target=pir compilers/opsc/compiler/actions.pm
-
-compilers/opsc/ops/gen_oplib.pir: $(NQP_RX) compilers/opsc/ops/oplib.pm
- $(NQP_RX) --output=compilers/opsc/ops/gen_oplib.pir \
- --target=pir compilers/opsc/ops/oplib.pm
-
-compilers/opsc/runcore/gen_base.pir: $(NQP_RX) compilers/opsc/runcore/base.pm
- $(NQP_RX) --output=compilers/opsc/runcore/gen_base.pir \
- --target=pir compilers/opsc/runcore/base.pm
-
-compilers/opsc/runcore/gen_cswitch.pir: $(NQP_RX) compilers/opsc/runcore/cswitch.pm compilers/opsc/runcore/gen_base.pir
- $(NQP_RX) --output=compilers/opsc/runcore/gen_cswitch.pir \
- --target=pir compilers/opsc/runcore/cswitch.pm
-
-compilers/opsc/runcore/gen_cgoto.pir: $(NQP_RX) compilers/opsc/runcore/cgoto.pm compilers/opsc/runcore/gen_base.pir
- $(NQP_RX) --output=compilers/opsc/runcore/gen_cgoto.pir \
- --target=pir compilers/opsc/runcore/cgoto.pm
-
-compilers/opsc/runcore/gen_cgp.pir: $(NQP_RX) compilers/opsc/runcore/cgp.pm compilers/opsc/runcore/gen_base.pir
- $(NQP_RX) --output=compilers/opsc/runcore/gen_cgp.pir \
- --target=pir compilers/opsc/runcore/cgp.pm
-
-compilers/opsc/runcore/gen_cprederef.pir: $(NQP_RX) compilers/opsc/runcore/cprederef.pm compilers/opsc/runcore/gen_base.pir
- $(NQP_RX) --output=compilers/opsc/runcore/gen_cprederef.pir \
- --target=pir compilers/opsc/runcore/cprederef.pm
-
-compilers/opsc/runcore/gen_c.pir: $(NQP_RX) compilers/opsc/runcore/c.pm compilers/opsc/runcore/gen_base.pir
- $(NQP_RX) --output=compilers/opsc/runcore/gen_c.pir \
- --target=pir compilers/opsc/runcore/c.pm
# This is a listing of all targets, that are meant to be called by users
opsc-help:
Deleted: branches/ops_pct/compilers/opsc/builtins.pir
==============================================================================
--- branches/ops_pct/compilers/opsc/builtins.pir Mon Mar 1 05:52:10 2010 (r44555)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,176 +0,0 @@
-# $Id$
-# Copyright (C) 2009, Parrot Foundation.
-
-=head1 Builtins
-
-Variour helper builtins.
-
-=cut
-.namespace []
-
-.sub 'uc'
- .param string arg
- $S0 = upcase arg
- .return ($S0)
-.end
-
-.sub 'defined'
- .param pmc thing
- $I0 = defined thing
- .return ($I0)
-.end
-
-.sub 'clone'
- .param pmc what
- $P0 = clone what
- .return ($P0)
-.end
-
-.sub 'elements'
- .param pmc p
- $I0 = elements p
- .return ($I0)
-.end
-
-
-.sub 'substr'
- .param string orig
- .param int from
- .param int len
- $S0 = substr orig, from, len
- .return ($S0)
-.end
-
-.sub 'match'
- .param string pattern
- .param string subject
-
- .local pmc recomp, resub, match, recache
-
- load_bytecode 'PGE.pbc'
-
- #hash cache mapping patterns to subs, avoiding unneeded recompilation
- recache = get_hll_global ['Ops';'Op'], '%recache'
- $I0 = isnull recache
- if $I0 goto no_cache
- $I0 = exists recache[pattern]
- if $I0 goto found_re
- goto no_re
-
- no_cache:
- recache = new ['Hash']
-
- no_re:
- recomp = compreg 'PGE::Perl6Regex'
- resub = recomp(pattern)
- recache[pattern] = resub
-
- found_re:
- resub = recache[pattern]
- set_hll_global ['Ops';'Op'], '%recache', recache
-
- match = resub(subject)
- if match goto found_match
- .return (0)
- found_match:
- .return (1)
-.end
-
-.sub 'die'
- .param string why :optional
- .param int has_why :opt_flag
-
- die why
-.end
-
-.sub 'slurp'
- .param string file
- .local pmc pio
- pio = open file
- $S0 = pio.'readall'()
- close pio
- .return ($S0)
-.end
-
-.sub 'split' :multi(_,_)
- .param string splitter
- .param string buf
-
- $P0 = split splitter, buf
- .return ($P0)
-.end
-
-.sub 'split' :multi('Sub', _)
- .param pmc regex
- .param pmc str
- .param int count :optional
- .param int has_count :opt_flag
- .local pmc match
- .local pmc retv
- .local int start_pos
- .local int end_pos
- .local int zwm_start
-
- $S0 = str
- retv = new 'ResizableStringArray'
- start_pos = 0
-
- # per Perl 5's negative LIMIT behavior
- unless has_count goto positive_count
- if count < 1 goto done
-
- positive_count:
- match = regex($S0)
- if match goto loop
- retv.'push'($S0)
- goto done
-
- loop:
- unless has_count goto skip_count
- dec count
- unless count < 1 goto skip_count
- $S1 = substr $S0, start_pos
- retv.'push'($S1)
- goto done
- next_zwm:
- zwm_start = start_pos
- inc_zwm:
- inc start_pos
- match = regex($S0, 'continue' => start_pos)
- end_pos = match.'from'()
- unless start_pos == end_pos goto inc_zwm
- start_pos = zwm_start
- end_pos -= start_pos
- goto add_str
- skip_count:
- match = regex($S0, 'continue' => start_pos)
- end_pos = match.'from'()
- $I99 = match.'to'()
- if $I99 == end_pos goto next_zwm
- end_pos -= start_pos
- add_str:
- $S1 = substr $S0, start_pos, end_pos
- retv.'push'($S1)
- unless match goto done
- $I0 = match.'to'()
- if $I0 == start_pos goto zero_width
- start_pos = $I0
- goto loop
- zero_width:
- inc start_pos
- goto loop
-
- done:
- .return(retv)
-.end
-
-.sub 'list'
- .param pmc l :slurpy
- .return (l)
-.end
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Deleted: branches/ops_pct/compilers/opsc/compiler/actions.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/compiler/actions.pm Mon Mar 1 05:52:10 2010 (r44555)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,100 +0,0 @@
-# Copyright (C) 2009, Parrot Foundation.
-# $Id$
-
-class Ops::Actions is HLL::Actions;
-
-method TOP($/) {
- make $<body>.ast;
-}
-
-method body($/) {
- my $past := PAST::Stmts.new(
- :node($/)
- );
-
- $past<preamble> := PAST::Stmts.new(
- :node($/)
- );
- $past<ops> := PAST::Stmts.new(
- :node($/)
- );
-
- for $<preamble> {
- $past<preamble>.push($_.ast);
- }
-
- for $<op> {
- $past<ops>.push($_.ast);
- }
-
- make $past;
-}
-
-method preamble($/) {
- make PAST::Op.new(
- :node($/),
- :pasttype('preamble'),
- ~$<preamble_guts>
- );
-}
-
-method op($/) {
- my $past := PAST::Block.new(
- :name(~$<op_name>),
- :node($/),
-
- $<op_body>.ast
- );
-
- # Handling flags.
- for $<op_flag> {
- $past<op_flags>{~$_<identifier>} := 1;
- }
-
- # Handling parameters.
- if $<op_params> {
- $past<parameters> := $<op_params>[0].ast;
- }
-
- make $past;
-}
-
-method op_params($/) {
- my $past := PAST::Stmts.new(
- :node($/)
- );
-
- for $<op_param> {
- $past.push($_.ast);
- }
-
- make $past;
-}
-
-method op_param($/) {
- my $past := PAST::Var.new(
- :node($/),
- :isdecl(1)
- );
-
- # We have to store 2 "types". Just set 2 properties on Var for now
- $past<direction> := ~$<op_param_direction>;
- $past<type> := ~$<op_param_type>;
-
- make $past;
-}
-
-method op_body($/) {
- # Single big chunk
- make PAST::Op.new(
- :node($/),
- :pasttype('inline'),
- :inline(~$/)
- );
-}
-
-# Local Variables:
-# mode: perl6
-# fill-column: 100
-# End:
-# vim: expandtab ft=perl6 shiftwidth=4:
Deleted: branches/ops_pct/compilers/opsc/compiler/compiler.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/compiler/compiler.pm Mon Mar 1 05:52:10 2010 (r44555)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,7 +0,0 @@
-class Ops::Compiler is HLL::Compiler;
-
-INIT {
- Ops::Compiler.language('Ops');
- Ops::Compiler.parsegrammar(Ops::Grammar);
- Ops::Compiler.parseactions(Ops::Actions);
-}
Deleted: branches/ops_pct/compilers/opsc/compiler/grammar.pg
==============================================================================
--- branches/ops_pct/compilers/opsc/compiler/grammar.pg Mon Mar 1 05:52:10 2010 (r44555)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,106 +0,0 @@
-# Copyright (C) 2009, Parrot Foundation.
-# $Id$
-
-INIT { pir::load_bytecode('HLL.pbc'); }
-
-grammar Ops::Grammar is HLL::Grammar;
-
-rule TOP {
- <body>
- [ $ || <panic: 'Syntax error'> ]
- {*}
-}
-
-rule body {
- [ <preamble> | <op> ]* {*}
-}
-
-token preamble {
- <begin_preamble>
- <preamble_guts>
- <end_preamble> {*}
-}
-
-regex preamble_guts {
- .*? <?end_preamble>
-}
-
-token begin_preamble {
- ^^'BEGIN_OPS_PREAMBLE'
-}
-
-token end_preamble {
- ^^'END_OPS_PREAMBLE'
-}
-
-rule op {
- <op_type>? 'op' <op_name=identifier> '('
- [ <op_params>? || <panic: "Fail to parse params"> ]
- ')' <op_flag>*
- [ <op_body> || <panic: "Fail to parse op body"> ]
- {*}
-}
-
-token op_type {
- [ 'inline' | 'function' ]
-}
-
-rule op_params {
- <op_param> [ ',' <op_param> ]*
- {*}
-}
-
-rule op_param {
- <op_param_direction> <op_param_type>
- {*}
-}
-
-token op_param_direction {
- # Order is crucial. PGE doesn't support LTM yet.
- [
- | 'inout'
- | 'inconst'
- | 'invar'
- | 'in'
- | 'out'
- ]
-}
-
-token op_param_type {
- # Order is crucial. PGE doesn't support LTM yet.
- [
- | 'INTKEY'
- | 'INT'
- | 'NUM'
- | 'STR'
- | 'PMC'
- | 'KEY'
- | 'LABEL'
- ]
-}
-
-rule op_flag {
- ':' <identifier>
-}
-
-# OpBody starts with '{' and ends with single '}' on line.
-token op_body {
- '{' .*? ^^ '}' {*}
-}
-
-token identifier {
- <.ident>
-}
-
-# ws handles whitespace, pod and perl and C comments
-token ws {
- [
- | \s+
- | '#' \N*
- | ^^ '=' .*? \n '=cut'
- | '/*' .*? '*/'
- ]*
-}
-
-
-# vim: expandtab shiftwidth=4 ft=perl6:
Added: branches/ops_pct/compilers/opsc/gen/Ops/Compiler/IGNOREME
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/compilers/opsc/gen/Ops/Compiler/IGNOREME Mon Mar 1 05:52:10 2010 (r44556)
@@ -0,0 +1 @@
+I just dummy file. Please ignore me. Please...
Modified: branches/ops_pct/compilers/opsc/opsc.pir
==============================================================================
--- branches/ops_pct/compilers/opsc/opsc.pir Mon Mar 1 05:15:02 2010 (r44555)
+++ branches/ops_pct/compilers/opsc/opsc.pir Mon Mar 1 05:52:10 2010 (r44556)
@@ -4,6 +4,7 @@
.namespace [ 'Ops';'Compiler' ]
.loadlib 'PCT.pbc'
+.loadlib 'nqp-settings.pbc'
.sub 'main' :main
.param pmc args
@@ -11,7 +12,48 @@
$P1 = $P0.'command_line'(args, 'encoding'=>'utf8', 'transcode'=>'ascii')
.end
-.include 'compilers/opsc/opsc_core.pir'
+.sub 'onload' :load :init
+ # Register grammar and action
+ $P0 = new [ 'Ops';'Compiler' ]
+
+ #these stages aren't currently used, although generate_files exits before
+ #they can be called anyway
+ $P0.'removestage'('post')
+ $P0.'removestage'('pir')
+ $P0.'removestage'('evalpmc')
+ $P0.'addstage'('generate_runcores', 'after'=>'past')
+.end
+
+
+.sub 'generate_runcores' :method
+ .param pmc past
+ .param pmc adverbs :slurpy :named
+
+ .local pmc oplib, files
+
+ $P0 = find_caller_lex "$?FILES"
+ $S0 = $P0
+ files = split " ", $S0
+ #do oplib stuff
+ # - make an oplib
+ $P0 = get_hll_global ['Ops'], 'OpLib'
+ oplib = $P0.'new'()
+ #use default location for ops.num and ops.skip for now
+ oplib.'BUILD'(files :named("files"))
+ oplib.'set_ops_past'(past)
+ oplib.'build_ops'()
+
+ #for each runcore
+ # * make a clone of the op tree
+ # * call the runcore with it
+
+ exit 0
+.end
+
+.include 'compilers/opsc/src/builtins.pir'
+.include 'compilers/opsc/gen/Ops/Compiler.pir'
+.include 'compilers/opsc/gen/Ops/Compiler/Grammar.pir'
+.include 'compilers/opsc/gen/Ops/Compiler/Actions.pir'
# Local Variables:
# mode: pir
Deleted: branches/ops_pct/compilers/opsc/opsc_core.pir
==============================================================================
--- branches/ops_pct/compilers/opsc/opsc_core.pir Mon Mar 1 05:52:10 2010 (r44555)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,65 +0,0 @@
-# Copyright (C) 2009, Parrot Foundation.
-# $Id$
-
-.namespace [ 'Ops';'Compiler' ]
-
-.loadlib 'PCT.pbc'
-.loadlib 'nqp-settings.pbc'
-
-.include 'compilers/opsc/builtins.pir'
-.include 'compilers/opsc/compiler/gen_grammar.pir'
-.include 'compilers/opsc/compiler/gen_actions.pir'
-.include 'compilers/opsc/compiler/gen_compiler.pir'
-.include 'compilers/opsc/ops/gen_oplib.pir'
-
-.include 'compilers/opsc/runcore/gen_base.pir'
-.include 'compilers/opsc/runcore/gen_c.pir'
-.include 'compilers/opsc/runcore/gen_cgoto.pir'
-.include 'compilers/opsc/runcore/gen_cprederef.pir'
-.include 'compilers/opsc/runcore/gen_cgp.pir'
-.include 'compilers/opsc/runcore/gen_cswitch.pir'
-
-.sub 'onload' :load :init
- # Register grammar and action
- $P0 = new [ 'Ops';'Compiler' ]
-
- #these stages aren't currently used, although generate_files exits before
- #they can be called anyway
- $P0.'removestage'('post')
- $P0.'removestage'('pir')
- $P0.'removestage'('evalpmc')
- $P0.'addstage'('generate_runcores', 'after'=>'past')
-
-.end
-
-.sub 'generate_runcores' :method
- .param pmc past
- .param pmc adverbs :slurpy :named
-
- .local pmc oplib, files
-
- $P0 = find_caller_lex "$?FILES"
- $S0 = $P0
- files = split " ", $S0
- #do oplib stuff
- # - make an oplib
- $P0 = get_hll_global ['Ops'], 'OpLib'
- oplib = $P0.'new'()
- #use default location for ops.num and ops.skip for now
- oplib.'BUILD'(files :named("files"))
- oplib.'set_ops_past'(past)
- oplib.'build_ops'()
-
- #for each runcore
- # * make a clone of the op tree
- # * call the runcore with it
-
- exit 0
-.end
-
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Added: branches/ops_pct/compilers/opsc/src/Ops/Compiler.pm
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/compilers/opsc/src/Ops/Compiler.pm Mon Mar 1 05:52:10 2010 (r44556)
@@ -0,0 +1,8 @@
+# nqp
+class Ops::Compiler is HLL::Compiler;
+
+INIT {
+ Ops::Compiler.language('Ops');
+ Ops::Compiler.parsegrammar(Ops::Compiler::Grammar);
+ Ops::Compiler.parseactions(Ops::Compiler::Actions);
+}
Copied and modified: branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm (from r44554, branches/ops_pct/compilers/opsc/compiler/actions.pm)
==============================================================================
--- branches/ops_pct/compilers/opsc/compiler/actions.pm Mon Mar 1 04:01:34 2010 (r44554, copy source)
+++ branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm Mon Mar 1 05:52:10 2010 (r44556)
@@ -1,7 +1,7 @@
# Copyright (C) 2009, Parrot Foundation.
# $Id$
-class Ops::Actions is HLL::Actions;
+class Ops::Compiler::Actions is HLL::Actions;
method TOP($/) {
make $<body>.ast;
Copied and modified: branches/ops_pct/compilers/opsc/src/Ops/Compiler/Grammar.pm (from r44554, branches/ops_pct/compilers/opsc/compiler/grammar.pg)
==============================================================================
--- branches/ops_pct/compilers/opsc/compiler/grammar.pg Mon Mar 1 04:01:34 2010 (r44554, copy source)
+++ branches/ops_pct/compilers/opsc/src/Ops/Compiler/Grammar.pm Mon Mar 1 05:52:10 2010 (r44556)
@@ -3,7 +3,7 @@
INIT { pir::load_bytecode('HLL.pbc'); }
-grammar Ops::Grammar is HLL::Grammar;
+grammar Ops::Compiler::Grammar is HLL::Grammar;
rule TOP {
<body>
Copied and modified: branches/ops_pct/compilers/opsc/src/builtins.pir (from r44554, branches/ops_pct/compilers/opsc/builtins.pir)
==============================================================================
More information about the parrot-commits
mailing list