vhdljjparser.h
Go to the documentation of this file.
1 #ifndef VHDLJJPARSER_H
2 #define VHDLJJPARSER_H
3 
4 #include "parserintf.h"
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <assert.h>
8 #include <ctype.h>
9 #include <qarray.h>
10 
11 #include <qfile.h>
12 #include <qdict.h>
13 #include <string>
14 #include "types.h"
15 #include "entry.h"
16 #include "vhdldocgen.h"
17 #include "qstringlist.h"
18 #include "vhdlcode.h"
19 #include "memberlist.h"
20 #include "config.h"
21 
22 
23 
24 
26 void parserVhdlfile(const char* inputBuffer);
27 
28 class Entry;
29 class ClassSDict;
30 class FileStorage;
31 class ClassDef;
32 class MemberDef;
33 class QStringList;
34 struct VhdlConfNode;
35 
36 
37 /** \brief VHDL parser using state-based lexical scanning.
38  *
39  * This is the VHDL language parser for doxygen.
40  */
42 {
43  public:
44  virtual ~VHDLLanguageScanner() {}
45  void startTranslationUnit(const char *) {}
47  void parseInput(const char * fileName,
48  const char *fileBuf,
49  Entry *root,
50  bool sameTranslationUnit,
51  QStrList &filesInSameTranslationUnit);
52 
53  void parseCode(CodeOutputInterface &codeOutIntf,
54  const char *scopeName,
55  const QCString &input,
56  SrcLangExt lang,
57  bool isExampleBlock,
58  const char *exampleName=0,
59  FileDef *fileDef=0,
60  int startLine=-1,
61  int endLine=-1,
62  bool inlineFragment=FALSE,
63  MemberDef *memberDef=0,
64  bool showLineNumbers=TRUE,
65  Definition *searchCtx=0,
66  bool collectXRefs=TRUE
67  );
68  bool needsPreprocessing(const QCString &) { return TRUE; }
70  void parsePrototype(const char *text);
71 };
72 
74 {
75  VhdlConfNode(const char* a,const char* b,const char* config,const char* cs,bool leaf)
76  {
77  arch=a; // architecture e.g. for iobuffer
78  arch=arch.lower();
79  binding=b; // binding e.g. use entiy work.xxx(bev)
80  binding=binding.lower();
81  confVhdl=config; // configuration foo is bar
82  compSpec=cs;
83  isInlineConf=false; // primary configuration?
84  isLeaf=leaf;
85  };
86 
91  int level;
92  bool isLeaf;
94 
95 };
96 
97 void vhdlscanFreeScanner();
98 
101 
102 #endif
virtual ~VHDLLanguageScanner()
Definition: vhdljjparser.h:44
void finishTranslationUnit()
Definition: vhdljjparser.h:46
This file contains a number of basic enums and types.
void parsePrototype(const char *text)
void resetCodeParserState()
Definition: vhdljjparser.h:69
Definition: entry.h:63
Abstract interface for programming language parsers.
Definition: parserintf.h:38
QCString compSpec
Definition: vhdljjparser.h:90
void parseInput(const char *fileName, const char *fileBuf, Entry *root, bool sameTranslationUnit, QStrList &filesInSameTranslationUnit)
const bool FALSE
Definition: qglobal.h:370
Store implementation based on a file. Writing is linear, after that the file is re-opened for reading...
Definition: filestorage.h:28
QList< VhdlConfNode > & getVhdlConfiguration()
bool needsPreprocessing(const QCString &)
Definition: vhdljjparser.h:68
SrcLangExt
Definition: types.h:41
void startTranslationUnit(const char *)
Definition: vhdljjparser.h:45
QList< Entry > & getVhdlInstList()
void vhdlscanFreeScanner()
static int input(void)
Definition: code.cpp:15695
fileName
Definition: dumpTree.py:9
A list of strings.
Definition: qstringlist.h:51
static Config * config
Definition: config.cpp:1054
VhdlConfNode(const char *a, const char *b, const char *config, const char *cs, bool leaf)
Definition: vhdljjparser.h:75
const double a
QCString confVhdl
Definition: vhdljjparser.h:85
QCString binding
Definition: vhdljjparser.h:89
QCString arch
Definition: vhdljjparser.h:88
static bool * b
Definition: config.cpp:1043
void parserVhdlfile(const char *inputBuffer)
void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)
const char * cs
VHDL parser using state-based lexical scanning.
Definition: vhdljjparser.h:41
const bool TRUE
Definition: qglobal.h:371
bool collectXRefs
bool isInlineConf
Definition: vhdljjparser.h:93
Definition: qlist.h:54