Package io.pebbletemplates.pebble.parser
Class ParserImpl
- java.lang.Object
-
- io.pebbletemplates.pebble.parser.ParserImpl
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,BinaryOperator>
binaryOperators
Binary operatorsprivate java.util.LinkedList<java.lang.String>
blockStack
used to keep track of the name of the block that we are currently inside of.private ExpressionParser
expressionParser
An expression parser.private ParserOptions
parserOptions
parser optionsprivate TokenStream
stream
The TokenStream that we are converting into an Abstract Syntax Tree.private java.util.Map<java.lang.String,TokenParser>
tokenParsers
Token parsersprivate java.util.Map<java.lang.String,UnaryOperator>
unaryOperators
Unary operators
-
Constructor Summary
Constructors Constructor Description ParserImpl(java.util.Map<java.lang.String,UnaryOperator> unaryOperators, java.util.Map<java.lang.String,BinaryOperator> binaryOperators, java.util.Map<java.lang.String,TokenParser> tokenParsers, ParserOptions parserOptions)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExpressionParser
getExpressionParser()
TokenStream
getStream()
Provides the stream of tokens which ultimately need to be "parsed" into Nodes.RootNode
parse(TokenStream stream)
java.lang.String
peekBlockStack()
java.lang.String
popBlockStack()
void
pushBlockStack(java.lang.String blockName)
void
setStream(TokenStream stream)
BodyNode
subparse()
BodyNode
subparse(StoppingCondition stopCondition)
Parses the existing TokenStream, starting at the current Token, and ending when the stopCondition is fullfilled.
-
-
-
Field Detail
-
binaryOperators
private final java.util.Map<java.lang.String,BinaryOperator> binaryOperators
Binary operators
-
unaryOperators
private final java.util.Map<java.lang.String,UnaryOperator> unaryOperators
Unary operators
-
tokenParsers
private final java.util.Map<java.lang.String,TokenParser> tokenParsers
Token parsers
-
expressionParser
private ExpressionParser expressionParser
An expression parser.
-
stream
private TokenStream stream
The TokenStream that we are converting into an Abstract Syntax Tree.
-
blockStack
private java.util.LinkedList<java.lang.String> blockStack
used to keep track of the name of the block that we are currently inside of. This is purely just for the parent() function.
-
parserOptions
private ParserOptions parserOptions
parser options
-
-
Constructor Detail
-
ParserImpl
public ParserImpl(java.util.Map<java.lang.String,UnaryOperator> unaryOperators, java.util.Map<java.lang.String,BinaryOperator> binaryOperators, java.util.Map<java.lang.String,TokenParser> tokenParsers, ParserOptions parserOptions)
Constructor- Parameters:
binaryOperators
- A map of binary operatorsunaryOperators
- A map of unary operatorstokenParsers
- A map of token parsers
-
-
Method Detail
-
parse
public RootNode parse(TokenStream stream)
-
subparse
public BodyNode subparse(StoppingCondition stopCondition)
Description copied from interface:Parser
Parses the existing TokenStream, starting at the current Token, and ending when the stopCondition is fullfilled.
-
getStream
public TokenStream getStream()
Description copied from interface:Parser
Provides the stream of tokens which ultimately need to be "parsed" into Nodes.
-
setStream
public void setStream(TokenStream stream)
-
getExpressionParser
public ExpressionParser getExpressionParser()
- Specified by:
getExpressionParser
in interfaceParser
-
peekBlockStack
public java.lang.String peekBlockStack()
- Specified by:
peekBlockStack
in interfaceParser
-
popBlockStack
public java.lang.String popBlockStack()
- Specified by:
popBlockStack
in interfaceParser
-
pushBlockStack
public void pushBlockStack(java.lang.String blockName)
- Specified by:
pushBlockStack
in interfaceParser
-
-