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>binaryOperatorsBinary operatorsprivate java.util.LinkedList<java.lang.String>blockStackused to keep track of the name of the block that we are currently inside of.private ExpressionParserexpressionParserAn expression parser.private ParserOptionsparserOptionsparser optionsprivate TokenStreamstreamThe TokenStream that we are converting into an Abstract Syntax Tree.private java.util.Map<java.lang.String,TokenParser>tokenParsersToken parsersprivate java.util.Map<java.lang.String,UnaryOperator>unaryOperatorsUnary 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 ExpressionParsergetExpressionParser()TokenStreamgetStream()Provides the stream of tokens which ultimately need to be "parsed" into Nodes.RootNodeparse(TokenStream stream)java.lang.StringpeekBlockStack()java.lang.StringpopBlockStack()voidpushBlockStack(java.lang.String blockName)voidsetStream(TokenStream stream)BodyNodesubparse()BodyNodesubparse(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:ParserParses the existing TokenStream, starting at the current Token, and ending when the stopCondition is fullfilled.
-
getStream
public TokenStream getStream()
Description copied from interface:ParserProvides the stream of tokens which ultimately need to be "parsed" into Nodes.
-
setStream
public void setStream(TokenStream stream)
-
getExpressionParser
public ExpressionParser getExpressionParser()
- Specified by:
getExpressionParserin interfaceParser
-
peekBlockStack
public java.lang.String peekBlockStack()
- Specified by:
peekBlockStackin interfaceParser
-
popBlockStack
public java.lang.String popBlockStack()
- Specified by:
popBlockStackin interfaceParser
-
pushBlockStack
public void pushBlockStack(java.lang.String blockName)
- Specified by:
pushBlockStackin interfaceParser
-
-