Tcl HomeTcl Home Hosted by

Google SiteSearch
Highlights | Frequently Asked Questions | Requirements

Find errors faster and upgrade more easily!

TclPro Checker is a powerful tool that scans your Tcl scripts and identifies a variety of potential problems. Not only does TclPro Checker find syntax errors and misuses of the Tcl and Tk built-in commands, but it also gives advice about how to make your scripts run faster and improve their portability between Unix, Windows, and Macintosh. TclPro Checker even helps you to upgrade from older versions of Tcl to the latest releases, by locating potential compatibility problems. With TclPro Checker you'll find it's easier than ever to create Tcl applications that work better and run faster.

Product highlights

Comprehensive coverage TclPro Checker processes all of the code in your application, including code that isn't normally executed, so it finds errors that might otherwise go undetected until after your application has been shipped. TclPro Checker effectively increases the coverage of your test suites.

Early error detection. TclPro Checker can identify many programming mistakes that would cause runtime errors if your application were executed. Here are some of the kinds of errors that TclPro Checker detects:

  • Basic syntax errors, such as unmatched braces
  • Misuse of built-in commands, such as missing or incorrect values for arguments
  • Mistyped keywords, such as switch or option names

Portability improvements. Tcl and Tk contain many features that make it easier to create portable applications, such as special commands that manipulate file names. However, these features are relatively new, so existing scripts may not take advantage of them. TclPro Checker detects code that isn't portable between Unix, Windows, and Macintosh platforms and gives advice about how to recode it in a portable fashion.

Upgrade hints. New releases of Tcl and Tk have occasionally introduced incompatibilities that require older scripts to be modified. This can make it very difficult to upgrade. TclPro Checker detects many of these incompatibilities so that you can upgrade more easily and take advantage of the new features of recent releases.

Performance tuning. Sometimes small changes in your code, such as adding braces around the arguments to the expr command, can make a noticeable difference in performance. TclPro Checker tells you when it finds situations like this.

Intuitive, flexible printout. TclPro Checker prints its warnings in a readable fashion that makes it easy to locate the problem code either by hand or with the Emacs editor. Furthermore, you can select exactly which warnings and errors you want to see.

Frequently asked questions

Q. Will TclPro Checker find all the errors in my code?
A. Alas, no. When commands and arguments are specified as variable values, they cannot be checked without running the program. For example, if an argument is supplied from a variable's value, then TclPro Checker cannot verify the value of that argument. If a command name is supplied from a variable's value, then TclPro Checker cannot check the arguments to that command. Regardless of what language or tools you use, there will always be some errors that can only be detected when the application runs. Thus no tool can eliminate the need for test suites. Nonetheless, TclPro Checker allows you to find many errors more quickly and easily than would be possible otherwise. And when used in conjunction with TclPro Debugger, the two tools provide you the broadest possible assistance.


System hardware/software

TclPro Checker is available as a ready-to-run application for the following platforms:

  • Windows 95, 98, NT 4.0 (Intel), 2000
  • Solaris 2.5, 2.6, 7 (SPARC)
  • HP-UX 10.20
  • Linux (Intel, Red Hat 5.0+, SuSE 6.0+)
  • SGI IRIX 6.3+
Note: The Linux distribution is for the Intel platform and the glibc2 C library.

Tcl versions

TclPro Checker works with the following versions of Tcl and associated packages:

  • Tcl 7.3 or higher
  • Tk 3.6 or higher
  • [incr Tcl] 1.5 or higher
  • Expect 5.28, or higher
  • TclX 8.0.5 or higher