Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
Parser Struct Reference

#include <parser.h>

+ Inheritance diagram for Parser:
+ Collaboration diagram for Parser:

Classes

struct  IncludePath
 

Public Member Functions

bool hasNext () const
 
Token next ()
 
Token peek ()
 
bool test (Token)
 
void next (Token)
 
void next (Token, const char *msg)
 
void prev ()
 
Token lookup (int k=1)
 
const Symbolsymbol_lookup (int k=1)
 
Token token ()
 
QByteArray lexem ()
 
QByteArray unquotedLexem ()
 
const Symbolsymbol ()
 
const SymbolsymbolAt (qsizetype idx)
 
Q_NORETURN void error (const Symbol &symbol)
 
Q_NORETURN void error (const char *msg=nullptr)
 
Q_NORETURN void error (const Symbol &symbol, const char *msg)
 
void warning (const char *=nullptr)
 
void warning (const Symbol &sym, QByteArrayView msg)
 
void note (const char *=nullptr)
 
void defaultErrorMsg (const Symbol &sym)
 
void printMsg (QByteArrayView formatStringSuffix, QByteArrayView msg, const Symbol &sym)
 
 Parser (const QString &provider)
 
void addIncludeDirs (const QStringList &list)
 
QString resolveInclude (const QString &filename)
 
void addIncludesRecursive (const QString &filename, QStringList &includes)
 
QStringList findEnumValues (const QString &name, const QStringList &includes)
 
void parseParamReplace (const QString &data, qsizetype offset, const QString &name)
 
void parseInstrument (const QString &data, qsizetype offset)
 
void parsePoint (const QString &data, qsizetype offset)
 
void parsePrefix (const QString &data, qsizetype offset)
 
void parseMetadata (const QString &data, qsizetype offset, const QStringList &includes)
 
int lineNumber (qsizetype offset) const
 
void parse (QIODevice &input, const QString &name)
 
void write (QIODevice &input) const
 
bool isEmpty () const
 

Public Attributes

Symbols symbols
 
qsizetype index = 0
 
bool displayWarnings = true
 
bool displayNotes = true
 
bool activeQtMode = false
 
QList< IncludePathincludes
 
std::stack< QByteArray, QByteArrayListcurrentFilenames
 
QList< Functionm_functions
 
QList< Pointm_points
 
QList< Replacem_replaces
 
QList< QStringm_prefixes
 
QList< QStringm_metadata
 
QList< LineNumberm_offsets
 
QList< QStringm_includeDirs
 
QString m_provider
 

Detailed Description

Definition at line 14 of file parser.h.

Constructor & Destructor Documentation

◆ Parser()

Parser::Parser ( const QString & provider)
inline

Definition at line 39 of file parser.h.

References Parser().

Referenced by Parser().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Function Documentation

◆ addIncludeDirs()

void Parser::addIncludeDirs ( const QStringList & list)
inline

Definition at line 45 of file parser.h.

◆ addIncludesRecursive()

void Parser::addIncludesRecursive ( const QString & filename,
QStringList & includes )

Definition at line 491 of file parser.cpp.

References QT_FORWARD_DECLARE_CLASS().

+ Here is the call graph for this function:

◆ defaultErrorMsg()

void Parser::defaultErrorMsg ( const Symbol & sym)

Definition at line 46 of file parser.cpp.

◆ error() [1/3]

void Parser::error ( const char * msg = nullptr)

Definition at line 60 of file parser.cpp.

◆ error() [2/3]

void Parser::error ( const Symbol & symbol)

Definition at line 54 of file parser.cpp.

◆ error() [3/3]

void Parser::error ( const Symbol & symbol,
const char * msg )

Definition at line 72 of file parser.cpp.

◆ findEnumValues()

QStringList Parser::findEnumValues ( const QString & name,
const QStringList & includes )

Definition at line 237 of file parser.cpp.

◆ hasNext()

bool Parser::hasNext ( ) const
inline

Definition at line 34 of file parser.h.

◆ isEmpty()

bool Parser::isEmpty ( ) const
inline

Definition at line 62 of file parser.h.

Referenced by main().

+ Here is the caller graph for this function:

◆ lexem()

QByteArray Parser::lexem ( )
inline

Definition at line 44 of file parser.h.

◆ lineNumber()

int Parser::lineNumber ( qsizetype offset) const

Definition at line 131 of file parser.cpp.

◆ lookup()

Token Parser::lookup ( int k = 1)
inline

Definition at line 69 of file parser.h.

◆ next() [1/3]

Token Parser::next ( )
inline

Definition at line 35 of file parser.h.

◆ next() [2/3]

void Parser::next ( Token token)
inline

Definition at line 75 of file parser.h.

◆ next() [3/3]

void Parser::next ( Token token,
const char * msg )
inline

Definition at line 81 of file parser.h.

◆ note()

void Parser::note ( const char * msg = nullptr)

Definition at line 88 of file parser.cpp.

◆ parse()

void Parser::parse ( QIODevice & input,
const QString & name )

Definition at line 535 of file parser.cpp.

References QT_FORWARD_DECLARE_CLASS().

+ Here is the call graph for this function:

◆ parseInstrument()

void Parser::parseInstrument ( const QString & data,
qsizetype offset )

Definition at line 159 of file parser.cpp.

◆ parseMetadata()

void Parser::parseMetadata ( const QString & data,
qsizetype offset,
const QStringList & includes )

Definition at line 367 of file parser.cpp.

◆ parseParamReplace()

void Parser::parseParamReplace ( const QString & data,
qsizetype offset,
const QString & name )

Definition at line 142 of file parser.cpp.

◆ parsePoint()

void Parser::parsePoint ( const QString & data,
qsizetype offset )

Definition at line 192 of file parser.cpp.

◆ parsePrefix()

void Parser::parsePrefix ( const QString & data,
qsizetype offset )

Definition at line 219 of file parser.cpp.

◆ peek()

Token Parser::peek ( )
inline

Definition at line 36 of file parser.h.

◆ prev()

void Parser::prev ( )
inline

Definition at line 40 of file parser.h.

◆ printMsg()

void Parser::printMsg ( QByteArrayView formatStringSuffix,
QByteArrayView msg,
const Symbol & sym )

Base implementation for printing diagnostic messages.

For example: "/path/to/file:line:column: error: %s\n" 's' is replaced by msg. (Currently "column" is always 1).

If sym.lineNum is -1, the line and column parts aren't printed: "/path/to/file: error: %s\n"

formatStringSuffix specifies the type of the message e.g.: "error: %s\n" "warning: %s\n" "note: %s\n" "Parse error at %s\n" (from defaultErrorMsg())

Definition at line 29 of file parser.cpp.

References Symbol::lineNum.

◆ resolveInclude()

QString Parser::resolveInclude ( const QString & filename)

Definition at line 478 of file parser.cpp.

◆ symbol()

const Symbol & Parser::symbol ( )
inline

Definition at line 46 of file parser.h.

◆ symbol_lookup()

const Symbol & Parser::symbol_lookup ( int k = 1)
inline

Definition at line 42 of file parser.h.

◆ symbolAt()

const Symbol & Parser::symbolAt ( qsizetype idx)
inline

Definition at line 47 of file parser.h.

◆ test()

bool Parser::test ( Token token)
inline

Definition at line 60 of file parser.h.

◆ token()

Token Parser::token ( )
inline

Definition at line 43 of file parser.h.

◆ unquotedLexem()

QByteArray Parser::unquotedLexem ( )
inline

Definition at line 45 of file parser.h.

◆ warning() [1/2]

void Parser::warning ( const char * msg = nullptr)

Definition at line 84 of file parser.cpp.

◆ warning() [2/2]

void Parser::warning ( const Symbol & sym,
QByteArrayView msg )

Definition at line 78 of file parser.cpp.

◆ write()

void Parser::write ( QIODevice & input) const

Definition at line 591 of file parser.cpp.

References QT_FORWARD_DECLARE_CLASS().

+ Here is the call graph for this function:

Member Data Documentation

◆ activeQtMode

bool Parser::activeQtMode = false

Definition at line 21 of file parser.h.

◆ currentFilenames

std::stack<QByteArray, QByteArrayList> Parser::currentFilenames

Definition at line 32 of file parser.h.

◆ displayNotes

bool Parser::displayNotes = true

Definition at line 20 of file parser.h.

◆ displayWarnings

bool Parser::displayWarnings = true

Definition at line 19 of file parser.h.

◆ includes

QList<IncludePath> Parser::includes

Definition at line 30 of file parser.h.

◆ index

qsizetype Parser::index = 0

Definition at line 18 of file parser.h.

◆ m_functions

QList<Function> Parser::m_functions

Definition at line 67 of file parser.h.

◆ m_includeDirs

QList<QString> Parser::m_includeDirs

Definition at line 73 of file parser.h.

◆ m_metadata

QList<QString> Parser::m_metadata

Definition at line 71 of file parser.h.

◆ m_offsets

QList<LineNumber> Parser::m_offsets

Definition at line 72 of file parser.h.

◆ m_points

QList<Point> Parser::m_points

Definition at line 68 of file parser.h.

◆ m_prefixes

QList<QString> Parser::m_prefixes

Definition at line 70 of file parser.h.

◆ m_provider

QString Parser::m_provider

Definition at line 74 of file parser.h.

◆ m_replaces

QList<Replace> Parser::m_replaces

Definition at line 69 of file parser.h.

◆ symbols

Symbols Parser::symbols

Definition at line 17 of file parser.h.


The documentation for this struct was generated from the following files: