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
docparser.cpp File Reference

(8460b4ed43cd36fe29a34514189257b45cb6e5c8)

#include "docparser.h"
#include "codemarker.h"
#include "doc.h"
#include "docprivate.h"
#include "editdistance.h"
#include "macro.h"
#include "openedlist.h"
#include "tokenizer.h"
#include <QtCore/qfile.h>
#include <QtCore/qregularexpression.h>
#include <QtCore/qtextstream.h>
#include <cctype>
#include <climits>
#include <functional>
+ Include dependency graph for docparser.cpp:

Go to the source code of this file.

Enumerations

enum  {
  CMD_A , CMD_ANNOTATEDLIST , CMD_B , CMD_BADCODE ,
  CMD_BOLD , CMD_BR , CMD_BRIEF , CMD_C ,
  CMD_CAPTION , CMD_CODE , CMD_CODELINE , CMD_COMPARESWITH ,
  CMD_DETAILS , CMD_DIV , CMD_DOTS , CMD_E ,
  CMD_ELSE , CMD_ENDCODE , CMD_ENDCOMPARESWITH , CMD_ENDDETAILS ,
  CMD_ENDDIV , CMD_ENDFOOTNOTE , CMD_ENDIF , CMD_ENDLEGALESE ,
  CMD_ENDLINK , CMD_ENDLIST , CMD_ENDMAPREF , CMD_ENDOMIT ,
  CMD_ENDQUOTATION , CMD_ENDRAW , CMD_ENDSECTION1 , CMD_ENDSECTION2 ,
  CMD_ENDSECTION3 , CMD_ENDSECTION4 , CMD_ENDSIDEBAR , CMD_ENDTABLE ,
  CMD_FOOTNOTE , CMD_GENERATELIST , CMD_HEADER , CMD_HR ,
  CMD_I , CMD_IF , CMD_IMAGE , CMD_IMPORTANT ,
  CMD_INCLUDE , CMD_INLINEIMAGE , CMD_INDEX , CMD_INPUT ,
  CMD_KEYWORD , CMD_L , CMD_LEGALESE , CMD_LI ,
  CMD_LINK , CMD_LIST , CMD_META , CMD_NOTE ,
  CMD_O , CMD_OMIT , CMD_OMITVALUE , CMD_OVERLOAD ,
  CMD_PRINTLINE , CMD_PRINTTO , CMD_PRINTUNTIL , CMD_QUOTATION ,
  CMD_QUOTEFILE , CMD_QUOTEFROMFILE , CMD_RAW , CMD_ROW ,
  CMD_SA , CMD_SECTION1 , CMD_SECTION2 , CMD_SECTION3 ,
  CMD_SECTION4 , CMD_SIDEBAR , CMD_SINCELIST , CMD_SKIPLINE ,
  CMD_SKIPTO , CMD_SKIPUNTIL , CMD_SNIPPET , CMD_SPAN ,
  CMD_SUB , CMD_SUP , CMD_TABLE , CMD_TABLEOFCONTENTS ,
  CMD_TARGET , CMD_TM , CMD_TT , CMD_UICONTROL ,
  CMD_UNDERLINE , CMD_UNICODE , CMD_VALUE , CMD_WARNING ,
  CMD_QML , CMD_ENDQML , CMD_CPP , CMD_ENDCPP ,
  CMD_CPPTEXT , CMD_ENDCPPTEXT , NOT_A_CMD
}
 
enum  {
  CMD_A , CMD_ANNOTATEDLIST , CMD_B , CMD_BADCODE ,
  CMD_BOLD , CMD_BR , CMD_BRIEF , CMD_C ,
  CMD_CAPTION , CMD_CODE , CMD_CODELINE , CMD_COMPARESWITH ,
  CMD_DETAILS , CMD_DIV , CMD_DOTS , CMD_E ,
  CMD_ELSE , CMD_ENDCODE , CMD_ENDCOMPARESWITH , CMD_ENDDETAILS ,
  CMD_ENDDIV , CMD_ENDFOOTNOTE , CMD_ENDIF , CMD_ENDLEGALESE ,
  CMD_ENDLINK , CMD_ENDLIST , CMD_ENDMAPREF , CMD_ENDOMIT ,
  CMD_ENDQUOTATION , CMD_ENDRAW , CMD_ENDSECTION1 , CMD_ENDSECTION2 ,
  CMD_ENDSECTION3 , CMD_ENDSECTION4 , CMD_ENDSIDEBAR , CMD_ENDTABLE ,
  CMD_FOOTNOTE , CMD_GENERATELIST , CMD_HEADER , CMD_HR ,
  CMD_I , CMD_IF , CMD_IMAGE , CMD_IMPORTANT ,
  CMD_INCLUDE , CMD_INLINEIMAGE , CMD_INDEX , CMD_INPUT ,
  CMD_KEYWORD , CMD_L , CMD_LEGALESE , CMD_LI ,
  CMD_LINK , CMD_LIST , CMD_META , CMD_NOTE ,
  CMD_O , CMD_OMIT , CMD_OMITVALUE , CMD_OVERLOAD ,
  CMD_PRINTLINE , CMD_PRINTTO , CMD_PRINTUNTIL , CMD_QUOTATION ,
  CMD_QUOTEFILE , CMD_QUOTEFROMFILE , CMD_RAW , CMD_ROW ,
  CMD_SA , CMD_SECTION1 , CMD_SECTION2 , CMD_SECTION3 ,
  CMD_SECTION4 , CMD_SIDEBAR , CMD_SINCELIST , CMD_SKIPLINE ,
  CMD_SKIPTO , CMD_SKIPUNTIL , CMD_SNIPPET , CMD_SPAN ,
  CMD_SUB , CMD_SUP , CMD_TABLE , CMD_TABLEOFCONTENTS ,
  CMD_TARGET , CMD_TM , CMD_TT , CMD_UICONTROL ,
  CMD_UNDERLINE , CMD_UNICODE , CMD_VALUE , CMD_WARNING ,
  CMD_QML , CMD_ENDQML , CMD_CPP , CMD_ENDCPP ,
  CMD_CPPTEXT , CMD_ENDCPPTEXT , NOT_A_CMD
}
 

Functions

static void processComparesWithCommand (DocPrivate *priv, const Location &location)
 
static QString cleanLink (const QString &link)
 
static void warnAboutEmptyOrPreexistingTarget (const Location &location, const QString &duplicateDefinition, const QString &cmdString, const QString &previousDefinition)
 

Variables

struct { 
 
   const char *   name 
 
   int   no 
 
   bool   is_formatting_command { false
 
cmds [] 
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CMD_A 
CMD_ANNOTATEDLIST 
CMD_B 
CMD_BADCODE 
CMD_BOLD 
CMD_BR 
CMD_BRIEF 
CMD_C 
CMD_CAPTION 
CMD_CODE 
CMD_CODELINE 
CMD_COMPARESWITH 
CMD_DETAILS 
CMD_DIV 
CMD_DOTS 
CMD_E 
CMD_ELSE 
CMD_ENDCODE 
CMD_ENDCOMPARESWITH 
CMD_ENDDETAILS 
CMD_ENDDIV 
CMD_ENDFOOTNOTE 
CMD_ENDIF 
CMD_ENDLEGALESE 
CMD_ENDLINK 
CMD_ENDLIST 
CMD_ENDMAPREF 
CMD_ENDOMIT 
CMD_ENDQUOTATION 
CMD_ENDRAW 
CMD_ENDSECTION1 
CMD_ENDSECTION2 
CMD_ENDSECTION3 
CMD_ENDSECTION4 
CMD_ENDSIDEBAR 
CMD_ENDTABLE 
CMD_FOOTNOTE 
CMD_GENERATELIST 
CMD_HEADER 
CMD_HR 
CMD_I 
CMD_IF 
CMD_IMAGE 
CMD_IMPORTANT 
CMD_INCLUDE 
CMD_INLINEIMAGE 
CMD_INDEX 
CMD_INPUT 
CMD_KEYWORD 
CMD_L 
CMD_LEGALESE 
CMD_LI 
CMD_LINK 
CMD_LIST 
CMD_META 
CMD_NOTE 
CMD_O 
CMD_OMIT 
CMD_OMITVALUE 
CMD_OVERLOAD 
CMD_PRINTLINE 
CMD_PRINTTO 
CMD_PRINTUNTIL 
CMD_QUOTATION 
CMD_QUOTEFILE 
CMD_QUOTEFROMFILE 
CMD_RAW 
CMD_ROW 
CMD_SA 
CMD_SECTION1 
CMD_SECTION2 
CMD_SECTION3 
CMD_SECTION4 
CMD_SIDEBAR 
CMD_SINCELIST 
CMD_SKIPLINE 
CMD_SKIPTO 
CMD_SKIPUNTIL 
CMD_SNIPPET 
CMD_SPAN 
CMD_SUB 
CMD_SUP 
CMD_TABLE 
CMD_TABLEOFCONTENTS 
CMD_TARGET 
CMD_TM 
CMD_TT 
CMD_UICONTROL 
CMD_UNDERLINE 
CMD_UNICODE 
CMD_VALUE 
CMD_WARNING 
CMD_QML 
CMD_ENDQML 
CMD_CPP 
CMD_ENDCPP 
CMD_CPPTEXT 
CMD_ENDCPPTEXT 
NOT_A_CMD 

Definition at line 27 of file docparser.cpp.

◆ anonymous enum

anonymous enum
Enumerator
CMD_A 
CMD_ANNOTATEDLIST 
CMD_B 
CMD_BADCODE 
CMD_BOLD 
CMD_BR 
CMD_BRIEF 
CMD_C 
CMD_CAPTION 
CMD_CODE 
CMD_CODELINE 
CMD_COMPARESWITH 
CMD_DETAILS 
CMD_DIV 
CMD_DOTS 
CMD_E 
CMD_ELSE 
CMD_ENDCODE 
CMD_ENDCOMPARESWITH 
CMD_ENDDETAILS 
CMD_ENDDIV 
CMD_ENDFOOTNOTE 
CMD_ENDIF 
CMD_ENDLEGALESE 
CMD_ENDLINK 
CMD_ENDLIST 
CMD_ENDMAPREF 
CMD_ENDOMIT 
CMD_ENDQUOTATION 
CMD_ENDRAW 
CMD_ENDSECTION1 
CMD_ENDSECTION2 
CMD_ENDSECTION3 
CMD_ENDSECTION4 
CMD_ENDSIDEBAR 
CMD_ENDTABLE 
CMD_FOOTNOTE 
CMD_GENERATELIST 
CMD_HEADER 
CMD_HR 
CMD_I 
CMD_IF 
CMD_IMAGE 
CMD_IMPORTANT 
CMD_INCLUDE 
CMD_INLINEIMAGE 
CMD_INDEX 
CMD_INPUT 
CMD_KEYWORD 
CMD_L 
CMD_LEGALESE 
CMD_LI 
CMD_LINK 
CMD_LIST 
CMD_META 
CMD_NOTE 
CMD_O 
CMD_OMIT 
CMD_OMITVALUE 
CMD_OVERLOAD 
CMD_PRINTLINE 
CMD_PRINTTO 
CMD_PRINTUNTIL 
CMD_QUOTATION 
CMD_QUOTEFILE 
CMD_QUOTEFROMFILE 
CMD_RAW 
CMD_ROW 
CMD_SA 
CMD_SECTION1 
CMD_SECTION2 
CMD_SECTION3 
CMD_SECTION4 
CMD_SIDEBAR 
CMD_SINCELIST 
CMD_SKIPLINE 
CMD_SKIPTO 
CMD_SKIPUNTIL 
CMD_SNIPPET 
CMD_SPAN 
CMD_SUB 
CMD_SUP 
CMD_TABLE 
CMD_TABLEOFCONTENTS 
CMD_TARGET 
CMD_TM 
CMD_TT 
CMD_UICONTROL 
CMD_UNDERLINE 
CMD_UNICODE 
CMD_VALUE 
CMD_WARNING 
CMD_QML 
CMD_ENDQML 
CMD_CPP 
CMD_ENDCPP 
CMD_CPPTEXT 
CMD_ENDCPPTEXT 
NOT_A_CMD 

Definition at line 27 of file docparser.cpp.

Function Documentation

◆ cleanLink()

static QString cleanLink ( const QString & link)
static

Definition at line 240 of file docparser.cpp.

◆ processComparesWithCommand()

static void processComparesWithCommand ( DocPrivate * priv,
const Location & location )
static

Processes the arguments passed to the \compareswith block command. The arguments are stored as text within the first atom of the block (Atom::ComparesLeft).

Extracts the comparison category and the list of types, and stores the information into a map accessed via priv.

Definition at line 2744 of file docparser.cpp.

References Atom::ComparesLeft, DocPrivate::constructExtra(), DocPrivate::extra, Text::firstAtom(), DocPrivate::m_text, and Text::splitAtFirst().

Referenced by DocParser::parse().

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

◆ warnAboutEmptyOrPreexistingTarget()

static void warnAboutEmptyOrPreexistingTarget ( const Location & location,
const QString & duplicateDefinition,
const QString & cmdString,
const QString & previousDefinition )
static

Issues a warning about an empty or duplicate definition of either a \target or \keyword command (determined by cmdString) at location. duplicateDefinition is the target being processed; the already registered definition is previousDefinition.

Definition at line 1337 of file docparser.cpp.

Variable Documentation

◆ [struct]

static struct { ... } cmds

◆ is_formatting_command

bool is_formatting_command { false }

Definition at line 133 of file docparser.cpp.

◆ name

const char* name

Definition at line 131 of file docparser.cpp.

Referenced by DocParser::cmdName(), and DocParser::initialize().

◆ no

int no

Definition at line 132 of file docparser.cpp.

Referenced by DocParser::initialize().