IPSIS_S03.tcl
25 lines
| 942 B
| application/x-tcl
|
TclLexer
r2 | #!/usr/bin/tclsh | |||
# The macros in header files should begin with the name of the project to avoid | ||||
# collisions | ||||
set projectName [string toupper [getParameter "project-name" "PROJECTNAMENOTFOUND"]] | ||||
foreach fileName [getSourceFileNames] { | ||||
if {[regexp {\.h$} $fileName]} { | ||||
set prev "" | ||||
foreach token [getTokens $fileName 1 0 -1 -1 {pp_define identifier}] { | ||||
set type [lindex $token 3] | ||||
if {$prev == "pp_define" && $type == "identifier"} { | ||||
set identifier [lindex $token 0] | ||||
if {![regexp "^${projectName}.*$" $identifier]} { | ||||
set line [lindex $token 1] | ||||
report $fileName $line "The macros in header files should begin with the name of the project to avoid collisions. (project name: $projectName, macro found: $identifier)" | ||||
} | ||||
} | ||||
set prev $type | ||||
} | ||||
} | ||||
} | ||||