NAME
Language::Expr::Compiler::Base - Base class for Expr compilers
VERSION
version 0.11
ATTRIBUTES
markers => ARRAYREF
Used to mark compile output string with various unique strings, and later on revisit these markers and substitute for other, final values. This technique is kind of a hack, used for subexpression, inserting PHP use() statement (because they must be processed outward to inward), etc.
func_mapping => HASHREF
Map Expr function to target language's function/method/property.
ATTRIBUTES
hook_var
Can be set to a coderef that will be called during parsing whenever variable is encountered. The coderef is expected to return Perl code to handle the variable. By default, if this attribute is not set, variable in expression is returned as is (e.g. '$foo' becomes '$foo' in Perl), which means some will result in error (e.g. '${name that contains some symbols that makes it invalid Perl)').
METHODS
new_marker(TYPE[, DATA]) => UUID
Create a new marker. Return a unique ID to be placed in compiled output.
marker_ids() => ARRAY
Return an array of all marker IDs.
marker_ids_re() => STRING
Return a regex that matches marker IDs.
AUTHOR
Steven Haryanto <stevenharyanto@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.