Perl6-Tokener
view release on metacpan or search on metacpan
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
'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 )