tcl-tclex

Lexical analyzer generator for Tcl

Description

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.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install tcl-tclex