|
Grantlee 5.3.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={}) |
| NodeList | parse (Node *parent, const QString &stopAt) |
| NodeList | parse (Node *parent, const QStringList &stopAt={}) |
| NodeList | parse (TemplateImpl *parent, const QStringList &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.
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.
This is an overloaded method.
| NodeList Grantlee::Parser::parse | ( | Node * | parent, |
| const QStringList & | stopAt = {} ) |
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 = {} ) |
This is an overloaded method.
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.
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.