This is a rough draft of the developer documentation that will describe how compiled templates are represented using an element tree.
The hierarchy of elements is as follows:
Element Literal Text Padding String Squote Dquote Whitespace Comment Delimiter TagEnd Terminator End
There are more... but I haven't cleaned those up yet
Base class for all elements that represent a chunk of literal text.
An element representing a synthesised padding token. e.g. the single space
added around a tag by the
= pre/post chomp flags.
A subclass of Template::TT3::Element::String for 'single quoted' strings.
An element representing am expression delimiter. This includes the semi-colon,
;, and the end of tag tokens (e.g.
?], etc) represented by the
A thin subclass of
end of tag tokens (e.g.
An element representing a terminator token. e.g. the
end keyword and
) tokens used to terminate lists, hash arrays and
A thin subclass of Template::TT3::Element::Terminator which acts like a keyword when presented via a view (e.g. for the purpose of syntax highlighting).