Helo, I make cctest , a eary test CodeBlocks codecompletion function to parser cpp file program.
The cctest modify CodeCompletion Token and ParserThread lib, only use STL, a std::string and std::wstring (#define CC_UNICODE) , I'm test by WX and QT. cctest project is make by CodeBlocks, build and run on WindowXP and Ubuntu 64bit.
Hello world! C++ Parser Programing!
-> cmd: (load,files,clear) (list,tree,show,dump) (log,logoff) (help,exit) log=off
load filename load c++ file path
files show load files
clear clear all files
list show token by list
tree show token by tree
show n show signal file token by tree
dump dump token tree
log filename setup log filepath
logoff setup log = std::cout
help show this help
exit exit application
-> log d:\log.txt
log=d:\log.txt
-> load d:\project\cctest\main.cpp
load file ok! d:\project\cctest\main.cpp
-> tree
+class FileLoader {...} [24,0]
| data() [28,28]
| length() [32,32]
| fileName() [36,36]
| FileLoader::FileLoader(const char* fileName) [40,40]
| isLoad() [45,45]
| load() [50,50]
| char * FileLoader::name [61,0]
| char * FileLoader::buf [62,0]
| int FileLoader::buf_size [63,0]
+class ParserClient {...} [66,0]
| ParserClient::ParserClient() [70,70]
| ParserClient::~ParserClient() [74,74]
| parser(const char * fileName) [78,78]
| clear() [100,100]
| GetFullFileName(const cc_string & Filename,const cc_string& filename,bool isGlobal) [106,106]
| OnParseFile(const cc_string & filename, int flag) [110,110]
| printToken(std::ostream & f, Token* tk, const string & head) [114,114]
| printTokenTree(std::ostream & f, Token* tk, const string & head) [127,127]
| printList(std::ostream & f) [138,138]
| printTree(std::ostream & f) [148,148]
| printFiles(std::ostream & f) [161,161]
| printFileToken(std::ostream & f, int n) [168,168]
| TokensTree * ParserClient::tree [184,0]
| vector ParserClient::files [185,0]
showHelp(std::string & logname) [189,189]
main() [206,206]
-> dump
- "" (0)
+- "FileLoader" (1)
+- "GetFullFileName" (14)
+- "OnParseFile" (15)
+- "ParserClient" (10)
+- "buf_size" (9)
+- "clear" (13)
+- "data" (2)
+- "file" (26)
| +- "Name" (4)
| \- "s" (27)
+- "isLoad" (5)
+- "l" (6)
| +- "ength" (3)
| \- "oad" (7)
+- "main" (29)
+- "name" (8)
+- "p" (16)
| +- "arser" (12)
| \- "rint" (18)
| +- "File" (23)
| | +- "Token" (24)
| | \- "s" (22)
| +- "List" (19)
| \- "T" (20)
| +- "okenTree" (17)
| \- "ree" (21)
+- "showHelp" (28)
+- "tree" (25)
\- "~ParserClient" (11)
->exit
log time: Mon Dec 7 14:58:25 2009
command:load
load file:/home/win32/share/cctest/main.cpp
command:files
0. /home/win32/share/cctest/main.cpp
command:show
show file:/home/win32/share/cctest/main.cpp
+class FileLoader {...} [24,0]
| data() [27,27]
| length() [31,31]
| fileName() [35,35]
| FileLoader::FileLoader(const char* fileName) [40,40]
| isLoad() [44,44]
| load() [49,49]
| char * FileLoader::name [61,0]
| char * FileLoader::buf [62,0]
| int FileLoader::buf_size [63,0]
+class ParserClient {...} [66,0]
| ParserClient::ParserClient() [69,69]
| ParserClient::~ParserClient() [73,73]
| parser(const char * fileName) [77,77]
| clear() [99,99]
| GetFullFileName(const cc_string & Filename,const cc_string& filename,bool isGlobal) [105,105]
| OnParseFile(const cc_string & filename, int flag) [109,109]
| printToken(std::ostream & f, Token* tk, const string & head) [113,113]
| printTokenTree(std::ostream & f, Token* tk, const string & head) [126,126]
| printList(std::ostream & f) [137,137]
| printTree(std::ostream & f) [148,148]
| printFiles(std::ostream & f) [161,161]
| printFileToken(std::ostream & f, int n) [168,168]
| TokensTree * ParserClient::tree [185,0]
| vector ParserClient::files [186,0]
showHelp(std::string & logname) [189,189]
main() [206,206]
command:tree
+class FileLoader {...} [24,0]
| data() [27,27]
| length() [31,31]
| fileName() [35,35]
| FileLoader::FileLoader(const char* fileName) [40,40]
| isLoad() [44,44]
| load() [49,49]
| char * FileLoader::name [61,0]
| char * FileLoader::buf [62,0]
| int FileLoader::buf_size [63,0]
+class ParserClient {...} [66,0]
| ParserClient::ParserClient() [69,69]
| ParserClient::~ParserClient() [73,73]
| parser(const char * fileName) [77,77]
| clear() [99,99]
| GetFullFileName(const cc_string & Filename,const cc_string& filename,bool isGlobal) [105,105]
| OnParseFile(const cc_string & filename, int flag) [109,109]
| printToken(std::ostream & f, Token* tk, const string & head) [113,113]
| printTokenTree(std::ostream & f, Token* tk, const string & head) [126,126]
| printList(std::ostream & f) [137,137]
| printTree(std::ostream & f) [148,148]
| printFiles(std::ostream & f) [161,161]
| printFileToken(std::ostream & f, int n) [168,168]
| TokensTree * ParserClient::tree [185,0]
| vector ParserClient::files [186,0]
showHelp(std::string & logname) [189,189]
main() [206,206]
command:list
class class FileLoader {...} [24,0]
function char * FileLoader::data() [27,27]
function unsigned int FileLoader::length() [31,31]
function char * FileLoader::fileName() [35,35]
constructor FileLoader::FileLoader(const char* fileName) [40,40]
function bool FileLoader::isLoad() [44,44]
function void FileLoader::load() [49,49]
variable char * FileLoader::name [61,0]
variable char * FileLoader::buf [62,0]
variable int FileLoader::buf_size [63,0]
class class ParserClient {...} [66,0]
constructor ParserClient::ParserClient() [69,69]
destructor ParserClient::~ParserClient() [73,73]
function bool ParserClient::parser(const char * fileName) [77,77]
function void ParserClient::clear() [99,99]
function cc_string ParserClient::GetFullFileName(const cc_string & Filename,const cc_string& filename,bool isGlobal) [105,105]
function void ParserClient::OnParseFile(const cc_string & filename, int flag) [109,109]
function void ParserClient::printToken(std::ostream & f, Token* tk, const string & head) [113,113]
function void ParserClient::printTokenTree(std::ostream & f, Token* tk, const string & head) [126,126]
function void ParserClient::printList(std::ostream & f) [137,137]
function void ParserClient::printTree(std::ostream & f) [148,148]
function void ParserClient::printFiles(std::ostream & f) [161,161]
function void ParserClient::printFileToken(std::ostream & f, int n) [168,168]
variable TokensTree * ParserClient::tree [185,0]
variable vector ParserClient::files [186,0]
function void showHelp(std::string & logname) [189,189]
function int main() [206,206]
command:dump
- "" (0)
+- "FileLoader" (1)
+- "GetFullFileName" (14)
+- "OnParseFile" (15)
+- "ParserClient" (10)
+- "buf_size" (9)
+- "clear" (13)
+- "data" (2)
+- "file" (26)
| +- "Name" (4)
| \- "s" (27)
+- "isLoad" (5)
+- "l" (6)
| +- "ength" (3)
| \- "oad" (7)
+- "main" (29)
+- "name" (8)
+- "p" (16)
| +- "arser" (12)
| \- "rint" (18)
| +- "File" (23)
| | +- "Token" (24)
| | \- "s" (22)
| +- "List" (19)
| \- "T" (20)
| +- "okenTree" (17)
| \- "ree" (21)
+- "showHelp" (28)
+- "tree" (25)
\- "~ParserClient" (11)
command:clear
clear all files
command:help
command:exit