Data-SExpression
view release on metacpan or search on metacpan
lib/Data/SExpression/Parser.pm view on Meta::CPAN
my %quotes = (q{'} => 'quote',
q{`} => 'quasiquote',
q{,} => 'unquote');
sub lexer {
my $self = shift;
defined($self->YYData->{INPUT}) or return ('', undef);
my $symbol_char = qr{[*!\$[:alpha:]\?<>=/+:_{}-]};
for($self->YYData->{INPUT}) {
$_ =~ /\G \s* (?: ; .* \s* )* /gcx;
/\G ([+-]? \d+ (?:[.]\d*)?) /gcx
|| /\G ([+-]? [.] \d+) /gcx
and return ('NUMBER', $1);
/\G ($symbol_char ($symbol_char | \d | [.] )*)/gcx
and return ('SYMBOL', $1);
lib/Data/SExpression/Parser.yp view on Meta::CPAN
my %quotes = (q{'} => 'quote',
q{`} => 'quasiquote',
q{,} => 'unquote');
sub lexer {
my $self = shift;
defined($self->YYData->{INPUT}) or return ('', undef);
my $symbol_char = qr{[*!\$[:alpha:]\?<>=/+:_{}-]};
for($self->YYData->{INPUT}) {
$_ =~ /\G \s* (?: ; .* \s* )* /gcx;
/\G ([+-]? \d+ (?:[.]\d*)?) /gcx
|| /\G ([+-]? [.] \d+) /gcx
and return ('NUMBER', $1);
/\G ($symbol_char ($symbol_char | \d | [.] )*)/gcx
and return ('SYMBOL', $1);
( run in 0.337 second using v1.01-cache-2.11-cpan-b61123c0432 )