** Summary ** '''static syntax analysis''' refers to [debugging] that can be done via inspection of the code for a program, without actually running the program. ** See Also ** [http://www.phaseit.net/claird/comp.lang.tcl/tcl_compilers.html#analyzers%|%static analyzers]: another list by [Cameron Laird] [debugging]: [Are there tools which are required or would be useful when developing in Tcl]: [Brace-level pretty printer]: [Statically verifying arithmetic and regular expressions]: [AM] 2007-08-18: an idea to check such various Tcl "sublanguages" as the arithmetic and regular expressions [http://grok2.tripod.com/code_comprehension.html%|%Source Code Comprehension Tools]: an older list [AM] (18 august 2007) Here's an idea to check such diverse "sublanguages" as the arithmetic and regular expressions in Tcl: ** Description ** ''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. ** Analysing C ** [CBrowser]: open-source GUI frontent to source-code searching tools. Primarily designed to work with cscope, but also works with cs. [logiscope c rulechecker]: a proprietary product that allows users to define and verify coding rules in Tcl ** Analyising Tcl ** [frink]: source code formatter with syntax and style checking [Nagelfar]: reads one or more Tcl scripts and checks them for correctness, conflicts and even a little style. [TclPro]: includes "procheck", a static code checker [XotclIDE]: includes a syntax checker for Tcl and [XOTcl] code [TDK]: has a program called ''tclchecker'' that does static syntax checking [Nagelfar]: an extensible syntax checker [Sugar]: 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]] [Source Navigator]: code-analysis and comprehention tool that provides a graphic framework for understanding and re-engineering large or complex software projects [http://avl.enemy.org/TclTk/bracecheck.tcl%|%bracecheck], by [Andreas Leitgeb]: a "mostly heuristic script ... which compares bracing with indentation ..." [ttclcheck]: syntax checker for Tcl, XOTcl, ITcl code with html generation <> Debugging