Doxygen
|
#include <stdint.h>
#include <unordered_set>
#include <string>
#include <stdio.h>
#include <assert.h>
#include <ctype.h>
#include "vhdlcode.h"
#include "entry.h"
#include "doxygen.h"
#include "message.h"
#include "outputlist.h"
#include "util.h"
#include "membername.h"
#include "searchindex.h"
#include "vhdldocgen.h"
#include "arguments.h"
#include "config.h"
#include "classdef.h"
#include "filedef.h"
#include "tooltip.h"
#include "regex.h"
#include "debug.h"
#include "doxygen_lex.h"
#include "vhdlcode.l.h"
Go to the source code of this file.
Classes | |
struct | vhdlcodeYY_state |
struct | VHDLCodeParser::Private |
Macros | |
#define | YY_TYPEDEF_YY_SCANNER_T |
#define | YY_NO_INPUT 1 |
#define | YY_NO_UNISTD_H 1 |
#define | DBG_CTX(x) |
#define | YY_INPUT(buf, result, max_size) |
Typedefs | |
typedef yyguts_t * | yyscan_t |
Functions | |
static void | writeFont (yyscan_t yyscanner, const char *s, const QCString &text, bool specialComment=false) |
static void | generateMemLink (yyscan_t yyscanner, OutputCodeList &ol, QCString &clName, QCString &memberName) |
static bool | writeColoredWord (yyscan_t yyscanner, QCString &word) |
static void | generateClassOrGlobalLink (yyscan_t yyscanner, OutputCodeList &ol, const QCString &clName, bool typeOnly=false, const QCString &curr_class=QCString()) |
static void | setCurrentDoc (yyscan_t yyscanner, const QCString &anchor) |
static bool | checkVhdlString (yyscan_t yyscanner, QCString &name) |
static void | addToSearchIndex (yyscan_t yyscanner, const QCString &text) |
static void | startCodeLine (yyscan_t yyscanner) |
static void | endCodeLine (yyscan_t yyscanner) |
static void | nextCodeLine (yyscan_t yyscanner) |
static void | writeWord (yyscan_t yyscanner, const QCString &word, const QCString &curr_class=QCString(), bool classLink=false) |
static void | codifyLines (yyscan_t yyscanner, const QCString &text, const QCString &cl=QCString(), bool classlink=false, bool comment=false) |
static void | writeMultiLineCodeLink (yyscan_t yyscanner, OutputCodeList &ol, const Definition *d, const QCString &text) |
static void | generateFuncLink (yyscan_t yyscanner, OutputCodeList &ol, const MemberDef *mdef) |
static int | countLines (yyscan_t yyscanner) |
static void | startFontClass (yyscan_t yyscanner, const char *s, bool specialComment=false) |
static void | endFontClass (yyscan_t yyscanner, bool specialComment=false) |
static void | appStringLower (QCString &qcs, const char *text) |
static void | codifyMapLines (yyscan_t yyscanner, const QCString &text) |
static void | writeFuncProto (yyscan_t yyscanner) |
static void | writeProcessProto (yyscan_t yyscanner) |
static int | yyread (yyscan_t yyscanner, char *buf, int max_size) |
static const char * | stateToString (int state) |
static const char * | getLexerFILE () |
int | yylex (yyscan_t yyscanner) |
static void | codeFolding (yyscan_t yyscanner, const Definition *d) |
#define DBG_CTX | ( | x | ) |
Definition at line 67 of file vhdlcode.l.
#define YY_INPUT | ( | buf, | |
result, | |||
max_size ) |
Definition at line 150 of file vhdlcode.l.
#define YY_NO_INPUT 1 |
Definition at line 62 of file vhdlcode.l.
#define YY_NO_UNISTD_H 1 |
Definition at line 63 of file vhdlcode.l.
#define YY_TYPEDEF_YY_SCANNER_T |
Definition at line 28 of file vhdlcode.l.
typedef yyguts_t* yyscan_t |
Definition at line 30 of file vhdlcode.l.
Definition at line 1004 of file vhdlcode.l.
References Doxygen::searchIndex.
|
static |
Definition at line 1500 of file vhdlcode.l.
References QCString::append(), QCString::clear(), and QCString::stripWhiteSpace().
Definition at line 966 of file vhdlcode.l.
References QCString::at(), endFontClass(), QCString::isEmpty(), VhdlDocGen::isNumber(), QCString::length(), split(), startFontClass(), and QCString::str().
Referenced by writeWord().
|
static |
Definition at line 1012 of file vhdlcode.l.
References Config_getBool, Definition::getEndBodyLine(), and Definition::getStartDefLine().
|
static |
write a code fragment 'text' that may span multiple lines, inserting line numbers for each line.
Definition at line 1238 of file vhdlcode.l.
References comment, QCString::data(), QCString::isEmpty(), QCString::left(), nextCodeLine(), writeFont(), and writeWord().
Definition at line 1508 of file vhdlcode.l.
References QCString::clear(), codifyLines(), QCString::data(), QCString::fill(), generateClassOrGlobalLink(), generateMemLink(), QCString::isEmpty(), and QCString::lower().
|
static |
counts the number of lines in the input
Definition at line 1433 of file vhdlcode.l.
|
static |
Definition at line 1118 of file vhdlcode.l.
References endFontClass().
|
static |
Definition at line 1452 of file vhdlcode.l.
|
static |
Definition at line 1377 of file vhdlcode.l.
References addToSearchIndex(), codifyLines(), Definition::definitionType(), getClass(), Definition::getOuterScope(), QCString::isEmpty(), Definition::isLinkable(), QCString::length(), QCString::right(), QCString::stripPrefix(), toClassDef(), Definition::TypeClass, and writeMultiLineCodeLink().
|
static |
writes a link to a function or procedure
Definition at line 1324 of file vhdlcode.l.
References addToSearchIndex(), codifyLines(), Definition::isLinkable(), Definition::name(), and writeMultiLineCodeLink().
Referenced by writeFuncProto().
|
static |
Definition at line 1340 of file vhdlcode.l.
References addToSearchIndex(), codifyLines(), VhdlDocGen::findMember(), VhdlDocGen::getClass(), QCString::isEmpty(), Definition::isLinkable(), VhdlDocGen::PACKBODYCLASS, ClassDef::protection(), QCString::stripPrefix(), and writeMultiLineCodeLink().
Referenced by codifyMapLines(), and writeWord().
|
inlinestatic |
Definition at line 153 of file vhdlcode.l.
|
static |
Definition at line 1126 of file vhdlcode.l.
References endCodeLine(), and startCodeLine().
Definition at line 950 of file vhdlcode.l.
References Doxygen::searchIndex.
|
static |
start a new line of code, inserting a line number if yyextra->sourceFileDef is true. If a definition starts at the current line, then the line number is linked to the documentation of that definition.
Definition at line 1050 of file vhdlcode.l.
References codeFolding(), VhdlDocGen::findMember(), Definition::getOutputFileBase(), Definition::getReference(), Definition::isLinkableInProject(), setCurrentDoc(), and QCString::sprintf().
|
static |
Definition at line 1469 of file vhdlcode.l.
References endFontClass(), and qstrcmp().
|
static |
Definition at line 1612 of file vhdlcode.l.
References VhdlDocGen::findKeyWord(), word, and writeFont().
Referenced by writeWord().
|
static |
Definition at line 1488 of file vhdlcode.l.
References endFontClass(), QCString::isEmpty(), and startFontClass().
Referenced by codifyLines(), and writeColoredWord().
|
static |
Definition at line 1566 of file vhdlcode.l.
References QCString::clear(), codifyLines(), VhdlDocGen::findFunction(), generateFuncLink(), QCString::isEmpty(), VhdlDocGen::parseFuncProto(), split(), QCString::str(), and QCString::stripPrefix().
|
static |
writes a link to a fragment text that may span multiple lines, inserting line numbers for each line. If text contains newlines, the link will be split into multiple links with the same destination, one for each line.
Definition at line 1284 of file vhdlcode.l.
References Definition::anchor(), Definition::briefDescriptionAsTooltip(), Definition::codeSymbolType(), Config_getBool, QCString::data(), Definition::getOutputFileBase(), Definition::getReference(), QCString::isEmpty(), nextCodeLine(), and OutputCodeList::writeCodeLink().
|
static |
Definition at line 1603 of file vhdlcode.l.
References codifyLines().
|
static |
writes a word to the output. If curr_class is defined, the word belongs to a class and will be linked.
Definition at line 1146 of file vhdlcode.l.
References QCString::at(), checkVhdlString(), QCString::clear(), endFontClass(), found, generateClassOrGlobalLink(), generateMemLink(), QCString::isEmpty(), VhdlDocGen::isNumber(), QCString::length(), startFontClass(), QCString::str(), word, and writeColoredWord().
Referenced by codifyLines().
int yylex | ( | yyscan_t | yyscanner | ) |
Definition at line 218 of file vhdlcode.l.
|
static |
Definition at line 935 of file vhdlcode.l.