Ihr habt ja den Code, also vielleicht findet ja jemand raus, woran es liegt.
In der Tat:
Folgender Code in der main.cpp vom Token-Counter
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
struct process_comment
{
process_comment(int& token_counter, int& do_count)
: token_counter(token_counter), do_count(do_count)
{
}
template <typename IteratorT>
void operator()(IteratorT first, IteratorT last) const
{
std::string str(first, last);
if(str.find("BEGIN COUNT") != str.npos) ++do_count;
if(str.find("END COUNT") != str.npos) --do_count;
}
int& token_counter;
int& do_count;
};
|
muss durch diesen ersetzt werden:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
struct process_comment
{
process_comment(int& token_counter, int& do_count)
: token_counter(token_counter), do_count(do_count)
{
}
template <typename IteratorT>
void operator()(IteratorT first, IteratorT last) const
{
std::string str(first, last);
size_t found;
found = str.find("BEGIN COUNT");
while(found != str.npos)
{
++do_count;
found = str.find("BEGIN COUNT" , found + 1);
}
found = str.find("END COUNT");
while(found != str.npos)
{
--do_count;
found = str.find("END COUNT" , found + 1);
}
}
int& token_counter;
int& do_count;
};
|
Aus irgendeinem Grund scheinen mehere einzelne Kommentarzeilen nacheinander zu einer Zeile zusammengefasst zu werden.