[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