143 lines
4.8 KiB
Tcl
Executable File
143 lines
4.8 KiB
Tcl
Executable File
#! /bin/sh
|
|
#next line is executed by sh, not by Tcl \
|
|
exec tclsh $0 ${1+"$@"}
|
|
#--------------------------------------------------------------------------
|
|
# This is the SICS syntax checker for the TOPSI diffractometer
|
|
#
|
|
# Mark Koennecke, March 2003
|
|
#--------------------------------------------------------------------------
|
|
source /data/lnslib/bin/sicscheck/sicssyntaxlib.tcl
|
|
|
|
#------------------------- define TOPSI motors and aliases
|
|
sicsSyntaxMap d1r syntaxMotor
|
|
sicsSyntaxMap d1l syntaxMotor
|
|
sicsSyntaxMap d2r syntaxMotor
|
|
sicsSyntaxMap d2l syntaxMotor
|
|
sicsSyntaxMap d3r syntaxMotor
|
|
sicsSyntaxMap d3l syntaxMotor
|
|
sicsSyntaxMap dxt syntaxMotor
|
|
sicsSyntaxMap dxb syntaxMotor
|
|
sicsSyntaxMap utz syntaxMotor
|
|
sicsSyntaxMap uty syntaxMotor
|
|
sicsSyntaxMap sth syntaxMotor
|
|
sicsSyntaxMap stt syntaxMotor
|
|
sicsSyntaxMap stx syntaxMotor
|
|
sicsSyntaxMap sty syntaxMotor
|
|
sicsSyntaxMap sgx syntaxMotor
|
|
sicsSyntaxMap sgy syntaxMotor
|
|
sicsSyntaxMap utt syntaxMotor
|
|
sicsSyntaxMap scx syntaxMotor
|
|
sicsSyntaxMap scy syntaxMotor
|
|
sicsSyntaxMap po1 syntaxMotor
|
|
sicsSyntaxMap po2 syntaxMotor
|
|
sicsSyntaxMap mth syntaxMotor
|
|
sicsSyntaxMap mtt syntaxMotor
|
|
sicsSyntaxMap mtx syntaxMotor
|
|
sicsSyntaxMap mty syntaxMotor
|
|
sicsSyntaxMap mgx syntaxMotor
|
|
sicsSyntaxMap mfv syntaxMotor
|
|
sicsSyntaxMap d1b syntaxMotor
|
|
sicsSyntaxMap d2b syntaxMotor
|
|
sicsSyntaxMap d3b syntaxMotor
|
|
sicsSyntaxMap d1t syntaxMotor
|
|
sicsSyntaxMap d2t syntaxMotor
|
|
sicsSyntaxMap d3t syntaxMotor
|
|
#------------ aliases
|
|
sicsSyntaxMap s1r syntaxMotor
|
|
sicsSyntaxMap s1l syntaxMotor
|
|
sicsSyntaxMap s2r syntaxMotor
|
|
sicsSyntaxMap s2l syntaxMotor
|
|
sicsSyntaxMap s3r syntaxMotor
|
|
sicsSyntaxMap s3l syntaxMotor
|
|
sicsSyntaxMap a6 syntaxMotor
|
|
sicsSyntaxMap a5 syntaxMotor
|
|
sicsSyntaxMap a3 syntaxMotor
|
|
sicsSyntaxMap som syntaxMotor
|
|
sicsSyntaxMap th syntaxMotor
|
|
sicsSyntaxMap om syntaxMotor
|
|
sicsSyntaxMap a4 syntaxMotor
|
|
sicsSyntaxMap s2t syntaxMotor
|
|
sicsSyntaxMap tth syntaxMotor
|
|
sicsSyntaxMap 2t syntaxMotor
|
|
sicsSyntaxMap stu syntaxMotor
|
|
sicsSyntaxMap stl syntaxMotor
|
|
sicsSyntaxMap sgu syntaxMotor
|
|
sicsSyntaxMap sgl syntaxMotor
|
|
sicsSyntaxMap mgu syntaxMotor
|
|
sicsSyntaxMap sch syntaxMotor
|
|
sicsSyntaxMap sph syntaxMotor
|
|
sicsSyntaxMap pol syntaxMotor
|
|
sicsSyntaxMap ana syntaxMotor
|
|
sicsSyntaxMap a1 syntaxMotor
|
|
sicsSyntaxMap mom syntaxMotor
|
|
sicsSyntaxMap a2 syntaxMotor
|
|
sicsSyntaxMap m2t syntaxMotor
|
|
sicsSyntaxMap mtu syntaxMotor
|
|
sicsSyntaxMap mtl syntaxMotor
|
|
sicsSyntaxMap mcv syntaxMotor
|
|
sicsSyntaxMap sttl syntaxMotor
|
|
sicsSyntaxMap u2t syntaxMotor
|
|
|
|
#------------ define TOPSI counters
|
|
sicsSyntaxMap counter syntaxCounter
|
|
|
|
#------------ define TOPSI variables
|
|
sicsSyntaxMap title syntaxTextPar
|
|
sicsSyntaxMap user syntaxTextPar
|
|
sicsSyntaxMap collimation syntaxTextPar
|
|
sicsSyntaxMap sample syntaxTextPar
|
|
sicsSyntaxMap comment1 syntaxTextPar
|
|
sicsSyntaxMap comment2 syntaxTextPar
|
|
sicsSyntaxMap comment3 syntaxTextPar
|
|
sicsSyntaxMap fax syntaxTextPar
|
|
sicsSyntaxMap email syntaxTextPar
|
|
sicsSyntaxMap sample syntaxTextPar
|
|
sicsSyntaxMap lambda syntaxNumPar
|
|
|
|
#----------- define TOPSI environment
|
|
sicsSyntaxMap temperature evSyntax
|
|
sicsSyntaxMap tt evSyntax
|
|
|
|
#---------- define TOPSI auxiliary
|
|
sicsSyntaxMap beam syntaxDummy
|
|
sicsSyntaxMap o2t syntaxNumPar
|
|
sicsSyntaxMap o2tl syntaxNumPar
|
|
sicsSyntaxMap o2u syntaxNumPar
|
|
sicsSyntaxMap ttc syntaxTextPar
|
|
sicsSyntaxMap sttc syntaxTextPar
|
|
sicsSyntaxMap sef syntaxTextPar
|
|
sicsSyntaxMap remote syntaxTextPar
|
|
|
|
#------------------------------------------------------------------------
|
|
# some strange TOPSI commands with 3 numeric parameters
|
|
#-----------------------------------------------------------------------
|
|
proc dah {w1 w2 w3} {
|
|
if { [syntaxNumeric $w1] != 1 } {
|
|
error "ERROR: expected numeric w1, got $w1"
|
|
}
|
|
if { [syntaxNumeric $w2] != 1 } {
|
|
error "ERROR: expected numeric w2, got $w2"
|
|
}
|
|
if { [syntaxNumeric $w3] != 1 } {
|
|
error "ERROR: expected numeric w3, got $w3"
|
|
}
|
|
}
|
|
proc dav {w1 w2 w3} {
|
|
dah $w1 $w2 $w3
|
|
}
|
|
|
|
#--------- Main checking stuff
|
|
syntaxLoadSICS /data/lnslib/data/TOPSI/2003/topsistatus.tcl
|
|
|
|
if { $argc < 1} {
|
|
puts stdout "Usage: \n\ttopsicheck filename"
|
|
exit 0
|
|
}
|
|
set filename [lindex $argv 0]
|
|
lappend fileList [file tail $filename]
|
|
puts stdout "Syntax checking --> $filename <-- ........."
|
|
source $filename
|
|
puts stdout "If this completed without errors the likelihoof of your script"
|
|
puts stdout "executing properly on the instrument has increased significantly"
|
|
exit 1
|
|
|