# This lines are automatically generated by tool/opcode_for_pp.PL.
# ANY CHANGES WILL BE LOST!
package Text::Xslate::PP::Const;
use strict;
use parent qw(Exporter);
{
no strict 'refs';
our @EXPORT = ( grep { defined &{$_} } sort keys %Text::Xslate::PP::Const:: );
our @EXPORT_OK = (@EXPORT, qw(%OPS @OPCODE @OPARGS));
our %EXPORT_TAGS = (
all => \@EXPORT_OK,
);
}
use constant TXARGf_SV => 0x01;
use constant TXARGf_INT => 0x02;
use constant TXARGf_KEY => 0x04;
use constant TXARGf_VAR => 0x08;
use constant TXARGf_PC => 0x10;
# note that these flags are different form XS's because
# of the difference of data structure
use constant TXCODE_W_SV => TXARGf_SV;
use constant TXCODE_W_SVIV => (TXARGf_SV | TXARGf_INT) ;
use constant TXCODE_W_KEY => (TXARGf_SV | TXARGf_KEY);
use constant TXCODE_W_INT => (TXARGf_SV | TXARGf_INT);
use constant TXCODE_W_VAR => (TXARGf_SV | TXARGf_INT | TXARGf_VAR);
use constant TXCODE_GOTO => (TXARGf_SV | TXARGf_INT | TXARGf_PC);
# template representation, stored in $self->{template}{$file}
use constant TXo_MTIME => 0;
use constant TXo_CACHEPATH => 1;
use constant TXo_FULLPATH => 2;
# vm execution frame
use constant TXframe_NAME => 0;
use constant TXframe_OUTPUT => 1;
use constant TXframe_RETADDR => 2;
use constant TXframe_START_LVAR => 3;
use constant TX_VERBOSE_DEFAULT => 1;
# for-loop variables
use constant TXfor_ITEM => 0;
use constant TXfor_ITER => 1;
use constant TXfor_ARRAY => 2;
# types
use constant TXt_RAW => 'Text::Xslate::Type::Raw';
use constant TXt_MACRO => 'Text::Xslate::PP::Type::Macro';
use constant TXt_PAIR => 'Text::Xslate::PP::Type::Pair';
our %OPS = (
noop => 0,
move_to_sb => 1,
move_from_sb => 2,
save_to_lvar => 3,
load_lvar => 4,
load_lvar_to_sb => 5,
localize_s => 6,
localize_vars => 7,
push => 8,
pushmark => 9,
nil => 10,
literal => 11,
literal_i => 12,
fetch_s => 13,
fetch_field => 14,
fetch_field_s => 15,
print => 16,
print_raw => 17,
print_raw_s => 18,
include => 19,
find_file => 20,
suffix => 21,
for_start => 22,
for_iter => 23,
add => 24,
sub => 25,
mul => 26,
div => 27,
mod => 28,
concat => 29,
repeat => 30,
bitor => 31,
bitand => 32,
bitxor => 33,
bitneg => 34,
and => 35,
dand => 36,
or => 37,
dor => 38,
not => 39,
minus => 40,
max_index => 41,
builtin_mark_raw => 42,
builtin_unmark_raw => 43,
builtin_uri_escape => 44,
builtin_is_array_ref => 45,
builtin_is_hash_ref => 46,
builtin_html_escape => 47,
is_code_ref => 48,
merge_hash => 49,
match => 50,
eq => 51,
ne => 52,
lt => 53,
le => 54,
gt => 55,
ge => 56,
ncmp => 57,
scmp => 58,
range => 59,
fetch_symbol => 60,
funcall => 61,
macro_end => 62,
methodcall_s => 63,
make_array => 64,
make_hash => 65,
enter => 66,
leave => 67,
goto => 68,
vars => 69,
depend => 70,
macro_begin => 71,
macro_nargs => 72,
macro_outer => 73,
set_opinfo => 74,
super => 75,
end => 76,
); # %OPS
our @OPCODE = (
\&Text::Xslate::PP::Opcode::op_noop, # 0
\&Text::Xslate::PP::Opcode::op_move_to_sb, # 1
\&Text::Xslate::PP::Opcode::op_move_from_sb, # 2
\&Text::Xslate::PP::Opcode::op_save_to_lvar, # 3
\&Text::Xslate::PP::Opcode::op_load_lvar, # 4
\&Text::Xslate::PP::Opcode::op_load_lvar_to_sb, # 5
\&Text::Xslate::PP::Opcode::op_localize_s, # 6
\&Text::Xslate::PP::Opcode::op_localize_vars, # 7
\&Text::Xslate::PP::Opcode::op_push, # 8
\&Text::Xslate::PP::Opcode::op_pushmark, # 9
\&Text::Xslate::PP::Opcode::op_nil, # 10
\&Text::Xslate::PP::Opcode::op_literal, # 11
\&Text::Xslate::PP::Opcode::op_literal_i, # 12
\&Text::Xslate::PP::Opcode::op_fetch_s, # 13
\&Text::Xslate::PP::Opcode::op_fetch_field, # 14
\&Text::Xslate::PP::Opcode::op_fetch_field_s, # 15
\&Text::Xslate::PP::Opcode::op_print, # 16
\&Text::Xslate::PP::Opcode::op_print_raw, # 17
\&Text::Xslate::PP::Opcode::op_print_raw_s, # 18
\&Text::Xslate::PP::Opcode::op_include, # 19
\&Text::Xslate::PP::Opcode::op_find_file, # 20
\&Text::Xslate::PP::Opcode::op_suffix, # 21
\&Text::Xslate::PP::Opcode::op_for_start, # 22
\&Text::Xslate::PP::Opcode::op_for_iter, # 23
\&Text::Xslate::PP::Opcode::op_add, # 24
\&Text::Xslate::PP::Opcode::op_sub, # 25
\&Text::Xslate::PP::Opcode::op_mul, # 26
\&Text::Xslate::PP::Opcode::op_div, # 27
\&Text::Xslate::PP::Opcode::op_mod, # 28
\&Text::Xslate::PP::Opcode::op_concat, # 29
\&Text::Xslate::PP::Opcode::op_repeat, # 30
\&Text::Xslate::PP::Opcode::op_bitor, # 31
\&Text::Xslate::PP::Opcode::op_bitand, # 32
\&Text::Xslate::PP::Opcode::op_bitxor, # 33
\&Text::Xslate::PP::Opcode::op_bitneg, # 34
\&Text::Xslate::PP::Opcode::op_and, # 35
\&Text::Xslate::PP::Opcode::op_dand, # 36
\&Text::Xslate::PP::Opcode::op_or, # 37
\&Text::Xslate::PP::Opcode::op_dor, # 38
\&Text::Xslate::PP::Opcode::op_not, # 39
\&Text::Xslate::PP::Opcode::op_minus, # 40
\&Text::Xslate::PP::Opcode::op_max_index, # 41
\&Text::Xslate::PP::Opcode::op_builtin_mark_raw, # 42
\&Text::Xslate::PP::Opcode::op_builtin_unmark_raw, # 43
\&Text::Xslate::PP::Opcode::op_builtin_uri_escape, # 44
\&Text::Xslate::PP::Opcode::op_builtin_is_array_ref, # 45
\&Text::Xslate::PP::Opcode::op_builtin_is_hash_ref, # 46
\&Text::Xslate::PP::Opcode::op_builtin_html_escape, # 47
\&Text::Xslate::PP::Opcode::op_is_code_ref, # 48
\&Text::Xslate::PP::Opcode::op_merge_hash, # 49
\&Text::Xslate::PP::Opcode::op_match, # 50
\&Text::Xslate::PP::Opcode::op_eq, # 51
\&Text::Xslate::PP::Opcode::op_ne, # 52
\&Text::Xslate::PP::Opcode::op_lt, # 53
\&Text::Xslate::PP::Opcode::op_le, # 54
\&Text::Xslate::PP::Opcode::op_gt, # 55
\&Text::Xslate::PP::Opcode::op_ge, # 56
\&Text::Xslate::PP::Opcode::op_ncmp, # 57
\&Text::Xslate::PP::Opcode::op_scmp, # 58
\&Text::Xslate::PP::Opcode::op_range, # 59
\&Text::Xslate::PP::Opcode::op_fetch_symbol, # 60
\&Text::Xslate::PP::Opcode::op_funcall, # 61
\&Text::Xslate::PP::Opcode::op_macro_end, # 62
\&Text::Xslate::PP::Opcode::op_methodcall_s, # 63
\&Text::Xslate::PP::Opcode::op_make_array, # 64
\&Text::Xslate::PP::Opcode::op_make_hash, # 65
\&Text::Xslate::PP::Opcode::op_enter, # 66
\&Text::Xslate::PP::Opcode::op_leave, # 67
\&Text::Xslate::PP::Opcode::op_goto, # 68
\&Text::Xslate::PP::Opcode::op_vars, # 69
\&Text::Xslate::PP::Opcode::op_depend, # 70
\&Text::Xslate::PP::Opcode::op_macro_begin, # 71
\&Text::Xslate::PP::Opcode::op_macro_nargs, # 72
\&Text::Xslate::PP::Opcode::op_macro_outer, # 73
\&Text::Xslate::PP::Opcode::op_set_opinfo, # 74
\&Text::Xslate::PP::Opcode::op_super, # 75
\&Text::Xslate::PP::Opcode::op_end, # 76
); # @OPCODE
our @OPARGS = (
0, # noop
0, # move_to_sb
0, # move_from_sb
TXCODE_W_VAR, # save_to_lvar
TXCODE_W_VAR, # load_lvar
TXCODE_W_VAR, # load_lvar_to_sb
TXCODE_W_KEY, # localize_s
0, # localize_vars
0, # push
0, # pushmark
0, # nil
TXCODE_W_SV, # literal
TXCODE_W_SVIV, # literal_i
TXCODE_W_KEY, # fetch_s
0, # fetch_field
TXCODE_W_KEY, # fetch_field_s
0, # print
0, # print_raw
TXCODE_W_SV, # print_raw_s
0, # include
0, # find_file
0, # suffix
TXCODE_W_VAR, # for_start
TXCODE_GOTO, # for_iter
0, # add
0, # sub
0, # mul
0, # div
0, # mod
TXCODE_W_SV, # concat
TXCODE_W_SV, # repeat
0, # bitor
0, # bitand
0, # bitxor
0, # bitneg
TXCODE_GOTO, # and
TXCODE_GOTO, # dand
TXCODE_GOTO, # or
TXCODE_GOTO, # dor
0, # not
0, # minus
0, # max_index
0, # builtin_mark_raw
0, # builtin_unmark_raw
0, # builtin_uri_escape
0, # builtin_is_array_ref
0, # builtin_is_hash_ref
0, # builtin_html_escape
0, # is_code_ref
0, # merge_hash
0, # match
0, # eq
0, # ne
0, # lt
0, # le
0, # gt
0, # ge
0, # ncmp
0, # scmp
0, # range
TXCODE_W_KEY, # fetch_symbol
0, # funcall
0, # macro_end
TXCODE_W_KEY, # methodcall_s
0, # make_array
0, # make_hash
0, # enter
0, # leave
TXCODE_GOTO, # goto
0, # vars
TXCODE_W_SV, # depend
TXCODE_W_KEY, # macro_begin
TXCODE_W_SVIV, # macro_nargs
TXCODE_W_SVIV, # macro_outer
0, # set_opinfo
0, # super
0, # end
); # @OPARGS
1;
__END__
=pod
=head1 NAME
Text::Xslate::PP::Const - Text::Xslate constants in pure Perl
=head1 DESCRIPTION
This module is used by Text::Xslate::PP internally.
=head1 SEE ALSO
L<Text::Xslate>
L<Text::Xslate::PP>
=head1 LICENSE AND COPYRIGHT
Copyright (c) 2010 by Makamaka Hannyaharamitu (makamaka).
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut