From 9b611d84451642a7bf1a5fd7b11f3290bd9420f1 Mon Sep 17 00:00:00 2001 From: Jeffrey Kegler Date: Sun, 22 Jul 2012 01:15:43 -0700 Subject: [PATCH] Work on Perl parser: t+ --- r2/pperl/Marpa/R2/Perl.pm | 7 ++++++- r2/ucurly.pl | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/r2/pperl/Marpa/R2/Perl.pm b/r2/pperl/Marpa/R2/Perl.pm index e05044cb7..b51f4bd70 100644 --- a/r2/pperl/Marpa/R2/Perl.pm +++ b/r2/pperl/Marpa/R2/Perl.pm @@ -486,6 +486,8 @@ my %symbol_name = ( my %perl_type_by_cast = ( q{\\} => 'REFGEN', + q{*} => 'ASTERISK', + q{&} => 'AMPERSAND', q{$} => 'DOLLAR', q{@} => 'ATSIGN', q{%} => 'PERCENT', @@ -1135,6 +1137,7 @@ sub read_PPI_token { my $PPI_type = ref $token; return 1 if $PPI_type eq 'PPI::Token::Whitespace'; return 1 if $PPI_type eq 'PPI::Token::Comment'; + return 1 if $PPI_type eq 'PPI::Token::Pod'; my $perl_type = undef; @@ -1318,6 +1321,7 @@ sub read_PPI_token { if ( $PPI_type eq 'PPI::Token::Number' or $PPI_type eq 'PPI::Token::Number::Float' + or $PPI_type eq 'PPI::Token::Magic' or $PPI_type eq 'PPI::Token::Number::Version' ) { my $content = $token->{content}; @@ -1333,7 +1337,8 @@ sub read_PPI_token { if ( $PPI_type eq 'PPI::Token::Quote::Single' or $PPI_type eq 'PPI::Token::Quote::Double' - or $PPI_type eq 'PPI::Token::Regexp::Match' ) + or $PPI_type eq 'PPI::Token::Regexp::Match' + or $PPI_type eq 'PPI::Token::Magic') { my $content = $token->{content}; defined $recce->alternative( 'THING', \$content ) diff --git a/r2/ucurly.pl b/r2/ucurly.pl index 8957d69fd..709b2c16e 100644 --- a/r2/ucurly.pl +++ b/r2/ucurly.pl @@ -64,7 +64,7 @@ sub linecol { say join q{ }, ( '=' x 20 ), linecol( $tokens->[$start] ), 'to', linecol( $tokens->[$end] ), ( '=' x 20 ); say map { $_->content() } @{$tokens}[ $start .. $end ]; - find_curly($parser, $start, $end); + # find_curly($parser, $start, $end); $next_start = $end + 1; } ## end PERL_CODE: while (1)