Erlang-Parser
view release on metacpan or search on metacpan
lib/Erlang/Parser/Node/Directive.pm
lib/Erlang/Parser/Node/Float.pm
lib/Erlang/Parser/Node/FunLocal.pm
lib/Erlang/Parser/Node/FunLocalCase.pm
lib/Erlang/Parser/Node/FunRef.pm
lib/Erlang/Parser/Node/If.pm
lib/Erlang/Parser/Node/IfExpr.pm
lib/Erlang/Parser/Node/Integer.pm
lib/Erlang/Parser/Node/List.pm
lib/Erlang/Parser/Node/Literal.pm
lib/Erlang/Parser/Node/Macro.pm
lib/Erlang/Parser/Node/Receive.pm
lib/Erlang/Parser/Node/ReceiveAfter.pm
lib/Erlang/Parser/Node/RecordNew.pm
lib/Erlang/Parser/Node/String.pm
lib/Erlang/Parser/Node/Try.pm
lib/Erlang/Parser/Node/Tuple.pm
lib/Erlang/Parser/Node/UnOp.pm
lib/Erlang/Parser/Node/Variable.pm
lib/Erlang/Parser/Node/VariableRecordAccess.pm
lib/Erlang/Parser/Node/VariableRecordUpdate.pm
lib/Erlang/Parser/Node/Macro.pm view on Meta::CPAN
# Copyright 2011-2012 Yuki Izumi. ( anneli AT cpan DOT org )
# This is free software; you can redistribute it and/or modify it under the
# same terms as Perl itself.
package Erlang::Parser::Node::Macro;
use Moose;
with 'Erlang::Parser::Node';
has 'macro' => (is => 'rw', required => 1, isa => 'Str');
sub print {
my ($self, $fh, $depth) = @_;
$depth ||= 0;
print $fh '?', $self->macro;
}
__PACKAGE__->meta->make_immutable;
=head1 NAME
Erlang::Parser::Node::Macro - a preprocessor-style macro
=head1 DESCRIPTION
Defined with the -define() directive; expands as any node.
=head2 Accessors
=over 4
=item C<macro>
lib/Erlang/Parser/Parser.pm view on Meta::CPAN
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;
lib/Erlang/Parser/Parser.pm view on Meta::CPAN
[#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
lib/Erlang/Parser/Parser.yp view on Meta::CPAN
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;
lib/Erlang/Parser/Parser.yp view on Meta::CPAN
| macro
| variable
| atom
;
atom:
ATOM { new_node 'Atom', atom => $_[1] }
;
macro:
MACRO { new_node 'Macro', macro => substr($_[1], 1) }
;
variable:
VARIABLE { new_node 'Variable', variable => $_[1] }
;
string:
STRING { new_node 'String', string => $_[1] }
| string STRING { $_[1]->_append($_[2]) }
;
( run in 0.609 second using v1.01-cache-2.11-cpan-49f99fa48dc )