ResourceName
.TokenType
s.TokenType
.a.b
or a[b]
.Term
.Term
s.Node
to our list of children.a + b
.a && b
.Term
.Term
s.Callable
with the given parameters.Iterable
of parameters.Tag
.Tag
.Tag
.Tag
.Node
can chain to the given node.CarrotEngine
is the root of the carrot system.CarrotEngine
with the given Configuration
.CarrotEngine
with the given Configuration
and initial set of
global bindings.Node
.BinaryOperator
.Configuration
is used to configure various aspects of the carrot engine.Token
.Token
.TagNode
for an echo token.a / b
.Bindings
without any values.Term
.TermParser
which doesn't really parse anything, but always returns an EmptyTerm
.Bindings
for Map.Entry
.a == b
.TermParser
which doesn't really parse anything, but always throws a CarrotException
.Token
if it's one of the given types, or throws a CarrotException
if it's not.TermParser
which parses an expression Term
in parenthesis or delegates to another parser if there is
no opening parenthesis.ExpressionTermParser
.ResourceLocator
that loads files from the file system.FileResourceLocator
using the given Configuration
and base path to search for
resources in.FileResourceLocator
.FixedNode
represents the text outside of the {% ...Reader
to read the contents of the given resource.a > b
.Scope
as "html", contains a bunch of functions you can call from your script related
to HTML and HTML processing.TermParser
which parses an identifier Term
or delegates to another parser if there is no identifier.AccessibleTerm
which can not be accessed.a in list
.a, b
.Term
Iterable
.Bindings
based on the values in a JSONArray
.Bindings
based on the values in a JSONObject
.Term
s.a < b
.Reader
one line at a time, keeping track of the current line and colume via
a ResourcePointer
.Bindings
of the loop variables of a for loop.Bindings
based on the content of a Map
.ResourceLocator
that just keeps stuff in memory.MemoryResourceLocator
using the given Configuration
and base path to search for
resources in.MemoryResourceLocator
.Term
.-a
.a * b
.! value
.TermParser
which parses a constant number Term
or delegates to another parser if there is no number.a || b
.+1
.Preconditions
class, just a bunch of helper methods for asserting our preconditions.Writer
.Writer
.Tag
to the given Writer
.Writer
.Node
's children to the given Writer
.null
if no such key exists in these Bindings.Scope
, with the given initial set of "global" bindings.Bindings
with exactly one value.Term
s.TermParser
which parses a constant string Term
or delegates to another parser if there is no string.a - b
.TagNode
represents a node of the form "{% tagname foo %}" where "tagname" is the name of the tag and "foo"
is the parameters.Term
s.Iterable
to an ArrayList
.Iterator
to an ArrayList
.Token
is something pulled off the statement stream and represents a terminal like a string literal,
number, identifier, etc.Tokenizer
.Token
s.Reader
into a stream of Token
s.Token
s we can pull off the statement parser.Number
.Identifier
, useful for debugging.Term
.Term
s.CarrotException
with the given message, populated with our current state.Object
s.Term
decorator which evaluates the value of the decorated term to a bound variable of the current scope.