annotate vera/rules/T003.tcl @ 538:5c92ebd4423c

Irccd: share error code
author David Demelier <markand@malikania.fr>
date Mon, 20 Nov 2017 19:16:43 +0100
parents 6ec510722582
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
510
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/usr/bin/tclsh
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # Some keywords should be followed by a single space
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
3
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 set keywords {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 case
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 class
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 enum
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 explicit
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 extern
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 goto
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 new
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 struct
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 union
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 using
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 }
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
16
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 proc isKeyword {s} {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 global keywords
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 return [expr [lsearch $keywords $s] != -1]
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 }
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 set state "other"
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 foreach f [getSourceFileNames] {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 foreach t [getTokens $f 1 0 -1 -1 {}] {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 set tokenValue [lindex $t 0]
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 set tokenName [lindex $t 3]
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 if {$state == "keyword"} {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 if {$tokenName == "space" && $tokenValue == " "} {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 set state "space"
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 } else {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 report $f $lineNumber "keyword \'${keywordValue}\' not followed by a single space"
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 set state "other"
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 }
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 } elseif {$state == "space"} {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 if {$tokenName == "newline"} {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 report $f $lineNumber "keyword \'${keywordValue}\' not followed by a single space"
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 }
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 set state "other"
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 } else {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 if [isKeyword $tokenName] {
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 set state "keyword"
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 set lineNumber [lindex $t 1]
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 set keywordValue [lindex $t 0]
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 }
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 }
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 }
6ec510722582 CMake: enable vera++ as code checking, closes #603
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 }