Home  |  Linux  | Mysql  | PHP  | XML
Date:Thu Jan 29 18:47:17 2009
Subject:[svn:parrot] r36153 - trunk/languages/pod/src/parser
Author: kjs
Date: Thu Jan 29 10:47:17 2009
New Revision: 36153

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

Log:
[pod] some work on languages/pod. Small bits.

Modified: trunk/languages/pod/src/parser/actions.pm
==============================================================================
--- trunk/languages/pod/src/parser/actions.pm (original)
+++ trunk/languages/pod/src/parser/actions.pm Thu Jan 29 10:47:17 2009
@@ -18,10 +18,13 @@
class Pod::Grammar::Actions;

method TOP($/) {
- make $( $/ );
- # for $<pod_section> {
- # $( $_ );
- # }
+ my $rootblock;
+
+ for $<pod_section> {
+ $rootblock.push( $( $_ ) );
+ }
+
+ make $rootblock;
}

method skipped($/) {
@@ -33,6 +36,7 @@
## XXX store it where? A block?
$( $_ );
}
+ make $( $<pod_sequence>[0] );
}

method pod_sequence($/, $key) {
@@ -47,17 +51,22 @@

}

-## XXX refactor the block_title stuff for heading and begin_directive.
+
+
+sub title($/, $block) {
+ if $<block_title> {
+ my $title := $( $<block_title>[0] );
+ $block.title( $title.name() );
+ }
+}

method heading($/) {
my $heading := Pod::DocTree::Heading.new();
## set the level of the heading
$heading.level($<digit>);

- if $<block_title> {
- my $title := $( $<block_title>[0] );
- $heading.title( $title.name() );
- }
+ title($/, $heading);
+
make $heading;
}

@@ -67,13 +76,12 @@
my $name := $( $<block_name> );
$block.name( $name.name() );

- if $<block_title> {
- my $title := $( $<block_title>[0] );
- $heading.title( $title.name() );
- }
+ title($/, $block);
+
make $block;
}

+
method end_directive($/) {

}

Modified: trunk/languages/pod/src/parser/grammar.pg
==============================================================================
--- trunk/languages/pod/src/parser/grammar.pg (original)
+++ trunk/languages/pod/src/parser/grammar.pg Thu Jan 29 10:47:17 2009
@@ -29,16 +29,16 @@
}

regex pod_sequence {
- | <heading> #= heading
- | <begin_directive> #= begin_directive
- | <end_directive> #= end_directive
- | <for_directive> #= for_directive
- | <back_directive> #= back_directive
- | <item_directive> #= item_directive
- | <over_directive> #= over_directive
- | <encoding_directive> #= encoding_directive
- | <literal_paragraph> #= literal_paragraph
- | <paragraph> #= paragraph
+ | <heading> {*} #= heading
+ | <begin_directive> {*} #= begin_directive
+ | <end_directive> {*} #= end_directive
+ | <for_directive> {*} #= for_directive
+ | <back_directive> {*} #= back_directive
+ | <item_directive> {*} #= item_directive
+ | <over_directive> {*} #= over_directive
+ | <encoding_directive> {*} #= encoding_directive
+ | <literal_paragraph> {*} #= literal_paragraph
+ | <paragraph> {*} #= paragraph
}

token pod_directive {
Navigate in group perl.cvs.parrot at sever nntp.perl.org
Previous Next





  
© No Copyright
You are free to use Anything, but please consult your advocate before doing so as this website
also list content from other sources which may be copyrighted.
Site Maintained by Zareef Ahmed
Powered By PHP Consultants