Erlang-Parser
view release on metacpan or search on metacpan
lib/Erlang/Parser/Parser.pm view on Meta::CPAN
####################################################################
#
# This file was generated using Parse::Yapp version 1.05.
#
# Don't edit this file, use source file instead.
#
# ANY CHANGE MADE HERE WILL BE LOST !
#
####################################################################
package Erlang::Parser::Parser;
use vars qw ( @ISA );
use strict;
@ISA= qw ( Parse::Yapp::Driver );
use Parse::Yapp::Driver;
#line 21 "lib/Erlang/Parser/Parser.yp"
use strict;
use warnings;
use Erlang::Parser::Node::Directive;
use Erlang::Parser::Node::DefList;
use Erlang::Parser::Node::Def;
use Erlang::Parser::Node::WhenList;
use Erlang::Parser::Node::Atom;
use Erlang::Parser::Node::Integer;
use Erlang::Parser::Node::BinOp;
use Erlang::Parser::Node::List;
use Erlang::Parser::Node::Variable;
use Erlang::Parser::Node::Tuple;
use Erlang::Parser::Node::Macro;
use Erlang::Parser::Node::String;
use Erlang::Parser::Node::Call;
use Erlang::Parser::Node::Alt;
use Erlang::Parser::Node::Try;
use Erlang::Parser::Node::Literal;
use Erlang::Parser::Node::FunRef;
use Erlang::Parser::Node::FunLocal;
use Erlang::Parser::Node::FunLocalCase;
use Erlang::Parser::Node::Case;
use Erlang::Parser::Node::RecordNew;
use Erlang::Parser::Node::VariableRecordAccess;
use Erlang::Parser::Node::VariableRecordUpdate;
use Erlang::Parser::Node::Float;
use Erlang::Parser::Node::BaseInteger;
use Erlang::Parser::Node::BinaryExpr;
use Erlang::Parser::Node::Binary;
use Erlang::Parser::Node::UnOp;
use Erlang::Parser::Node::Begin;
use Erlang::Parser::Node::Comprehension;
use Erlang::Parser::Node::If;
use Erlang::Parser::Node::IfExpr;
use Erlang::Parser::Node::Receive;
use Erlang::Parser::Node::ReceiveAfter;
sub new_node {
my ($kind, %args) = @_;
"Erlang::Parser::Node::$kind"->new(%args);
}
sub new {
my($class)=shift;
ref($class)
and $class=ref($class);
my($self)=$class->SUPER::new( yyversion => '1.05',
yystates =>
[
{#State 0
DEFAULT => -1,
GOTOS => {
'root' => 1
}
},
{#State 1
ACTIONS => {
'SUBTRACT' => 4,
'ATOM' => 5,
'' => 6
},
GOTOS => {
'rootstmt' => 2,
'def' => 3,
'deflist' => 7
}
},
{#State 2
DEFAULT => -2
},
{#State 3
lib/Erlang/Parser/Parser.pm view on Meta::CPAN
'immexpr', 1,
sub
#line 176 "lib/Erlang/Parser/Parser.yp"
{ new_node 'BaseInteger', baseinteger => $_[1] }
],
[#Rule 68
'immexpr', 1,
sub
#line 177 "lib/Erlang/Parser/Parser.yp"
{ new_node 'Integer', int => $_[1] }
],
[#Rule 69
'immexpr', 1, undef
],
[#Rule 70
'immexpr', 3,
sub
#line 179 "lib/Erlang/Parser/Parser.yp"
{ new_node 'VariableRecordAccess', variable => $_[1], record => $_[3] }
],
[#Rule 71
'immexpr', 2,
sub
#line 180 "lib/Erlang/Parser/Parser.yp"
{ new_node 'VariableRecordUpdate', variable => $_[1], update => $_[2] }
],
[#Rule 72
'immexpr', 1,
sub
#line 181 "lib/Erlang/Parser/Parser.yp"
{ new_node 'Literal', literal => substr($_[1], 1) }
],
[#Rule 73
'immexpr', 1, undef
],
[#Rule 74
'immexpr', 1, undef
],
[#Rule 75
'immexpr', 1, undef
],
[#Rule 76
'immexpr', 1, undef
],
[#Rule 77
'immexpr', 1, undef
],
[#Rule 78
'immexpr', 1, undef
],
[#Rule 79
'atom', 1,
sub
#line 191 "lib/Erlang/Parser/Parser.yp"
{ new_node 'Atom', atom => $_[1] }
],
[#Rule 80
'macro', 1,
sub
#line 195 "lib/Erlang/Parser/Parser.yp"
{ new_node 'Macro', macro => substr($_[1], 1) }
],
[#Rule 81
'variable', 1,
sub
#line 199 "lib/Erlang/Parser/Parser.yp"
{ new_node 'Variable', variable => $_[1] }
],
[#Rule 82
'string', 1,
sub
#line 203 "lib/Erlang/Parser/Parser.yp"
{ new_node 'String', string => $_[1] }
],
[#Rule 83
'string', 2,
sub
#line 204 "lib/Erlang/Parser/Parser.yp"
{ $_[1]->_append($_[2]) }
],
[#Rule 84
'call', 1, undef
],
[#Rule 85
'call', 1, undef
],
[#Rule 86
'intcall', 4,
sub
#line 213 "lib/Erlang/Parser/Parser.yp"
{ new_node 'Call', function => $_[1], args => $_[3] }
],
[#Rule 87
'extcall', 3,
sub
#line 217 "lib/Erlang/Parser/Parser.yp"
{ $_[3]->module($_[1]); $_[3] }
],
[#Rule 88
'list', 4,
sub
#line 221 "lib/Erlang/Parser/Parser.yp"
{ new_node 'List', elems => $_[2], cdr => $_[3] }
],
[#Rule 89
'listcdr', 0,
sub
#line 226 "lib/Erlang/Parser/Parser.yp"
{ undef }
],
[#Rule 90
'listcdr', 2,
sub
#line 227 "lib/Erlang/Parser/Parser.yp"
{ $_[2] }
],
[#Rule 91
'comprehension', 5,
sub
#line 231 "lib/Erlang/Parser/Parser.yp"
{ new_node 'Comprehension', output => $_[2], generators => $_[4] }
( run in 1.351 second using v1.01-cache-2.11-cpan-437f7b0c052 )