This is a sub-category of [Category Debugging]. ''Static [syntax] analysis'' is the process of looking at a text file and attempting to identify errors, warnings, etc. from the text without executing the code. This is tricky to do in-depth because in an interpretive environment, programmers often make use of dynamic techniques for code generation, etc. These dynamic code fragments typically won't be evaluated during a static syntax sweep. Another short-coming, at least as far as procheck and frink go, is that they operate only on the source code specified on the command line. This means that calls to auto[load]ed or ''[source]''d commands are treated as unknowns, unless the file in which they are defined was specified '''before''' the invocation. A [C] programmer will be familar with a program called '''lint'''; this program provides static syntax analysis for C. ---- Any tool doing SSA and having its own page should have a link to this page on its page, like for normal categories. That way clicking on the title of this page will then deliver a list of tools in this sub-category. The list of options below is only for external references we cannot categorize directly, and unnamed tools which are part of greater system. The moment such tools get their own page here they will be removed from the list below and can be reached through the title of this page. * [Frink] has syntax checking and style suggestion for static analysis. * [XotclIDE] has a syntax checker for Tcl and [XOTcl] code. * [TDK] has a program called ''tclchecker'' that does static syntax checking. * [Nagelfar] is an extensible syntax checker. * [Sugar] is a macro system that can be used as a programmable SSA tool. * [SoftGuard] [http://www.osn.de/user/finzel/html/sgxTools.html] appears to do at least some sorts of SSA [[Does SoftGuard deserve its own page in the Wiki? I think so. Anyone familar with it? The web page mentions sgxCP profiling, sgxCT tracing, sgxDbg procedure debugging, sgxRSM resource standard metrics, and sgxTVC variable consistency testing]] * [Andreas Leitgeb]'s bracecheck [http://avl.enemy.org/TclTk/bracecheck.tcl] is a "mostly heuristic script ... which compares bracing with indentation ..." * See a page by [Cameron Laird] for more [http://www.phaseit.net/claird/comp.lang.tcl/tcl_compilers.html#analyzers]. ---- [[ Give examples of use. ]] ''See also'' * [debugging] * [Are there tools which are required or would be useful when developing in Tcl] * [Brace-level pretty printer] ---- Recently, on comp.lang.tcl, Peter Martin recommended: Tools for souce code comprehension may also be of interest. An annotated list is available at: http://grok2.tripod.com/code_comprehension.html Tools for TCL include: * SNiFF+ (commercial; http://www.windriver.com/products/development_tools/ide/), * Source Navigator (free; http://sourcenav.sf.net/). Also mentioned here was: * CBrowser (free; http://cbrowser.sourceforge.net/), but since it's based on cscope [http://cscope.sourceforge.net/] it is only meant for C and can be used for C++ and Java. It is coded in Tcl though. ---- [AM] (18 august 2007) Here's an idea to check such diverse "sublanguages" as the arithmetic and regular expressions in Tcl: [Statically verifying arithmetic and regular expressions] ---- [logiscope c rulechecker] ---- !!!!!! %| [Category Debugging] |% !!!!!!