Grantlee
5.1.0
|
The Parser class processes a string template into a tree of nodes. More...
#include <grantlee/parser.h>
Public Member Functions | |
Parser (const QList< Token > &tokenList, QObject *parent) | |
~Parser () override | |
QSharedPointer< Filter > | getFilter (const QString &name) const |
bool | hasNextToken () const |
void | invalidBlockTag (const Token &token, const QString &command, const QStringList &stopAt=QStringList()) |
NodeList | parse (Node *parent, const QStringList &stopAt=QStringList()) |
NodeList | parse (TemplateImpl *parent, const QStringList &stopAt=QStringList()) |
NodeList | parse (Node *parent, const QString &stopAt) |
void | removeNextToken () |
void | skipPast (const QString &tag) |
Token | takeNextToken () |
Protected Member Functions | |
void | prependToken (const Token &token) |
For application developers, this class is internal.
For template tag authors it may be necessary to advance the parser and process contained tags if the tag works in a tag – endtag fashion.
Grantlee::Parser::Parser | ( | const QList< Token > & | tokenList, |
QObject * | parent | ||
) |
Constructor.
Initialises the Parser with the tokenList
.
|
override |
Destructor.
QSharedPointer<Filter> Grantlee::Parser::getFilter | ( | const QString & | name | ) | const |
Returns the filter object called name
or an invalid object if no filter with that name is loaded.
bool Grantlee::Parser::hasNextToken | ( | ) | const |
Returns whether the parser has another token to process.
Advance the parser, using parent
as the parent of new Nodes. The parser will stop if it encounters a tag which is contained in the list stopAt
.
For example, the {% if %}
tag would stopAt both {% endif %}
and {% else %}
tags.
NodeList Grantlee::Parser::parse | ( | TemplateImpl * | parent, |
const QStringList & | stopAt = QStringList() |
||
) |
This is an overloaded method.
This is an overloaded method.
|
protected |
Puts the token token
to the front of the list to be processed by the parser.
void Grantlee::Parser::removeNextToken | ( | ) |
Deletes the next token available to the parser.
void Grantlee::Parser::skipPast | ( | const QString & | tag | ) |
Advances the parser to the tag tag
. This method is similar to parse, but it does not create nodes for tags encountered.
Token Grantlee::Parser::takeNextToken | ( | ) |
Returns the next token to be processed by the parser. This can be examined in template tag implementations to determine why parsing stopped.
For example, if the {% if %}
tag, parsing may stop at an {% else %}
tag, in which case parsing should be restarted, or it could stop at an {% endif %}
tag, in which case parsing is finished for that node.