Perl6-Tokener

 view release on metacpan or  search on metacpan

Tokener.pm  view on Meta::CPAN

package Perl6::Tokener;
use Text::Balanced qw(extract_quotelike);
my %keywords = map {$_=>1} (qw(
given when CATCH break try POST class
__FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ AUTOLOAD BEGIN CORE 
DESTROY END INIT CHECK abs accept alarm and atan2 bind binmode bless 
caller chdir chmod chomp chop chown chr chroot close closedir cmp 
connect continue cos crypt dbmclose dbmopen defined delete die do 
each else elsif endgrent endhostent endnetent endprotoent endpwent 
endservent eof eq eval exec exists exit exp fcntl fileno flock for 
foreach fork format formline ge getc glob gmtime goto grep gt hex if 
index int ioctl join keys kill last lc lcfirst le length link listen 
local localtime lock log lstat lt m map mkdir my ne next no not oct 
open opendir or ord our pack package pipe pop pos print printf prototype 
push q qq qr quotemeta qw qx rand read readdir readline readlink readpipe 
recv redo ref rename require reset return reverse rewinddir rindex rmdir 
s scalar seek seekdir select shift sin sleep sort splice split sprintf 

Tokener.pm  view on Meta::CPAN

    'bless' => \&lop,
    'chop' => \&uni,
    'continue' => \&preblock,
    'chdir' => \&uni,
    'close' => \&uni,
    'closedir' => \&uni,
    'cmp' => sub { my $t=shift; $t->{state}="TERM"; $t->{type}="comparison" },
    'caller' => \&uni,
    'crypt' => \&lop,
    'chmod' => \&lop,
    'chown' => \&lop,
    'class' => sub { my $t=shift; $t->{state}="TERM"; $t->{type}="operator" }, #also need to set $t->{package}
    'connect' => \&lop,
    'chr' => \&uni,
    'cos' => \&uni,
    'die' => \&lop,
    'defined' => \&uni,
    'delete' => \&uni,
    'else' => \&preblock,
    'elsif' => sub { my $t=shift; $t->{state}="TERM"; $t->{type}="operator" },
    'eq' => sub { my $t=shift; $t->{state}="TERM"; $t->{type}="comparison" },



( run in 0.462 second using v1.01-cache-2.11-cpan-5511b514fd6 )