RPerl
view release on metacpan or search on metacpan
lib/RPerl/Grammar.pm view on Meta::CPAN
/\G(\@(?:[a-zA-Z_]\w*)?[a-z]\w*(::[a-zA-Z_]\w*)*)/gc and return ('ARRAY_SYMBOL', $1);
/\G(\\\@(?:[a-zA-Z_]\w*)?[a-z]\w*(::[a-zA-Z_]\w*)*)/gc and return ('ARRAY_REF_SYMBOL', $1);
/\G(\%(?:[a-zA-Z_]\w*)?[a-z]\w*(::[a-zA-Z_]\w*)*)/gc and return ('HASH_SYMBOL', $1);
/\G(\\\%(?:[a-zA-Z_]\w*)?[a-z]\w*(::[a-zA-Z_]\w*)*)/gc and return ('HASH_REF_SYMBOL', $1);
/\G(\<\$[A-Z][A-Z0-9_]*\>)/gc and return ('FHREF_SYMBOL_IN', $1);
/\G(\{\$[A-Z][A-Z0-9_]*\})/gc and return ('FHREF_SYMBOL_BRACES', $1);
/\G(\$[A-Z][A-Z0-9_]*)/gc and return ('FHREF_SYMBOL', $1);
/\G(integer|unsigned_integer)\s+/gc and return ('TYPE_INTEGER', $1);
/\G(filehandleref\s+)/gc and return ('TYPE_FHREF', $1);
/\G((?:[a-zA-Z]\w*)+(?:::[a-zA-Z]\w*)*::method)/gc and return ('TYPE_METHOD', $1);
/\G((?:[a-zA-Z]\w*)(?:::[a-zA-Z]\w*)*(?:::[A-Z0-9_]*)\(\))/gc and return ('CONSTANT_CALL_SCOPED', $1);
/\G((?:[a-zA-Z_]\w*)?(?:::[a-zA-Z_]\w*)+)/gc and return ('WORD_SCOPED', $1);
/\G(\{\*STDOUT\}|\{\*STDERR\})/gc and return ('STDOUT_STDERR', $1);
/\G(<STDIN>)/gc and return ('STDIN', $1);
/\G(\@ARGV)/gc and return ('ARGV', $1);
/\G(\%ENV)/gc and return ('ENV', $1);
/\G(or|xor)\s/gc and return ('OP24_LOGICAL_OR_XOR', $1);
/\G(and)\s/gc and return ('OP23_LOGICAL_AND', $1);
/\G(not\()\s/gc and return ('OP22_LOGICAL_NEG_LPAREN', $1);
/\G(not)\s/gc and return ('OP22_LOGICAL_NEG', $1);
/\G(,)/gc and return ('OP21_LIST_COMMA', $1);
/\G(=>)/gc and return ('OP20_HASH_FATARROW', $1);
/\G(next;|last;)/gc and return ('OP19_LOOP_CONTROL_SCOLON', $1);
/\G(next|last|redo)\s/gc and return ('OP19_LOOP_CONTROL', $1);
/\G(\?)/gc and return ('OP18_TERNARY', $1);
/\G(\.\.)/gc and return ('OP17_LIST_RANGE', $1);
/\G(\|\|)/gc and return ('OP16_LOGICAL_OR', $1);
/\G(&&)/gc and return ('OP15_LOGICAL_AND', $1);
/\G(\||\^)/gc and return ('OP14_BITWISE_OR_XOR', $1);
/\G(&)/gc and return ('OP13_BITWISE_AND', $1);
/\G(==|!=|<=>|eq|ne|cmp)\s/gc and return ('OP12_COMPARE_EQ_NE', $1);
/\G(<<|>>)/gc and return ('OP09_BITWISE_SHIFT', $1);
/\G(-A;|-B;|-C;|-M;|-O;|-R;|-S;|-T;|-W;|-X;|-b;|-c;|-d;|-e;|-f;|-g;|-k;|-l;|-o;|-p;|-r;|-s;|-t;|-u;|-w;|-x;|-z;|alarm;|caller;|chdir;|chroot;|cos;|defined;|delete;|do;|eval;|exists;|gethostbyname;|getnetbyname;|getpgrp;|getprotobyname;|glob;|gm...
/\G(-A\s|-B\s|-C\s|-M\s|-O\s|-R\s|-S\s|-T\s|-W\s|-X\s|-b\s|-c\s|-d\s|-e\s|-f\s|-g\s|-k\s|-l\s|-o\s|-p\s|-r\s|-s\s|-t\s|-u\s|-w\s|-x\s|-z\s|alarm\s|caller\s|chdir\s|chroot\s|cos\s|defined\s|delete\s|do\s|eval\s|exists\s|gethostbyname\s|getnetbyn...
/\G(\+=|-=|\*=|\/=|\.=)/gc and return ('OP19_VARIABLE_ASSIGN_BY', $1);
/\G(\.)/gc and return ('OP08_STRING_CAT', $1);
/\G(\+\+|--)/gc and return ('OP03_MATH_INC_DEC', $1);
/\G(\*\*)/gc and return ('OP04_MATH_POW', $1);
/\G(\*|\/|\%|sse_mul|sse_div)/gc and return ('OP07_MATH_MULT_DIV_MOD', $1);
/\G(x)\s/gc and return ('OP07_STRING_REPEAT', $1);
/\G([ms]\/.*(?:\/.*)?\/[a-z]*)/gc and return ('OP06_REGEX_PATTERN', $1);
/\G(=\~|!\~)/gc and return ('OP06_REGEX_BIND', $1);
/\G(!)/gc and return ('OP05_LOGICAL_NEG', $1);
/\G(\~\()/gc and return ('OP05_BITWISE_NEG_LPAREN', $1);
/\G(->\{)/gc and return ('OP02_HASH_THINARROW', $1);
/\G(->\[)/gc and return ('OP02_ARRAY_THINARROW', $1);
/\G(->new\()/gc and return ('OP02_METHOD_THINARROW_NEW', $1);
/\G(->import\()/gc and return ('OP02_METHOD_THINARROW_IMP', $1);
/\G(->[a-zA-Z_]\w*)/gc and return ('OP02_METHOD_THINARROW', $1);
/\G(-\()/gc and return ('OP05_MATH_NEG_LPAREN', $1);
/\G(\+|-\s|sse_add|sse_sub)/gc and return ('OP08_MATH_ADD_SUB', $1);
/\G(<=|>=|<|>|le|ge|lt|gt)\s/gc and return ('OP11_COMPARE_LT_GT', $1);
/\G(=)/gc and return ('OP19_VARIABLE_ASSIGN', $1);
/\G(print|printf)\s/gc and return ('OP01_PRINT', $1);
/\G(croak;|die;|exit;|return;)/gc and return ('OP01_NAMED_VOID_SCOLON', $1);
/\G(croak\(|exit\(|return\()/gc and return ('OP01_NAMED_VOID_LPAREN', $1);
/\G(croak|die|exit|return)\s/gc and return ('OP01_NAMED_VOID', $1);
/\G(qw\([^()]*\))/gc and return ('OP01_QW', $1);
/\G(open)\s/gc and return ('OP01_OPEN', $1);
/\G(close)\s/gc and return ('OP01_CLOSE', $1);
/\G(abs;|accept;|atan2;|bind;|binmode;|bless;|break;|chmod;|chomp;|chop;|chown;|chr;|closedir;|connect;|continue;|crypt;|dbmclose;|dbmopen;|default;|dump;|each;|endgrent;|endhostent;|endnetent;|endprotoent;|endpwent;|endservent;|eof;|evalbytes;...
/\G(abs\s|accept\s|atan2\s|bind\s|binmode\s|bless\s|break\s|chmod\s|chomp\s|chop\s|chown\s|chr\s|closedir\s|connect\s|continue\s|crypt\s|dbmclose\s|dbmopen\s|default\s|dump\s|each\s|endgrent\s|endhostent\s|endnetent\s|endprotoent\s|endpwent\s|e...
/\G(:)/gc and return ('COLON', $1);
/\G(\(\s*my\s+(?:[a-z_]\w*|[A-Z]\w*[a-z]\w*|(?:[a-zA-Z_]\w*)?(?:::[a-zA-Z_]\w*)+|integer|unsigned_integer)\s+\$TYPED_)/gc and return ('LPAREN_TYPE_INNER', $1);
/\G(\(\s*my)/gc and return ('LPAREN_MY', $1);
/\G(\()/gc and return ('LPAREN', $1);
/\G(\[)/gc and return ('LBRACKET', $1);
/\G(\{)/gc and return ('LBRACE', $1);
/\G([a-z_]\w*|[A-Z]\w*[a-z]\w*)/gc and return ('WORD', $1);
/\G([A-Z][A-Z0-9_]*|[A-Z])/gc and return ('WORD_UPPERCASE', $1);
return ('', undef) if ($_ eq '') || (defined(pos($_)) && (pos($_) >= length($_)));
/\G\s*(\S+)/;
my $near = substr($1,0,10);
return($near, $near);
# die( "Error inside the lexical analyzer near '". $near
# ."'. Line: ".$self->line()
# .". File: '".$self->YYFilename()."'. No match found.\n");
}
}
;
#line 162 lib/RPerl/Grammar.pm
my $warnmessage =<< "EOFWARN";
Warning!: Did you changed the \@RPerl::Grammar::ISA variable inside the header section of the eyapp program?
EOFWARN
sub new {
my($class)=shift;
ref($class) and $class=ref($class);
warn $warnmessage unless __PACKAGE__->isa('Parse::Eyapp::Driver');
my($self)=$class->SUPER::new(
yyversion => '1.21',
yyGRAMMAR =>
[#[productionNameAndLabel => lhs, [ rhs], bypass]]
[ '_SUPERSTART' => '$start', [ 'CompileUnit', '$end' ], 0 ],
[ '_PAREN' => 'PAREN-1', [ 'ModuleHeader', 'Module' ], 0 ],
[ '_PLUS_LIST' => 'PLUS-2', [ 'PLUS-2', 'PAREN-1' ], 0 ],
[ '_PLUS_LIST' => 'PLUS-2', [ 'PAREN-1' ], 0 ],
[ 'CompileUnit_4' => 'CompileUnit', [ 'Program' ], 0 ],
[ 'CompileUnit_5' => 'CompileUnit', [ 'PLUS-2' ], 0 ],
[ '_OPTIONAL' => 'OPTIONAL-3', [ 'Critic' ], 0 ],
[ '_OPTIONAL' => 'OPTIONAL-3', [ ], 0 ],
[ '_STAR_LIST' => 'STAR-4', [ 'STAR-4', 'Critic' ], 0 ],
[ '_STAR_LIST' => 'STAR-4', [ ], 0 ],
[ '_STAR_LIST' => 'STAR-5', [ 'STAR-5', 'Include' ], 0 ],
[ '_STAR_LIST' => 'STAR-5', [ ], 0 ],
[ '_STAR_LIST' => 'STAR-6', [ 'STAR-6', 'Constant' ], 0 ],
[ '_STAR_LIST' => 'STAR-6', [ ], 0 ],
[ '_STAR_LIST' => 'STAR-7', [ 'STAR-7', 'Subroutine' ], 0 ],
[ '_STAR_LIST' => 'STAR-7', [ ], 0 ],
[ '_PLUS_LIST' => 'PLUS-8', [ 'PLUS-8', 'Operation' ], 0 ],
[ '_PLUS_LIST' => 'PLUS-8', [ 'Operation' ], 0 ],
[ 'Program_18' => 'Program', [ 'SHEBANG', 'OPTIONAL-3', 'USE_RPERL', 'Header', 'STAR-4', 'STAR-5', 'STAR-6', 'STAR-7', 'PLUS-8' ], 0 ],
[ '_OPTIONAL' => 'OPTIONAL-9', [ 'Critic' ], 0 ],
[ '_OPTIONAL' => 'OPTIONAL-9', [ ], 0 ],
( run in 2.620 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )