Mercurial > irccd
view vera/rules/T003.tcl @ 521:e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 27 Oct 2017 21:45:32 +0200 |
parents | 6ec510722582 |
children |
line wrap: on
line source
#!/usr/bin/tclsh # Some keywords should be followed by a single space set keywords { case class enum explicit extern goto new struct union using } proc isKeyword {s} { global keywords return [expr [lsearch $keywords $s] != -1] } set state "other" foreach f [getSourceFileNames] { foreach t [getTokens $f 1 0 -1 -1 {}] { set tokenValue [lindex $t 0] set tokenName [lindex $t 3] if {$state == "keyword"} { if {$tokenName == "space" && $tokenValue == " "} { set state "space" } else { report $f $lineNumber "keyword \'${keywordValue}\' not followed by a single space" set state "other" } } elseif {$state == "space"} { if {$tokenName == "newline"} { report $f $lineNumber "keyword \'${keywordValue}\' not followed by a single space" } set state "other" } else { if [isKeyword $tokenName] { set state "keyword" set lineNumber [lindex $t 1] set keywordValue [lindex $t 0] } } } }