##// END OF EJS Templates
Ajout du support clang analyser. L'idée est de recompiler le projet avec ninja dans un build dédié pour effectuer l'analyse statique.
Ajout du support clang analyser. L'idée est de recompiler le projet avec ninja dans un build dédié pour effectuer l'analyse statique.

File last commit:

r2:451739a45362
r11:50964fafb751
Show More
IPSIS_F11.tcl
39 lines | 1.2 KiB | application/x-tcl | TclLexer
Ajout de vera++
r2 #!/usr/bin/tclsh
# control structures should have complete curly-braced block of code
foreach fileName [getSourceFileNames] {
set state "start"
set prev ""
foreach token [getTokens $fileName 1 0 -1 -1 {for if while do leftparen rightparen leftbrace rightbrace semicolon}] {
set type [lindex $token 3]
if {$state == "control"} {
if {$type == "leftparen"} {
incr parenCount
} elseif {$type == "rightparen"} {
incr parenCount -1
if {$parenCount == 0} {
set state "expectedblock"
}
}
} elseif {$state == "expectedblock"} {
if {$type != "leftbrace"} {
set line [lindex $token 1]
report $fileName $line "full block {} expected in the control structure"
}
set state "block"
}
if {$type == "for" || $type == "if"} {
set parenCount 0
set state "control"
} elseif {$type == "do"} {
set state "expectedblock"
} elseif {$type == "while" && $prev != "rightbrace"} {
set parenCount 0
set state "control"
}
set prev $type
}
}