Changeset 215

Show
Ignore:
Timestamp:
04/06/07 20:39:01 (2 years ago)
Author:
ingy
Message:
 r3763@dhcp199:  ingy | 2007-04-05 13:42:06 +0900
 spork parser refo
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/core/Spork/lib/Spork/Formatter2.pm

    r203 r215  
    33use Spork::Parser; 
    44use Spork::Emitter::HTML; 
    5 use XXX; 
    65 
    76sub text_to_html { 
  • trunk/src/core/Spork/lib/Spork/Parser.pm

    r214 r215  
    33use warnings; 
    44use base 'Document::Parser'; 
     5 
     6sub set_ast { 
     7    require Document::AST::Tree; 
     8    my $self = shift; 
     9    $self->{ast} = Document::AST::Tree->new; 
     10} 
    511 
    612sub set_grammar { 
     
    6066} 
    6167 
     68# Fancy Regexp Generators 
    6269my $ALPHANUM = '\p{Letter}\p{Number}\pM'; 
    6370 
     
    7380} 
    7481 
    75 sub set_ast { 
    76     my $self = shift; 
    77     $self->{ast} = Spork::AST->new; 
    78 } 
    79  
    80 package Spork::AST; 
    81 use base 'Document::AST'; 
    82  
    83 sub insert { 
    84     my $self = shift; 
    85     my $ast = shift; 
    86     my $new = $ast->{output}; 
    87     my $current = $self->{output}[-1]; 
    88     my ($key) = keys %$current; 
    89     push @{$current->{$key}}, @$new; 
    90 } 
    91  
    92 sub begin_node { 
    93     my $self = shift; 
    94     push @{$self->{output}}, {shift, []}; 
    95 } 
    96  
    97 sub text_node { 
    98     my $self = shift; 
    99     push @{$self->{output}}, shift; 
    100 } 
    101  
    102 sub end_node { 
    103 } 
    104  
    105821; 
  • trunk/src/cpan/modules.mk

    r142 r215  
    1818CPAN_LEVEL_1 = \ 
    1919        URI.pm \ 
     20        XXX.pm \ 
    2021 
    2122CPAN_LEVEL_2 = \ 
  • trunk/src/plugins/ingy/Document-Parser/lib/Document/Parser.pm

    r213 r215  
    169169} 
    170170 
    171 package Document::AST; 
    172  
    173 sub new { 
    174     my $class = shift; 
    175     return bless { output => [], @_ }, ref($class) || $class; 
    176 } 
    177  
    178 sub content { 
    179     my $self = shift; 
    180     return $self->{output}; 
    181 } 
    182  
    183 sub insert { 
    184     my $self = shift; 
    185     my $ast = shift; 
    186     die; 
    187     # $self->{output} .= $ast->{output}; 
    188 } 
    189  
    190 sub begin_node { 
    191     my $self = shift; 
    192     my $tag = shift; 
    193     die; 
    194     # $self->{output} .= "+$tag\n"; 
    195 } 
    196  
    197 sub end_node { 
    198     my $self = shift; 
    199     my $tag = shift; 
    200     die; 
    201     # $tag =~ s/-.*//; 
    202     # $self->{output} .= "-$tag\n"; 
    203 } 
    204  
    205 sub text_node { 
    206     my $self = shift; 
    207     my $text = shift; 
    208     die; 
    209     # $self->{output} .= " $text\n"; 
    210 } 
    211  
    2121711; 
    213172 
    214173=head1 
     174 
     175=cut 
  • trunk/src/plugins/modules.mk

    r202 r215  
    11PLUGINS_PATHS = \ 
    22        Document \ 
     3        Document/AST \ 
    34        HTTP/Server/Simple \ 
    45        Kwiki \ 
     
    109110        Kwiki/VimMode.pm \ 
    110111        Kwiki/Weather.pm \ 
     112        Document/AST.pm \ 
    111113        Document/Parser.pm \ 
    112114        Kwiki/AdSense.pm \ 
     
    219221        Kwiki/UserName/Remote.pm \ 
    220222        Kwiki/Users/Remote.pm \ 
     223        Document/AST/Tree.pm \ 
    221224        Kwiki/Ajax/Toolman.pm \ 
    222225        Kwiki/Archive/Rcs.pm \