@Ceniza
I briefly read your pdf(English version
). I can get the conclusion of these points.
First, a memory pool is better and faster, allocate a large memory once is better and faster than allocate small chunks by several times.
Second, smart pointer is something which can avoid the reallocate memory.
Now, I'm concerning the parser, I have read the forum, someone are discussion using a general parser like:
YACC or ANTLR
So, I do a search on Google, I found that the CodeLite IDE's parser use a simplified parser generated by Lex and Yacc. I'm unsure if this parser can be used in CodeCompletion.
By the way, the performance is very important. In my computer(windows Xp, intel dualCore), Parsing the whole codeblocks's source code takes 13 seconds. But an older 2.6G computer takes 24seconds. To solve the performance problem, one solution is store the token tree in the harddisk, then load it when a project file opened.
The current code of the parsing is "hand crafted", I do suggest we can use a more general way.
Thanks.