##// END OF EJS Templates
Next var request parameter is now based on previous request instead of...
Next var request parameter is now based on previous request instead of initial variable parameter

File last commit:

r2:451739a45362
r810:0f020366c50a
Show More
IPSIS_F11.tcl
39 lines | 1.2 KiB | application/x-tcl | TclLexer
#!/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
}
}