info-gnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Source-highlight 2.0


From: Lorenzo Bettini
Subject: GNU Source-highlight 2.0
Date: Mon, 23 May 2005 12:43:43 +0200
User-agent: Debian Thunderbird 1.0.2 (X11/20050331)

GNU Source-highlight 2.0 has been released.  It is available from
ftp://ftp.gnu.org/gnu/src-highlite/ and mirrors of that site (see
list of mirror sites at http://www.gnu.org/order/ftp.html).

GNU Source-highlight, given a source file, produces a document with
syntax highlighting.

At the moment this package can handle

C/C++
bison
caml
changelog
flex
fortran
html
java
javascript
log files
lua
sml
pascal
perl
php
prolog
python
ruby

as source languages, and

     HTML
     XHTML
     ANSI color escape sequences  (new)

as output format.

The huge novelty is that language specifications are read at run-time,
so that new languages can be easily added dynamically (without
recompiling the sources) by using a simple syntax (you don't have to
learn flex anymore to add a new language).  It now depends on the Boost
regex library (http://www.boost.org/) so you need to install this
library (boost libraries are usually shipped with most distributions).

Here's, for instance, the definition of Java language

----------------  java.lang  ------------------------------
preproc = "import","package"

include "c_comment.lang"

include "number.lang"

string delim "\"" "\"" escape "\\"
string delim "'" "'"  escape "\\"

keyword = "abstract|assert|break|case|catch|class|const",
          "continue|default|do|else|extends|false|final",
          "finally|for|goto|if|implements|instanceof|interface"
keyword = "native|new|null|private|protected|public|return",
          "static|strictfp|super|switch|synchronized|throw",
          "throws|true|this|transient|try|volatile|while"

type = "int|byte|boolean|char|long|float|double|short|void"

include "symbols.lang"

cbracket = "{|}"

include "function.lang"
----------------------------------------------------

Version 2.0

   * Language specifications are read at run-time, so that
     new languages can be easily added dynamically (without recompiling
     the sources) by using a simple syntax.
   * "nonsensitive" for simple definitions
   * cgi version not built automatically
   * failsafe option to simply output the input file when no
     language definition is found
   * functionalities with less improved.

I'd really appreciate some feedback! :-)

there's also a brand new texinfo manual, that also explains the syntax
for language definitions.

Visit the Source-highlight home page at
http://www.gnu.org/software/src-highlite

Anonymous CVS access is also available.  Please visit
http://savannah.gnu.org/projects/src-highlite/
where you can find detailed descriptions of how to access the CVS
(read-only).  Release-candidate versions are available
through CVS.

Bug reports should go to address@hidden

The following mailing lists are available:

    * address@hidden, for generic discussions about the
program and for asking for help about it (open mailing list),
http://mail.gnu.org/mailman/listinfo/help-source-highlight
    * address@hidden, for receiving information about
new releases and features (read-only mailing list),
http://mail.gnu.org/mailman/listinfo/info-source-highlight

if you want to subscribe to a mailing list just go to the URL and follow
the instructions, or send me an e-mail and I'll subscribe you.

cheers
        Lorenzo

--
+-----------------------------------------------------+
|  Lorenzo Bettini          ICQ# lbetto, 16080134     |
|  PhD in Computer Science                            |
|  Dip. Sistemi e Informatica, Univ. di Firenze       |
|  Florence - Italy        (GNU/Linux User # 158233)  |
|  Home Page        : http://www.lorenzobettini.it    |
|  http://music.dsi.unifi.it         XKlaim language  |
|  http://www.lorenzobettini.it/purple    Cover Band  |
|  http://www.gnu.org/software/src-highlite           |
|  http://www.gnu.org/software/gengetopt              |
|  http://www.lorenzobettini.it/software/gengen       |
|  http://www.lorenzobettini.it/software/doublecpp    |
+-----------------------------------------------------+





reply via email to

[Prev in Thread] Current Thread [Next in Thread]