Anarres-Mud-Driver
view release on metacpan or search on metacpan
lib/Driver/Compiler/Node.pm view on Meta::CPAN
package Anarres::Mud::Driver::Compiler::Node;
# A lot of things throw code into this package's namespace.
use strict;
use vars qw(@ISA @EXPORT_OK %EXPORT_TAGS @NODETYPES);
use Exporter;
use Carp qw(confess);
BEGIN { # Does this still have to be a BEGIN?
@ISA = qw(Exporter);
@EXPORT_OK = qw(@NODETYPES);
%EXPORT_TAGS = (
all => \@EXPORT_OK,
);
# Vivify the relevant packages
# It might be useful to have a "Coerce" node which does a runtime
# type coercion/promotion, rather than an Assert node which just
# does a runtime type check.
# We can't read these out of <DATA> at BEGIN-time.
@NODETYPES = qw(
StmtNull
ExpComma
IntAssert StrAssert ArrAssert MapAssert ClsAssert ObjAssert
ToString
Nil String Integer Array Mapping Closure
Variable Parameter Funcall CallOther
VarStatic VarGlobal VarLocal
Index Range Member New
Postinc Postdec Preinc Predec Unot Tilde Plus Minus
Eq Ne Lt Gt Le Ge
Lsh Rsh Add Sub Mul Div Mod
Or And Xor
LogOr LogAnd
AddEq SubEq DivEq MulEq ModEq
AndEq OrEq XorEq
LshEq RshEq
LogOrEq LogAndEq
IntEq IntNe IntLt IntGt IntLe IntGe
IntAdd IntSub IntMul IntDiv IntMod IntLsh IntRsh
IntOr IntAnd IntXor
IntAndEq IntOrEq IntXorEq
IntAddEq IntSubEq IntMulEq IntDivEq IntModEq
IntLshEq IntRshEq
StrAdd StrMul
( run in 1.191 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )