Data-SExpression

 view release on metacpan or  search on metacpan

lib/Data/SExpression/Parser.pm  view on Meta::CPAN

485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
1;
 
}
#End of include--------------------------------------------------
 
 
#line 9 "lib/Data/SExpression/Parser.yp"
 
use Scalar::Util qw(weaken);
 
 
sub new {
        my($class)=shift;
        ref($class)
    and $class=ref($class);
 
    my($self)=$class->SUPER::new( yyversion => '1.05',
                                  yystates =>
[

lib/Data/SExpression/Parser.pm  view on Meta::CPAN

704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
    my $self = shift;
    my $input = shift;
    die(__PACKAGE__ . "::set_input called with 0 arguments") unless defined($input);
    $self->YYData->{INPUT} = $input;
}
 
sub set_handler {
    my $self = shift;
    my $handler = shift or die(__PACKAGE__ . "::set_handler called with 0 arguments");
    $self->YYData->{HANDLER} = $handler;
    weaken $self->YYData->{HANDLER};
}
 
sub handler {
    my $self = shift;
    return $self->YYData->{HANDLER};
}
 
sub unparsed_input {
    my $self = shift;
    return substr($self->YYData->{INPUT}, pos($self->YYData->{INPUT}));

lib/Data/SExpression/Parser.yp  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# -*- mode: perl -*-
#
# Parser.yp
#
# Grammar to parse SExpressions for Data::SExpression
#
#
 
%{
use Scalar::Util qw(weaken);
%}
 
%%
 
sexpression: expression                  { $_[0]->YYAccept; return $_[1]; }
;
 
expression:   NUMBER
            | SYMBOL                     { $_[0]->handler->new_symbol($_[1]) }
            | STRING                     { $_[0]->handler->new_string($_[1]) }

lib/Data/SExpression/Parser.yp  view on Meta::CPAN

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
    my $self = shift;
    my $input = shift;
    die(__PACKAGE__ . "::set_input called with 0 arguments") unless defined($input);
    $self->YYData->{INPUT} = $input;
}
 
sub set_handler {
    my $self = shift;
    my $handler = shift or die(__PACKAGE__ . "::set_handler called with 0 arguments");
    $self->YYData->{HANDLER} = $handler;
    weaken $self->YYData->{HANDLER};
}
 
sub handler {
    my $self = shift;
    return $self->YYData->{HANDLER};
}
 
sub unparsed_input {
    my $self = shift;
    return substr($self->YYData->{INPUT}, pos($self->YYData->{INPUT}));



( run in 0.260 second using v1.01-cache-2.11-cpan-e5176c747c2 )