TclOK_script_checker

What:TclOK
Where:https://dashthru.com/tclok
Description:TclOK is a Tcl script checker developed by DashThru Technology, Ltd.
OS:Linux (el6/el7/el8)
Release:Currently at v2025.06
Contact:trial at dashthru.com

Introduction

TclOK is a Tcl script checking tool targeted for chip design industry, with native SDC(Standard Design Constraint) and UPF(IEEE-1801) command support which are widely used in EDA tools.


Advantages

Distinguished with other static syntax checkers, TclOK uses an innovative "static + dynamic" checking mechanism. Its "Virtual Execution" checking method can report errors hidden inside expression evaluation, variable inlining, branching, looping, and sourcing sub-scripts with minimal false errors, making its checking result more consistent with actual execution using tclsh.


Example

set arg1 -nonewline
set arg2 stdout
set arg3 123
if $arg3 {
    puts $arg1 $arg2 $arg3
} else {
    puts this line should not be checked
}
source bad_filepath.tcl

TclOK check result:

checking: set arg1 -nonewline
checking: set arg2 stdout
checking: set arg3 123
checking: if 123 ...
( expr ): { 123 }
checking: puts -nonewline stdout 123
checking: source bad_filepath.tcl

Error: couldn't read file "bad_filepath.tcl": no such file or directory
 Line: 9
 File: tmp.tcl

****************** TCL CHECK SUMMARY ******************
  Total errors              : 1
  Total unknown commands    : 0
  Possible unknown commands : 0
  Hierarchical summary      : tmp.tcl (errors:1, unknown_cmds:0)
                               └─bad_filepath.tcl (Error: file not found)

FAILED

How to Get

https://dashthru.com/freetrial


aplsimple - 2025-06-10 10:48:04

[L1 ]

I sit and look out upon all the sorrows of the world, and upon all
      oppression and shame,
I hear secret convulsive sobs from young men at anguish with
      themselves, remorseful after deeds done,
I see in low life the mother misused by her children, dying,
      neglected, gaunt, desperate,
I see the wife misused by her husband, I see the treacherous seducer
      of young women,
I mark the ranklings of jealousy and unrequited love attempted to be
      hid, I see these sights on the earth,
I see the workings of battle, pestilence, tyranny, I see martyrs and
      prisoners,
I observe a famine at sea, I observe the sailors casting lots who
      shall be kill'd to preserve the lives of the rest,
I observe the slights and degradations cast by arrogant persons upon
      laborers, the poor, and upon negroes, and the like;
All these—all the meanness and agony without end I sitting look out upon,
See, hear, and am silent.