[ddp] tclex : A lexical analyzer generator for Tcl

daily-debian-package at enix.org daily-debian-package at enix.org
Mon Aug 6 12:00:09 CEST 2007


Hello,

Today, I'm happy to present you the Debian package tclex, which is part
of the interpreters section, and maintained by Debian QA Group
<packages at qa.debian.org>. 

This package contains : 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.


Package homepage     :
 http://packages.debian.org/unstable/interpreters/tclex

Package bug homepage :
 http://bugs.debian.org/tclex

Package QA homepage  :
 http://packages.qa.debian.org/tclex

Have fun with Debian packages !

-- 
Daily Debian package, by Thomas Petazzoni, thanks to Jérome Petazzoni
Daily-debian-package at the-doors.enix.org
http://the-doors.enix.org/cgi-bin/mailman/listinfo/daily-debian-package
http://thomas.enix.org/DebianPackageDay


More information about the Daily-debian-package mailing list