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 )