What: nagelfar Where: http://nagelfar.berlios.de Description: Nagelfar is a Tcl application to read a Tcl program and provide static syntax analysis - information regarding Tcl syntax errors like missing braces, incomplete commands, etc. Currently at version 1.1.3. Updated: 06/2006 Contact: peter dot spjuth at space dot se This tool by [Peter Spjuth] performs [static syntax analysis]. It is, moreover, extensible, with a customizable exposed syntax database. ---- As of June 2004, Version 1.0.1 is available. This version can process [{expand}], but "[[t]]o get it to work you still need to generate your own syntax database from 8.5, and run Nagelfar in an 8.5 interpreter ..." ---- From version 1.1, Nagelfar can help with simple [Coverage Analysis]. ---- Is there interest in teaching nagelfar about [Itcl]? [Peter Spjuth]: Checking [OO] code is tricky. I personally don't use Itcl but checking [Tk] gives similar problems. Once I figure out how to do it well (and get enough time to do it) I'll probably start with [Snit] since I occasionally use that. After that Itcl is probably not too much work, but it is far into the future unless someone else does it. The problem with OO is basically that with [[cmd arg arg]] it is obvious what command is checked, but with [[$obj arg arg]] you need to know what kind of object is contained in $obj. ---- [RLH] I tried 1.1.3 on OSX and I do not seem to be able to build a syntaxdb: robert$ sudo tclsh syntaxbuild.tcl # Automatically generated syntax database. # Generated with syntaxbuild Revision: 1.25 lappend ::dbInfo {Tcl 8.4.13 unix} set ::dbTclVersion 8.4 set ::knownGlobals {argc argv argv0 auto_index auto_oldpath auto_path env errorCode errorInfo tcl_interactive tcl_libPath tcl_library set ::syntax(TreeCtrlLoad) 1 set ::syntax(after) {r 1} set ::syntax(append) {n x*} set ::syntax(array) {s v x?} set {::syntax(array exists)} l set {::syntax(array names)} {v x? x?} set {::syntax(array set)} {n x} set {::syntax(array size)} v set {::syntax(array statistics)} v There was actually a lot more lines... [Peter Spjuth]: You didn't specify an output file name, so you got it on standard out. Try 'sudo tclsh syntaxbuild.tcl syntaxdb.tcl' [RLH] I will so that. I don't remember having to before though. : ) ---- [[ [Category Application] | [Category Debugging] (=> [Static syntax analysis]) | [Category Dev. Tools] ]]