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 )