vhdl_file.h
27 lines
| 767 B
| text/x-c
|
CLexer
/ vhdlparser / vhdl_file.h
r2 | #ifndef VHDL_FILE_H | |||
r0 | #define VHDL_FILE_H | |||
#include "vhdlparser_global.h" | ||||
#include "scanner/vhdl_scanner.h" | ||||
r2 | #include "vhdl_element_parser.h" | |||
#include <QHash> | ||||
r0 | #include <QString> | |||
namespace VHDL_Tools { | ||||
r2 | ||||
r0 | class VHDL_File | |||
{ | ||||
public: | ||||
VHDL_File(); | ||||
r1 | bool parseFile(const QString& file, bool trashPreviousTree=false); | |||
VHDL_Tools::VHDL_AST_Node* getParseTree(); | ||||
r0 | private: | |||
VHDL_Tools::vhdl_Scanner *scanner; | ||||
r1 | int makeParseTree(VHDL_Tools::VHDL_AST_Node* rootNode); | |||
r2 | int parsePackage(VHDL_Tools::VHDL_AST_Node** rootNode,QStack<VHDL_Tools::VHDL_AST_Node*>* openBlocksContext); | |||
int parseNext(VHDL_Tools::VHDL_AST_Node** rootNode,QStack<VHDL_Tools::VHDL_AST_Node*>* openBlocksContext); | ||||
r1 | VHDL_Tools::VHDL_AST_Node* rootNode; | |||
r0 | }; | |||
} | ||||
#endif // VHDL_FILE_H | ||||