My Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
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 
87  QCString confVhdl;
88  QCString arch;
89  QCString binding;
90  QCString compSpec;
91  int level;
92  bool isLeaf;
94 
95 };
96 
97 void vhdlscanFreeScanner();
98 
99 QList<VhdlConfNode>& getVhdlConfiguration();
100 QList<Entry>& getVhdlInstList();
101 
102 #endif