PARD: Development
An application to convert specially formatted documentation embedded into
tcl code into a cross-referenced set of HTML pages describing this code.
The first component of ClassyTcl is a dynamically loadable object system for
Tcl. A Tcl-only as well as a C implementation is available. It also doesn't
require patches to the Tcl core, so keeping up with new releases should be
easy. Performance is very adequate. The C version gives extra speed, and
makes it possible to implement some methods in C. In contrast to other Tcl
object systems for Tcl, it is not modeled after the object system designed
for a completely different language such a C. IMHO, it better follows the
Tcl philosophy. The system is simple, but flexible. Classes and objects are
dynamic, and can easily be queried, changed and debugged at runtime.
The ClassyTcl Builder can be used to graphically create interfaces. It is
invoked via the cbuild command in the bin directory.
ClassyTcl adds a lot of improvements to Tk, ranging from drag and drop
support (between Tk apps) and a configuration system to a large set of new
widgets and commands, written using the object system.
While the object system itself only requires Tcl (>8.0), the widgets that
come with it require Tk (of course), and another freely available extension
called ExtraL. ExtraL also does not require compiled code, but can be
speeded up by having it available. Documentation for the widgets is often
somewhat limited, but besides the documentation, you can learn a lot from
sources, the tests and the demos.
Embedded Tk or ``ET'' is tool for making stand-alone executables out of a
mixture of C or C++ and Tcl/Tk. Using ET you can invoke a short Tcl/Tk
script in the middle of a C routine, or you can invoke a C routine in the
middle of a Tcl/Tk script. ET also bundles external Tcl/Tk scripts
(including the standard Tcl/Tk startup scripts) into the executable so that
the executable can be run on another binary-compatible computer that doesn't
have Tcl/Tk installed.
jTcl is a tool box for designing WWW server applications in Tcl with a Java
syntax.
An application to semi-automatically generate a distribution directly out of a
source repository.
Sage is a run-time code analyzer for your Tcl and Tk applications, also know
as a profiler. When you run your programs with Sage, you can collect and
view this type of data:
- total execution time of program
- total time spent in global scope
-
total time spent in each procedure
- total time spent in each procedure and
its descendants
- number of times each procedure is called
Time data can be displayed in 3 formats:
- clicks (output from
clock clicks) - seconds
- a
percentage of the total time
This information is useful in pinpointing performance bottlenecks in your
programs, and it provides a reference for selectively optimizing your code.
Sage is written in 100% Tcl/Tk and should work on any Tcl/Tk 8.0 or greater
platform, although it has only been tested on Linux i386 and SunOS/Solaris.
tcLex is a lexer (lexical analyzer) generator extension to Tcl. It is
inspired by Unix and GNU lex and flex, which are tools for generating
programs that perform pattern-matching on text. tcLex is very similar
to these programs, except it uses Tcl philosophy and syntax, whereas the
others use their own syntax and are used in conjunction with the C language.
People used to lex or flex should then feel familiar with tcLex.
tclparse is a source code package which can be used to test scripts written
in the programming language Tcl/Tk for writing mistakes and programming
errors.
Tcl is an interpreted tool command language which working mechanism is based
of the processing and substitution of strings. The only datatype that exists
in Tcl are strings as a scalar type and associative arrays as a vectorial
type. There are no type checks.
Because of this, every script has to be tested in great detail in order to
find simple errors like writing mistakes of variable names. Every program
line has to be executed at least once to find a mistake in writing. But
testing code often reaches not a 100 percent coverage of the code and
therefore a lot of mistakes remain undiscovered.
This problem is largely solved by the program package tclparse. tclparse
recognizes the following kind of mistakes in Tcl/Tk scripts:
- writing mistakes in variable names
- writing mistakes in command names
- calls of commands with a wrong number of parameters
- forgotten $ in
front of variable names
Because Tcl/Tk is a interpreted language, commands can be assembled in
strings and executed while runtime. Hence, tclparse cannot find all errors
mentioned above. Sometimes tclparse will even warn you about errors where no
errors are. But tclparse will show you potential harmful positions in your
source code where errors might be hidden. That can be very helpful!
TDebug is a Tcl debugger that uses a different approach other debuggers I've
seen for Tcl/Tk. Its concept is similar to the emacs-lisp debugger
edebug.
TDebug is solely based on Tcl/Tk, there is no C-code, which makes it very
easy to install. It works by parsing and redefining Tcl/Tk-procs, inserting
calls to td_eval at certain points, which takes care of the
display, stepping, breakpoints, variables etc.
TEKI is a generic installation toolkit specifically designed for TCL/TK
application developers. It provides an integrated environment for creating
an installation interface for any TCL/TK application and boasts features
like:
- Support for multiple architectures
- Install over the web
- GUI as
well as command line installation
- Easy to create and use declarative
setup file
- Installs Docs/Data files
- Version Support
- Registration
over the web
- Uninstalls installed applications
Tuba is a debugger for Tcl/Tk scripts. The goal of Tuba is to provide a
debugging environment similar to traditional source level debuggers for
other languages.
Tycho is an extensible [incr Tcl] development environment that includes
textual and graphical editors.
Visual Tcl is a high-quality application development environment for Tcl/Tk.
© 1999 by Stefan Hornburg
<racke@linuxia.de>
Last modified 29. May 1999