[svn:parrot] r36695 - trunk/languages/pod/src/parser

kjs at svn.parrot.org kjs at svn.parrot.org
Fri Feb 13 22:44:15 UTC 2009


Author: kjs
Date: Fri Feb 13 22:44:14 2009
New Revision: 36695
URL: https://trac.parrot.org/parrot/changeset/36695

Log:
[pod] some method implementations for lang/pod.

Modified:
   trunk/languages/pod/src/parser/actions.pm
   trunk/languages/pod/src/parser/grammar.pg

Modified: trunk/languages/pod/src/parser/actions.pm
==============================================================================
--- trunk/languages/pod/src/parser/actions.pm	Fri Feb 13 22:21:28 2009	(r36694)
+++ trunk/languages/pod/src/parser/actions.pm	Fri Feb 13 22:44:14 2009	(r36695)
@@ -106,7 +106,7 @@
 }
 
 method block_title($/) {
-    make Pod::DocTree::Text.new( :name("text") );
+    make Pod::DocTree::Text.new( :name('text') );
 }
 
 method paragraph($/) {
@@ -131,6 +131,51 @@
     make Pod::DocTree::Text.new( :name(~$/) );
 }
 
+method format_code($/) {
+    my $fcode := Pod::DocTree::FormatCode.new();
+    $fcode.code($<code>);
+    my $text  := $( $<formatted_text> );
+    my $name;
+    if $<code> eq 'B' {
+        $name := 'bold';
+    }
+    elsif $<code> eq 'C' {
+        $name := 'code';
+    }
+    elsif $<code> eq 'E' {
+        $name := 'escape';
+    }
+    elsif $<code> eq 'F' {
+        $name := 'filename';
+    }
+    elsif $<code> eq 'I' {
+        $name := 'italic';
+    }
+    elsif $<code> eq 'L' {
+        $name := 'link';
+    }
+    elsif $<code> eq 'S' {
+
+    }
+    elsif $<code> eq 'X' {
+
+    }
+    elsif $<code> eq 'Z' {
+
+    }
+    $fcode.name($name);
+    $fcode.push($text);
+    make $fcode;
+}
+
+method literal_paragraph($/) {
+    my $paragraph := Pod::DocTree::Literal.new();
+    for $<formatted_text> {
+        $paragraph.push( $( $_ ) );
+    }
+    make $paragraph;
+}
+
 method formatted_text($/) {
     make Pod::DocTree::Text.new( :name(~$/) );
 }

Modified: trunk/languages/pod/src/parser/grammar.pg
==============================================================================
--- trunk/languages/pod/src/parser/grammar.pg	Fri Feb 13 22:21:28 2009	(r36694)
+++ trunk/languages/pod/src/parser/grammar.pg	Fri Feb 13 22:44:14 2009	(r36695)
@@ -148,7 +148,7 @@
     ^^
     [ <.pod_ws> <formatted_text> \n ]+
     <.blank_line>
-
+    {*}
 }
 
 token block_name {
@@ -180,7 +180,7 @@
     | '<<'   <formatted_text> '>>'
     | '<'    <formatted_text> '>'
     ]
-
+    {*}
 }
 
 token pod_ws {


More information about the parrot-commits mailing list