freemarker.core
Class FMParser

java.lang.Object
  extended by freemarker.core.FMParser

public class FMParser
extends Object

This class is generated by JavaCC from a grammar file.


Field Summary
static int _INCLUDE
          RegularExpression Id.
static int AND
          RegularExpression Id.
static int AS
          RegularExpression Id.
static int ASSIGN
          RegularExpression Id.
static int ATTEMPT
          RegularExpression Id.
static int BLANK
          RegularExpression Id.
static int BREAK
          RegularExpression Id.
static int BUILT_IN
          RegularExpression Id.
static int CALL
          RegularExpression Id.
static int CASE
          RegularExpression Id.
static int CLOSE_BRACE
          RegularExpression Id.
static int CLOSE_BRACKET
          RegularExpression Id.
static int CLOSE_PAREN
          RegularExpression Id.
static int CLOSE_TAG1
          RegularExpression Id.
static int CLOSE_TAG2
          RegularExpression Id.
static int COLON
          RegularExpression Id.
static int COMMA
          RegularExpression Id.
static int COMMENT
          RegularExpression Id.
static int COMPRESS
          RegularExpression Id.
static int DECIMAL
          RegularExpression Id.
static int DEFAUL
          RegularExpression Id.
static int DEFAULT
          Lexical state.
static int DIGIT
          RegularExpression Id.
static int DIRECTIVE_END
          RegularExpression Id.
static int DIVIDE
          RegularExpression Id.
static int DOT
          RegularExpression Id.
static int DOT_DOT
          RegularExpression Id.
static int DOUBLE_EQUALS
          RegularExpression Id.
static int DOUBLE_STAR
          RegularExpression Id.
static int ELLIPSIS
          RegularExpression Id.
static int ELSE
          RegularExpression Id.
static int ELSE_IF
          RegularExpression Id.
static int EMPTY_DIRECTIVE_END
          RegularExpression Id.
static int END_ASSIGN
          RegularExpression Id.
static int END_ATTEMPT
          RegularExpression Id.
static int END_COMPRESS
          RegularExpression Id.
static int END_ESCAPE
          RegularExpression Id.
static int END_FOREACH
          RegularExpression Id.
static int END_FUNCTION
          RegularExpression Id.
static int END_GLOBAL
          RegularExpression Id.
static int END_IF
          RegularExpression Id.
static int END_LIST
          RegularExpression Id.
static int END_LOCAL
          RegularExpression Id.
static int END_MACRO
          RegularExpression Id.
static int END_NOESCAPE
          RegularExpression Id.
static int END_RECOVER
          RegularExpression Id.
static int END_SWITCH
          RegularExpression Id.
static int END_TAG
          RegularExpression Id.
static int END_TRANSFORM
          RegularExpression Id.
static int EOF
          End of File.
static int EQUALS
          RegularExpression Id.
static int ESCAPE
          RegularExpression Id.
static int ESCAPED_CHAR
          RegularExpression Id.
static int ESCAPED_GT
          RegularExpression Id.
static int ESCAPED_GTE
          RegularExpression Id.
static int EXCLAM
          RegularExpression Id.
static int EXISTS
          RegularExpression Id.
static int EXPRESSION_COMMENT
          Lexical state.
static int FALLBACK
          RegularExpression Id.
static int FALSE
          RegularExpression Id.
static int FALSE_ALERT
          RegularExpression Id.
static int FLUSH
          RegularExpression Id.
static int FM_EXPRESSION
          Lexical state.
static int FOREACH
          RegularExpression Id.
static int FTL_HEADER
          RegularExpression Id.
static int FUNCTION
          RegularExpression Id.
static int GLOBALASSIGN
          RegularExpression Id.
static int HALT
          RegularExpression Id.
static int ID
          RegularExpression Id.
static int IF
          RegularExpression Id.
static int IMPORT
          RegularExpression Id.
static int IN
          RegularExpression Id.
static int IN_PAREN
          Lexical state.
static int INTEGER
          RegularExpression Id.
 freemarker.core.Token jj_nt
          Next token.
static int KEEP_GOING
          RegularExpression Id.
static int LESS_THAN
          RegularExpression Id.
static int LESS_THAN_EQUALS
          RegularExpression Id.
static int LETTER
          RegularExpression Id.
static int LIST
          RegularExpression Id.
static int LOCALASSIGN
          RegularExpression Id.
static int LONE_LESS_THAN_OR_DASH
          RegularExpression Id.
static int LTRIM
          RegularExpression Id.
static int MACRO
          RegularExpression Id.
static int MAYBE_END
          RegularExpression Id.
static int MINUS
          RegularExpression Id.
static int NAMED_PARAMETER_EXPRESSION
          Lexical state.
static int NATURAL_GT
          RegularExpression Id.
static int NATURAL_GTE
          RegularExpression Id.
static int NESTED
          RegularExpression Id.
static int NO_PARSE
          Lexical state.
static int NO_SPACE_EXPRESSION
          Lexical state.
static int NODIRECTIVE
          Lexical state.
static int NOESCAPE
          RegularExpression Id.
static int NOPARSE
          RegularExpression Id.
static int NOT_EQUALS
          RegularExpression Id.
static int NOTRIM
          RegularExpression Id.
static int NUMERICAL_ESCAPE
          RegularExpression Id.
static int OPEN_BRACE
          RegularExpression Id.
static int OPEN_BRACKET
          RegularExpression Id.
static int OPEN_PAREN
          RegularExpression Id.
static int OR
          RegularExpression Id.
static int OUTPUT_ESCAPE
          RegularExpression Id.
static int PERCENT
          RegularExpression Id.
static int PLUS
          RegularExpression Id.
static int PRINTABLE_CHARS
          RegularExpression Id.
static int RAW_STRING
          RegularExpression Id.
static int RECOVER
          RegularExpression Id.
static int RECURSE
          RegularExpression Id.
static int RETURN
          RegularExpression Id.
static int RTRIM
          RegularExpression Id.
static int SEMICOLON
          RegularExpression Id.
static int SETTING
          RegularExpression Id.
static int SIMPLE_NESTED
          RegularExpression Id.
static int SIMPLE_RECURSE
          RegularExpression Id.
static int SIMPLE_RETURN
          RegularExpression Id.
static int START_TAG
          RegularExpression Id.
static int STOP
          RegularExpression Id.
static int STRING_LITERAL
          RegularExpression Id.
static int SWITCH
          RegularExpression Id.
static int TERMINATING_EXCLAM
          RegularExpression Id.
static int TERMINATING_WHITESPACE
          RegularExpression Id.
static int TERSE_COMMENT
          RegularExpression Id.
static int TERSE_COMMENT_END
          RegularExpression Id.
static int TIMES
          RegularExpression Id.
 freemarker.core.Token token
          Current token.
 freemarker.core.FMParserTokenManager token_source
          Generated Token Manager.
static String[] tokenImage
          Literal token values.
static int TRANSFORM
          RegularExpression Id.
static int TRIM
          RegularExpression Id.
static int TRIVIAL_FTL_HEADER
          RegularExpression Id.
static int TRUE
          RegularExpression Id.
static int UNIFIED_CALL
          RegularExpression Id.
static int UNIFIED_CALL_END
          RegularExpression Id.
static int UNKNOWN_DIRECTIVE
          RegularExpression Id.
static int USING
          RegularExpression Id.
static int VISIT
          RegularExpression Id.
static int WHITESPACE
          RegularExpression Id.
 
Constructor Summary
FMParser(freemarker.core.FMParserTokenManager tm)
          Constructor with generated Token Manager.
FMParser(InputStream stream)
          Constructor with InputStream.
FMParser(InputStream stream, String encoding)
          Constructor with InputStream and supplied encoding
FMParser(Reader stream)
          Constructor.
FMParser(String template)
           
FMParser(Template template, Reader reader, boolean strictEscapeSyntax, boolean stripWhitespace)
          Constructs a new parser object.
FMParser(Template template, Reader reader, boolean strictEscapeSyntax, boolean stripWhitespace, int tagSyntax)
           
FMParser(Template template, Reader reader, boolean strictEscapeSyntax, boolean stripWhitespace, int tagSyntax, int incompatibleChanges)
           
 
Method Summary
 Expression AdditiveExpression()
           
 Expression AddSubExpression(Expression exp)
          Production that builds up an expression using the dot or dynamic key name or the args list if this is a method invocation.
 Expression AndExpression()
           
 TemplateElement Assign()
           
 freemarker.core.AttemptBlock Attempt()
           
 Expression BooleanLiteral()
           
 freemarker.core.BreakInstruction Break()
          Production used to break out of a loop or a switch block.
 Expression BuiltIn(Expression exp)
           
 freemarker.core.BuiltinVariable BuiltinVariable()
           
 TemplateElement Call()
           
 freemarker.core.Case Case()
           
 Comment Comment()
           
 freemarker.core.CompressedBlock Compress()
           
 TemplateElement Content()
           
static FMParser createExpressionParser(String s)
          Create an FM expression parser using a string.
 Expression DefaultTo(Expression exp)
           
 void disable_tracing()
          Disable tracing.
 Expression DotVariable(Expression exp)
          production for when a key is specified by + keyname
 Expression DynamicKey(Expression exp)
          production for when the key is specified in brackets.
 void enable_tracing()
          Enable tracing.
 Expression EqualityExpression()
           
 freemarker.core.EscapeBlock Escape()
           
 Expression Exists(Expression exp)
           
 Expression Expression()
          This is the same as OrExpression, since the OR is the operator with the lowest precedence.
 freemarker.core.FallbackInstruction FallBack()
           
 TemplateElement Flush()
           
 freemarker.core.IteratorBlock ForEach()
           
 TemplateElement FreemarkerDirective()
          A production for FreeMarker directives.
 TemplateElement FreeMarkerText()
          A production freemarker text that may contain ${...} and #{...} but no directives.
 ParseException generateParseException()
          Generate ParseException.
 freemarker.core.Token getNextToken()
          Get the next Token.
 freemarker.core.Token getToken(int index)
          Get the specific Token.
 freemarker.core.HashLiteral HashLiteral()
           
 void HeaderElement()
           
 freemarker.core.Identifier Identifier()
           
 Expression IdentifierOrStringLiteral()
           
 TemplateElement If()
           
 LibraryLoad Import()
           
 freemarker.core.Include Include()
           
 freemarker.core.IteratorBlock List()
           
 freemarker.core.ListLiteral ListLiteral()
           
 freemarker.core.Token LooseDirectiveEnd()
          Production to terminate potentially empty elements.
 Macro Macro()
           
 freemarker.core.MethodCall MethodArgs(Expression exp)
          production for an arglist part of a method invocation.
 Expression MultiplicativeExpression()
          A unary expression followed by zero or more unary expressions with operators in between.
 HashMap NamedArgs()
           
 TemplateElement Nested()
           
 freemarker.core.NoEscapeBlock NoEscape()
           
 TextBlock NoParse()
           
 Expression NotExpression()
           
 Expression NumberLiteral()
           
 freemarker.core.NumericalOutput NumericalOutput()
           
 TemplateElement OptionalBlock()
          A production for a block of optional content.
 Expression OrExpression()
           
 Map ParamList()
           
 Expression Parenthesis()
           
 TextBlock PCData()
          Production for a block of raw text i.e.
 ArrayList PositionalArgs()
           
 Expression PrimaryExpression()
          Lowest level expression, a literal, a variable, or a possibly more complex expression bounded by parentheses.
 Expression RangeExpression()
           
 freemarker.core.RecoveryBlock Recover()
           
 freemarker.core.RecurseNode Recurse()
           
 void ReInit(freemarker.core.FMParserTokenManager tm)
          Reinitialise.
 void ReInit(InputStream stream)
          Reinitialise.
 void ReInit(InputStream stream, String encoding)
          Reinitialise.
 void ReInit(Reader stream)
          Reinitialise.
 Expression RelationalExpression()
           
 ReturnInstruction Return()
          Production used to jump out of a macro.
 TemplateElement Root()
          Root production to be used when parsing an entire file.
 freemarker.core.PropertySetting Setting()
           
 freemarker.core.StopInstruction Stop()
           
 freemarker.core.StringLiteral StringLiteral(boolean interpolate)
           
 freemarker.core.DollarVariable StringOutput()
          A production representing the ${...} that outputs a variable.
 freemarker.core.SwitchBlock Switch()
           
 freemarker.core.TransformBlock Transform()
           
 TemplateElement Trim()
           
 Expression UnaryExpression()
          A primary expression preceded by zero or more unary operators.
 Expression UnaryPlusMinusExpression()
           
 TemplateElement UnifiedMacroTransform()
           
 freemarker.core.Token UnparsedContent(StringBuffer buf)
          Production for dealing with unparsed content, i.e.
 freemarker.core.VisitNode Visit()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

token_source

public freemarker.core.FMParserTokenManager token_source
Generated Token Manager.


token

public freemarker.core.Token token
Current token.


jj_nt

public freemarker.core.Token jj_nt
Next token.


EOF

public static final int EOF
End of File.

See Also:
Constant Field Values

BLANK

public static final int BLANK
RegularExpression Id.

See Also:
Constant Field Values

START_TAG

public static final int START_TAG
RegularExpression Id.

See Also:
Constant Field Values

END_TAG

public static final int END_TAG
RegularExpression Id.

See Also:
Constant Field Values

CLOSE_TAG1

public static final int CLOSE_TAG1
RegularExpression Id.

See Also:
Constant Field Values

CLOSE_TAG2

public static final int CLOSE_TAG2
RegularExpression Id.

See Also:
Constant Field Values

ATTEMPT

public static final int ATTEMPT
RegularExpression Id.

See Also:
Constant Field Values

RECOVER

public static final int RECOVER
RegularExpression Id.

See Also:
Constant Field Values

IF

public static final int IF
RegularExpression Id.

See Also:
Constant Field Values

ELSE_IF

public static final int ELSE_IF
RegularExpression Id.

See Also:
Constant Field Values

LIST

public static final int LIST
RegularExpression Id.

See Also:
Constant Field Values

FOREACH

public static final int FOREACH
RegularExpression Id.

See Also:
Constant Field Values

SWITCH

public static final int SWITCH
RegularExpression Id.

See Also:
Constant Field Values

CASE

public static final int CASE
RegularExpression Id.

See Also:
Constant Field Values

ASSIGN

public static final int ASSIGN
RegularExpression Id.

See Also:
Constant Field Values

GLOBALASSIGN

public static final int GLOBALASSIGN
RegularExpression Id.

See Also:
Constant Field Values

LOCALASSIGN

public static final int LOCALASSIGN
RegularExpression Id.

See Also:
Constant Field Values

_INCLUDE

public static final int _INCLUDE
RegularExpression Id.

See Also:
Constant Field Values

IMPORT

public static final int IMPORT
RegularExpression Id.

See Also:
Constant Field Values

FUNCTION

public static final int FUNCTION
RegularExpression Id.

See Also:
Constant Field Values

MACRO

public static final int MACRO
RegularExpression Id.

See Also:
Constant Field Values

TRANSFORM

public static final int TRANSFORM
RegularExpression Id.

See Also:
Constant Field Values

VISIT

public static final int VISIT
RegularExpression Id.

See Also:
Constant Field Values

STOP

public static final int STOP
RegularExpression Id.

See Also:
Constant Field Values

RETURN

public static final int RETURN
RegularExpression Id.

See Also:
Constant Field Values

CALL

public static final int CALL
RegularExpression Id.

See Also:
Constant Field Values

SETTING

public static final int SETTING
RegularExpression Id.

See Also:
Constant Field Values

COMPRESS

public static final int COMPRESS
RegularExpression Id.

See Also:
Constant Field Values

COMMENT

public static final int COMMENT
RegularExpression Id.

See Also:
Constant Field Values

TERSE_COMMENT

public static final int TERSE_COMMENT
RegularExpression Id.

See Also:
Constant Field Values

NOPARSE

public static final int NOPARSE
RegularExpression Id.

See Also:
Constant Field Values

END_IF

public static final int END_IF
RegularExpression Id.

See Also:
Constant Field Values

END_LIST

public static final int END_LIST
RegularExpression Id.

See Also:
Constant Field Values

END_RECOVER

public static final int END_RECOVER
RegularExpression Id.

See Also:
Constant Field Values

END_ATTEMPT

public static final int END_ATTEMPT
RegularExpression Id.

See Also:
Constant Field Values

END_FOREACH

public static final int END_FOREACH
RegularExpression Id.

See Also:
Constant Field Values

END_LOCAL

public static final int END_LOCAL
RegularExpression Id.

See Also:
Constant Field Values

END_GLOBAL

public static final int END_GLOBAL
RegularExpression Id.

See Also:
Constant Field Values

END_ASSIGN

public static final int END_ASSIGN
RegularExpression Id.

See Also:
Constant Field Values

END_FUNCTION

public static final int END_FUNCTION
RegularExpression Id.

See Also:
Constant Field Values

END_MACRO

public static final int END_MACRO
RegularExpression Id.

See Also:
Constant Field Values

END_COMPRESS

public static final int END_COMPRESS
RegularExpression Id.

See Also:
Constant Field Values

END_TRANSFORM

public static final int END_TRANSFORM
RegularExpression Id.

See Also:
Constant Field Values

END_SWITCH

public static final int END_SWITCH
RegularExpression Id.

See Also:
Constant Field Values

ELSE

public static final int ELSE
RegularExpression Id.

See Also:
Constant Field Values

BREAK

public static final int BREAK
RegularExpression Id.

See Also:
Constant Field Values

SIMPLE_RETURN

public static final int SIMPLE_RETURN
RegularExpression Id.

See Also:
Constant Field Values

HALT

public static final int HALT
RegularExpression Id.

See Also:
Constant Field Values

FLUSH

public static final int FLUSH
RegularExpression Id.

See Also:
Constant Field Values

TRIM

public static final int TRIM
RegularExpression Id.

See Also:
Constant Field Values

LTRIM

public static final int LTRIM
RegularExpression Id.

See Also:
Constant Field Values

RTRIM

public static final int RTRIM
RegularExpression Id.

See Also:
Constant Field Values

NOTRIM

public static final int NOTRIM
RegularExpression Id.

See Also:
Constant Field Values

DEFAUL

public static final int DEFAUL
RegularExpression Id.

See Also:
Constant Field Values

SIMPLE_NESTED

public static final int SIMPLE_NESTED
RegularExpression Id.

See Also:
Constant Field Values

NESTED

public static final int NESTED
RegularExpression Id.

See Also:
Constant Field Values

SIMPLE_RECURSE

public static final int SIMPLE_RECURSE
RegularExpression Id.

See Also:
Constant Field Values

RECURSE

public static final int RECURSE
RegularExpression Id.

See Also:
Constant Field Values

FALLBACK

public static final int FALLBACK
RegularExpression Id.

See Also:
Constant Field Values

ESCAPE

public static final int ESCAPE
RegularExpression Id.

See Also:
Constant Field Values

END_ESCAPE

public static final int END_ESCAPE
RegularExpression Id.

See Also:
Constant Field Values

NOESCAPE

public static final int NOESCAPE
RegularExpression Id.

See Also:
Constant Field Values

END_NOESCAPE

public static final int END_NOESCAPE
RegularExpression Id.

See Also:
Constant Field Values

UNIFIED_CALL

public static final int UNIFIED_CALL
RegularExpression Id.

See Also:
Constant Field Values

UNIFIED_CALL_END

public static final int UNIFIED_CALL_END
RegularExpression Id.

See Also:
Constant Field Values

FTL_HEADER

public static final int FTL_HEADER
RegularExpression Id.

See Also:
Constant Field Values

TRIVIAL_FTL_HEADER

public static final int TRIVIAL_FTL_HEADER
RegularExpression Id.

See Also:
Constant Field Values

UNKNOWN_DIRECTIVE

public static final int UNKNOWN_DIRECTIVE
RegularExpression Id.

See Also:
Constant Field Values

WHITESPACE

public static final int WHITESPACE
RegularExpression Id.

See Also:
Constant Field Values

PRINTABLE_CHARS

public static final int PRINTABLE_CHARS
RegularExpression Id.

See Also:
Constant Field Values

FALSE_ALERT

public static final int FALSE_ALERT
RegularExpression Id.

See Also:
Constant Field Values

OUTPUT_ESCAPE

public static final int OUTPUT_ESCAPE
RegularExpression Id.

See Also:
Constant Field Values

NUMERICAL_ESCAPE

public static final int NUMERICAL_ESCAPE
RegularExpression Id.

See Also:
Constant Field Values

ESCAPED_CHAR

public static final int ESCAPED_CHAR
RegularExpression Id.

See Also:
Constant Field Values

STRING_LITERAL

public static final int STRING_LITERAL
RegularExpression Id.

See Also:
Constant Field Values

RAW_STRING

public static final int RAW_STRING
RegularExpression Id.

See Also:
Constant Field Values

FALSE

public static final int FALSE
RegularExpression Id.

See Also:
Constant Field Values

TRUE

public static final int TRUE
RegularExpression Id.

See Also:
Constant Field Values

INTEGER

public static final int INTEGER
RegularExpression Id.

See Also:
Constant Field Values

DECIMAL

public static final int DECIMAL
RegularExpression Id.

See Also:
Constant Field Values

DOT

public static final int DOT
RegularExpression Id.

See Also:
Constant Field Values

DOT_DOT

public static final int DOT_DOT
RegularExpression Id.

See Also:
Constant Field Values

BUILT_IN

public static final int BUILT_IN
RegularExpression Id.

See Also:
Constant Field Values

EXISTS

public static final int EXISTS
RegularExpression Id.

See Also:
Constant Field Values

EQUALS

public static final int EQUALS
RegularExpression Id.

See Also:
Constant Field Values

DOUBLE_EQUALS

public static final int DOUBLE_EQUALS
RegularExpression Id.

See Also:
Constant Field Values

NOT_EQUALS

public static final int NOT_EQUALS
RegularExpression Id.

See Also:
Constant Field Values

LESS_THAN

public static final int LESS_THAN
RegularExpression Id.

See Also:
Constant Field Values

LESS_THAN_EQUALS

public static final int LESS_THAN_EQUALS
RegularExpression Id.

See Also:
Constant Field Values

ESCAPED_GT

public static final int ESCAPED_GT
RegularExpression Id.

See Also:
Constant Field Values

ESCAPED_GTE

public static final int ESCAPED_GTE
RegularExpression Id.

See Also:
Constant Field Values

PLUS

public static final int PLUS
RegularExpression Id.

See Also:
Constant Field Values

MINUS

public static final int MINUS
RegularExpression Id.

See Also:
Constant Field Values

TIMES

public static final int TIMES
RegularExpression Id.

See Also:
Constant Field Values

DOUBLE_STAR

public static final int DOUBLE_STAR
RegularExpression Id.

See Also:
Constant Field Values

ELLIPSIS

public static final int ELLIPSIS
RegularExpression Id.

See Also:
Constant Field Values

DIVIDE

public static final int DIVIDE
RegularExpression Id.

See Also:
Constant Field Values

PERCENT

public static final int PERCENT
RegularExpression Id.

See Also:
Constant Field Values

AND

public static final int AND
RegularExpression Id.

See Also:
Constant Field Values

OR

public static final int OR
RegularExpression Id.

See Also:
Constant Field Values

EXCLAM

public static final int EXCLAM
RegularExpression Id.

See Also:
Constant Field Values

COMMA

public static final int COMMA
RegularExpression Id.

See Also:
Constant Field Values

SEMICOLON

public static final int SEMICOLON
RegularExpression Id.

See Also:
Constant Field Values

COLON

public static final int COLON
RegularExpression Id.

See Also:
Constant Field Values

OPEN_BRACKET

public static final int OPEN_BRACKET
RegularExpression Id.

See Also:
Constant Field Values

CLOSE_BRACKET

public static final int CLOSE_BRACKET
RegularExpression Id.

See Also:
Constant Field Values

OPEN_PAREN

public static final int OPEN_PAREN
RegularExpression Id.

See Also:
Constant Field Values

CLOSE_PAREN

public static final int CLOSE_PAREN
RegularExpression Id.

See Also:
Constant Field Values

OPEN_BRACE

public static final int OPEN_BRACE
RegularExpression Id.

See Also:
Constant Field Values

CLOSE_BRACE

public static final int CLOSE_BRACE
RegularExpression Id.

See Also:
Constant Field Values

IN

public static final int IN
RegularExpression Id.

See Also:
Constant Field Values

AS

public static final int AS
RegularExpression Id.

See Also:
Constant Field Values

USING

public static final int USING
RegularExpression Id.

See Also:
Constant Field Values

ID

public static final int ID
RegularExpression Id.

See Also:
Constant Field Values

LETTER

public static final int LETTER
RegularExpression Id.

See Also:
Constant Field Values

DIGIT

public static final int DIGIT
RegularExpression Id.

See Also:
Constant Field Values

DIRECTIVE_END

public static final int DIRECTIVE_END
RegularExpression Id.

See Also:
Constant Field Values

EMPTY_DIRECTIVE_END

public static final int EMPTY_DIRECTIVE_END
RegularExpression Id.

See Also:
Constant Field Values

NATURAL_GT

public static final int NATURAL_GT
RegularExpression Id.

See Also:
Constant Field Values

NATURAL_GTE

public static final int NATURAL_GTE
RegularExpression Id.

See Also:
Constant Field Values

TERMINATING_WHITESPACE

public static final int TERMINATING_WHITESPACE
RegularExpression Id.

See Also:
Constant Field Values

TERMINATING_EXCLAM

public static final int TERMINATING_EXCLAM
RegularExpression Id.

See Also:
Constant Field Values

TERSE_COMMENT_END

public static final int TERSE_COMMENT_END
RegularExpression Id.

See Also:
Constant Field Values

MAYBE_END

public static final int MAYBE_END
RegularExpression Id.

See Also:
Constant Field Values

KEEP_GOING

public static final int KEEP_GOING
RegularExpression Id.

See Also:
Constant Field Values

LONE_LESS_THAN_OR_DASH

public static final int LONE_LESS_THAN_OR_DASH
RegularExpression Id.

See Also:
Constant Field Values

DEFAULT

public static final int DEFAULT
Lexical state.

See Also:
Constant Field Values

NODIRECTIVE

public static final int NODIRECTIVE
Lexical state.

See Also:
Constant Field Values

FM_EXPRESSION

public static final int FM_EXPRESSION
Lexical state.

See Also:
Constant Field Values

IN_PAREN

public static final int IN_PAREN
Lexical state.

See Also:
Constant Field Values

NAMED_PARAMETER_EXPRESSION

public static final int NAMED_PARAMETER_EXPRESSION
Lexical state.

See Also:
Constant Field Values

EXPRESSION_COMMENT

public static final int EXPRESSION_COMMENT
Lexical state.

See Also:
Constant Field Values

NO_SPACE_EXPRESSION

public static final int NO_SPACE_EXPRESSION
Lexical state.

See Also:
Constant Field Values

NO_PARSE

public static final int NO_PARSE
Lexical state.

See Also:
Constant Field Values

tokenImage

public static final String[] tokenImage
Literal token values.

Constructor Detail

FMParser

public FMParser(Template template,
                Reader reader,
                boolean strictEscapeSyntax,
                boolean stripWhitespace)
Constructs a new parser object.

Parameters:
template - The template associated with this parser.
reader - The character stream to use as input
strictEscapeSyntax - Whether FreeMarker directives must start with a #

FMParser

public FMParser(Template template,
                Reader reader,
                boolean strictEscapeSyntax,
                boolean stripWhitespace,
                int tagSyntax)

FMParser

public FMParser(Template template,
                Reader reader,
                boolean strictEscapeSyntax,
                boolean stripWhitespace,
                int tagSyntax,
                int incompatibleChanges)

FMParser

public FMParser(String template)

FMParser

public FMParser(InputStream stream)
Constructor with InputStream.


FMParser

public FMParser(InputStream stream,
                String encoding)
Constructor with InputStream and supplied encoding


FMParser

public FMParser(Reader stream)
Constructor.


FMParser

public FMParser(freemarker.core.FMParserTokenManager tm)
Constructor with generated Token Manager.

Method Detail

createExpressionParser

public static FMParser createExpressionParser(String s)
Create an FM expression parser using a string.


Expression

public final Expression Expression()
                            throws ParseException
This is the same as OrExpression, since the OR is the operator with the lowest precedence.

Throws:
ParseException

PrimaryExpression

public final Expression PrimaryExpression()
                                   throws ParseException
Lowest level expression, a literal, a variable, or a possibly more complex expression bounded by parentheses.

Throws:
ParseException

Parenthesis

public final Expression Parenthesis()
                             throws ParseException
Throws:
ParseException

UnaryExpression

public final Expression UnaryExpression()
                                 throws ParseException
A primary expression preceded by zero or more unary operators. (The only unary operator we currently have is the NOT.)

Throws:
ParseException

NotExpression

public final Expression NotExpression()
                               throws ParseException
Throws:
ParseException

UnaryPlusMinusExpression

public final Expression UnaryPlusMinusExpression()
                                          throws ParseException
Throws:
ParseException

AdditiveExpression

public final Expression AdditiveExpression()
                                    throws ParseException
Throws:
ParseException

MultiplicativeExpression

public final Expression MultiplicativeExpression()
                                          throws ParseException
A unary expression followed by zero or more unary expressions with operators in between.

Throws:
ParseException

EqualityExpression

public final Expression EqualityExpression()
                                    throws ParseException
Throws:
ParseException

RelationalExpression

public final Expression RelationalExpression()
                                      throws ParseException
Throws:
ParseException

RangeExpression

public final Expression RangeExpression()
                                 throws ParseException
Throws:
ParseException

AndExpression

public final Expression AndExpression()
                               throws ParseException
Throws:
ParseException

OrExpression

public final Expression OrExpression()
                              throws ParseException
Throws:
ParseException

ListLiteral

public final freemarker.core.ListLiteral ListLiteral()
                                              throws ParseException
Throws:
ParseException

NumberLiteral

public final Expression NumberLiteral()
                               throws ParseException
Throws:
ParseException

Identifier

public final freemarker.core.Identifier Identifier()
                                            throws ParseException
Throws:
ParseException

IdentifierOrStringLiteral

public final Expression IdentifierOrStringLiteral()
                                           throws ParseException
Throws:
ParseException

BuiltinVariable

public final freemarker.core.BuiltinVariable BuiltinVariable()
                                                      throws ParseException
Throws:
ParseException

AddSubExpression

public final Expression AddSubExpression(Expression exp)
                                  throws ParseException
Production that builds up an expression using the dot or dynamic key name or the args list if this is a method invocation.

Throws:
ParseException

DefaultTo

public final Expression DefaultTo(Expression exp)
                           throws ParseException
Throws:
ParseException

Exists

public final Expression Exists(Expression exp)
                        throws ParseException
Throws:
ParseException

BuiltIn

public final Expression BuiltIn(Expression exp)
                         throws ParseException
Throws:
ParseException

DotVariable

public final Expression DotVariable(Expression exp)
                             throws ParseException
production for when a key is specified by + keyname

Throws:
ParseException

DynamicKey

public final Expression DynamicKey(Expression exp)
                            throws ParseException
production for when the key is specified in brackets.

Throws:
ParseException

MethodArgs

public final freemarker.core.MethodCall MethodArgs(Expression exp)
                                            throws ParseException
production for an arglist part of a method invocation.

Throws:
ParseException

StringLiteral

public final freemarker.core.StringLiteral StringLiteral(boolean interpolate)
                                                  throws ParseException
Throws:
ParseException

BooleanLiteral

public final Expression BooleanLiteral()
                                throws ParseException
Throws:
ParseException

HashLiteral

public final freemarker.core.HashLiteral HashLiteral()
                                              throws ParseException
Throws:
ParseException

StringOutput

public final freemarker.core.DollarVariable StringOutput()
                                                  throws ParseException
A production representing the ${...} that outputs a variable.

Throws:
ParseException

NumericalOutput

public final freemarker.core.NumericalOutput NumericalOutput()
                                                      throws ParseException
Throws:
ParseException

If

public final TemplateElement If()
                         throws ParseException
Throws:
ParseException

Attempt

public final freemarker.core.AttemptBlock Attempt()
                                           throws ParseException
Throws:
ParseException

Recover

public final freemarker.core.RecoveryBlock Recover()
                                            throws ParseException
Throws:
ParseException

List

public final freemarker.core.IteratorBlock List()
                                         throws ParseException
Throws:
ParseException

ForEach

public final freemarker.core.IteratorBlock ForEach()
                                            throws ParseException
Throws:
ParseException

Visit

public final freemarker.core.VisitNode Visit()
                                      throws ParseException
Throws:
ParseException

Recurse

public final freemarker.core.RecurseNode Recurse()
                                          throws ParseException
Throws:
ParseException

FallBack

public final freemarker.core.FallbackInstruction FallBack()
                                                   throws ParseException
Throws:
ParseException

Break

public final freemarker.core.BreakInstruction Break()
                                             throws ParseException
Production used to break out of a loop or a switch block.

Throws:
ParseException

Return

public final ReturnInstruction Return()
                               throws ParseException
Production used to jump out of a macro. The stop instruction terminates the rendering of the template.

Throws:
ParseException

Stop

public final freemarker.core.StopInstruction Stop()
                                           throws ParseException
Throws:
ParseException

Nested

public final TemplateElement Nested()
                             throws ParseException
Throws:
ParseException

Flush

public final TemplateElement Flush()
                            throws ParseException
Throws:
ParseException

Trim

public final TemplateElement Trim()
                           throws ParseException
Throws:
ParseException

Assign

public final TemplateElement Assign()
                             throws ParseException
Throws:
ParseException

Include

public final freemarker.core.Include Include()
                                      throws ParseException
Throws:
ParseException

Import

public final LibraryLoad Import()
                         throws ParseException
Throws:
ParseException

Macro

public final Macro Macro()
                  throws ParseException
Throws:
ParseException

Compress

public final freemarker.core.CompressedBlock Compress()
                                               throws ParseException
Throws:
ParseException

UnifiedMacroTransform

public final TemplateElement UnifiedMacroTransform()
                                            throws ParseException
Throws:
ParseException

Call

public final TemplateElement Call()
                           throws ParseException
Throws:
ParseException

NamedArgs

public final HashMap NamedArgs()
                        throws ParseException
Throws:
ParseException

PositionalArgs

public final ArrayList PositionalArgs()
                               throws ParseException
Throws:
ParseException

Comment

public final Comment Comment()
                      throws ParseException
Throws:
ParseException

NoParse

public final TextBlock NoParse()
                        throws ParseException
Throws:
ParseException

Transform

public final freemarker.core.TransformBlock Transform()
                                               throws ParseException
Throws:
ParseException

Switch

public final freemarker.core.SwitchBlock Switch()
                                         throws ParseException
Throws:
ParseException

Case

public final freemarker.core.Case Case()
                                throws ParseException
Throws:
ParseException

Escape

public final freemarker.core.EscapeBlock Escape()
                                         throws ParseException
Throws:
ParseException

NoEscape

public final freemarker.core.NoEscapeBlock NoEscape()
                                             throws ParseException
Throws:
ParseException

LooseDirectiveEnd

public final freemarker.core.Token LooseDirectiveEnd()
                                              throws ParseException
Production to terminate potentially empty elements. Either a ">" or "/>"

Throws:
ParseException

Setting

public final freemarker.core.PropertySetting Setting()
                                              throws ParseException
Throws:
ParseException

FreemarkerDirective

public final TemplateElement FreemarkerDirective()
                                          throws ParseException
A production for FreeMarker directives.

Throws:
ParseException

PCData

public final TextBlock PCData()
                       throws ParseException
Production for a block of raw text i.e. text that contains no FreeMarker directives.

Throws:
ParseException

UnparsedContent

public final freemarker.core.Token UnparsedContent(StringBuffer buf)
                                            throws ParseException
Production for dealing with unparsed content, i.e. what is inside a comment or noparse tag. It returns the ending token. The content of the tag is put in buf.

Throws:
ParseException

Content

public final TemplateElement Content()
                              throws ParseException
Throws:
ParseException

FreeMarkerText

public final TemplateElement FreeMarkerText()
                                     throws ParseException
A production freemarker text that may contain ${...} and #{...} but no directives.

Throws:
ParseException

OptionalBlock

public final TemplateElement OptionalBlock()
                                    throws ParseException
A production for a block of optional content. Returns an empty Text block if there is no content.

Throws:
ParseException

HeaderElement

public final void HeaderElement()
                         throws ParseException
Throws:
ParseException

ParamList

public final Map ParamList()
                    throws ParseException
Throws:
ParseException

Root

public final TemplateElement Root()
                           throws ParseException
Root production to be used when parsing an entire file.

Throws:
ParseException

ReInit

public void ReInit(InputStream stream)
Reinitialise.


ReInit

public void ReInit(InputStream stream,
                   String encoding)
Reinitialise.


ReInit

public void ReInit(Reader stream)
Reinitialise.


ReInit

public void ReInit(freemarker.core.FMParserTokenManager tm)
Reinitialise.


getNextToken

public final freemarker.core.Token getNextToken()
Get the next Token.


getToken

public final freemarker.core.Token getToken(int index)
Get the specific Token.


generateParseException

public ParseException generateParseException()
Generate ParseException.


enable_tracing

public final void enable_tracing()
Enable tracing.


disable_tracing

public final void disable_tracing()
Disable tracing.