[svn:parrot] r39734 - branches/pmc_pct/compilers/pmcc/src/parser

cotto at svn.parrot.org cotto at svn.parrot.org
Tue Jun 23 04:52:48 UTC 2009


Author: cotto
Date: Tue Jun 23 04:52:48 2009
New Revision: 39734
URL: https://trac.parrot.org/parrot/changeset/39734

Log:
[pmcc] parse some more PMC traits

Modified:
   branches/pmc_pct/compilers/pmcc/src/parser/actions.pm
   branches/pmc_pct/compilers/pmcc/src/parser/grammar.pg

Modified: branches/pmc_pct/compilers/pmcc/src/parser/actions.pm
==============================================================================
--- branches/pmc_pct/compilers/pmcc/src/parser/actions.pm	Tue Jun 23 04:42:15 2009	(r39733)
+++ branches/pmc_pct/compilers/pmcc/src/parser/actions.pm	Tue Jun 23 04:52:48 2009	(r39734)
@@ -44,14 +44,20 @@
     our $?PMC;
 
     #say("traits " ~$/);
-    if $key eq 'extends' {
-        $?PMC.parents().push(~$<identifier>);
-        $?PMC.thaw_pmc_attrs(~$<identifier>);
+    if $key eq 'does' {
+    }
+    elsif $key eq 'group' {
+    }
+    elsif $key eq 'hll' {
     }
     elsif $key eq 'provides' {
         $?PMC.provides().push(~$<identifier>);
     }
-    elsif $key eq 'group' {
+    elsif $key eq 'extends' {
+        $?PMC.parents().push(~$<identifier>);
+        $?PMC.thaw_pmc_attrs(~$<identifier>);
+    }
+    elsif $key eq 'maps' {
     }
     elsif $key eq 'lib' {
     }

Modified: branches/pmc_pct/compilers/pmcc/src/parser/grammar.pg
==============================================================================
--- branches/pmc_pct/compilers/pmcc/src/parser/grammar.pg	Tue Jun 23 04:42:15 2009	(r39733)
+++ branches/pmc_pct/compilers/pmcc/src/parser/grammar.pg	Tue Jun 23 04:52:48 2009	(r39734)
@@ -42,9 +42,12 @@
 
 rule traits {
     [
-    | 'extends'     <identifier>            {*} #= extends
-    | 'provides'    <identifier>            {*} #= provides
+    | 'does'        <identifier>            {*} #= does
     | 'group'       <identifier>            {*} #= group
+    | 'hll'         <identifier>            {*} #= hll
+    | 'provides'    <identifier>            {*} #= provides
+    | 'extends'     <identifier>            {*} #= extends
+    | 'maps'        <identifier>            {*} #= maps
     | 'lib'         <identifier>            {*} #= lib
     | 'need_ext'                            {*} #= need_ext
     | 'abstract'                            {*} #= abstract


More information about the parrot-commits mailing list