##// END OF EJS Templates
Refactoring handling of axes properties (1)...
Refactoring handling of axes properties (1) Creates helper used to determine which properties to set for the graph axes, depending on the type of the data hold (properties will be different if it's scalars/vectors or spectrograms)

File last commit:

r2:451739a45362
r916:b92a8e838f6e
Show More
IPSIS_S09.tcl
60 lines | 1.7 KiB | application/x-tcl | TclLexer
#!/usr/bin/tclsh
# Prefer C++ includes of the C std headers (cstdio instead of stdio.h for instance)
set cStdHeaders {
assert.h
complex.h
ctype.h
errno.h
fenv.h
float.h
inttypes.h
iso646.h
limits.h
locale.h
math.h
setjmp.h
signal.h
stdalign.h
stdarg.h
stdbool.h
stddef.h
stdint.h
stdio.h
stdlib.h
string.h
tgmath.h
time.h
uchar.h
wchar.h
wctype.h
}
set cStdHeadersWithDifferentCppEquivalent [dict create \
stdatomic.h atomic \
threads.h thread \
]
set cStdHeadersWithNoCppEquivalent {
stdnoreturn.h
}
foreach fileName [getSourceFileNames] {
foreach token [getTokens $fileName 1 0 -1 -1 {pp_hheader}] {
set line [lindex $token 1]
set value [lindex $token 0]
if {[regexp {^[^<]*?<(.*)>[^>]*?$} $value matched headerName]} {
if {[lsearch $cStdHeaders $headerName] != -1} {
set headerWithoutExt [string range $headerName 0 [expr [string length $headerName] - 3]]
set cppHeader "c$headerWithoutExt"
report $fileName $line "$headerName is a C include, use the equivalent C++ include <$cppHeader>"
} elseif {[dict exists $cStdHeadersWithDifferentCppEquivalent $headerName]} {
set cppHeader [dict get $cStdHeadersWithDifferentCppEquivalent $headerName]
report $fileName $line "$headerName is a C include, use the equivalent C++ include <$cppHeader>"
} elseif {[lsearch $cStdHeadersWithNoCppEquivalent $headerName] != -1} {
report $fileName $line "$headerName is a C include without C++ equivalent. Use the C++ constructions instead of relying on C headers."
}
}
}
}