Package: tclex (1.2a1-15)
Links for tclex
Download Source Package tclex:
A lexical analyzer generator for Tcl
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. tcLex is a small extension (the Windows compiled version is about 20kb, and the source is about 150kb), because it extensively uses the Tcl library. However, the current doesn't use Tcl's regexp code anymore but a patched version is now included in tcLex, which makes it slightly bigger (by a few KB). tcLex should work with Tcl 8.0 and later. tcLex will NEVER work with earlier versions, because it uses Tcl 8.0's "object" system for performance. The most interesting features are:
* cross-platform support, thanks to Tcl. Though it has been developed on Windows and tested on Windows and Unix only, it should work on other platforms as long as Tcl exists on these platforms. Supported Tcl platforms are Windows 95/NT, Unix (Linux, Solaris...) and Macintosh. Other platforms are VMS, OS/2, NeXTStep, Amiga...
* unlike lex and flex, which only generate static lexers written in C and intended to be compiled, tcLex dynamically generates Tcl commands that can be used like other C commands or Tcl procedures from within Tcl scripts or C programs.
* it uses Tcl regular expressions. That means you don't have to learn another regexp language.
* it works with Tcl namespaces
* the generated lexer commands can be used in one pass or incrementally, because they maintain state information. That way, several instances of the same lexer (eg a HTML parser) can run at the same time in distinct call frames and maintain distinct states (local variables...). Lexer need not be specially designed in order to be used incrementally, the same lexer can transparently be used in one pass or incrementally. This feature is especially useful when processing text from a file or an Internet socket (Web pages for example), when data is not necessarily available at the beginning of the processing.
Other Packages Related to tclex