##// END OF EJS Templates
Creates a interface that defines a variable container...
Creates a interface that defines a variable container - A variable container is an entity that can eventually accomodate a variable (for example, from a menu or d'n'd) - The interfaces declares canDrop() method, that will be used to create a menu for a variable containing only the containers available for it, or to enable/disable d'n'd of this variable on a container - Each visualization widget is a variable container, so it implements canDrop() method

File last commit:

r2:451739a45362
r209:7ef1d04a5917
Show More
IPSIS_S04_NAMESPACE.tcl
49 lines | 1.3 KiB | application/x-tcl | TclLexer
#!/usr/bin/tclsh
# Naming conventions for namespaces
set namespaceRegex [getParameter "namespace-regex" {^[a-z][a-z1-9]*$}]
proc createMachine {machineName initState} {
set machine [dict create name $machineName state $initState identifier "" bracesCounter 0 bracketCounter 0 angleBracketCounter 0]
return $machine
}
set tokenFilter {
using
namespace
identifier
class
struct
enum
typedef
leftbrace
rightbrace
}
foreach fileName [getSourceFileNames] {
set machines [list]
set lastIdentifier ""
set prev1 ""
set prev2 ""
foreach token [getTokens $fileName 1 0 -1 -1 $tokenFilter] {
set type [lindex $token 3]
set line [lindex $token 1]
# Retrieve identifier value
if {$type == "identifier"} {
set lastIdentifier [lindex $token 0]
}
# Check namespace
if {$prev2 == "namespace" && $prev1 == "identifier" && $type == "leftbrace"} {
if {![regexp $namespaceRegex $lastIdentifier]} {
report $fileName $line "The namespace names should match the following regex: $namespaceRegex (found: $lastIdentifier)"
}
}
set prev2 $prev1
set prev1 $type
}
}