factor/extra/xmode
Slava Pestov 9a0d318b91 Updating extra/xmode 2007-12-02 05:25:18 -05:00
..
catalog Importing extra/xmode (port of jEdit's 'XMode' syntax highlighting engine) 2007-11-28 23:34:11 -05:00
code2html Importing extra/xmode (port of jEdit's 'XMode' syntax highlighting engine) 2007-11-28 23:34:11 -05:00
keyword-map Importing extra/xmode (port of jEdit's 'XMode' syntax highlighting engine) 2007-11-28 23:34:11 -05:00
loader Updating extra/xmode 2007-12-02 05:25:18 -05:00
marker Updating extra/xmode 2007-12-02 05:25:18 -05:00
modes Importing extra/xmode (port of jEdit's 'XMode' syntax highlighting engine) 2007-11-28 23:34:11 -05:00
rules Updating extra/xmode 2007-12-02 05:25:18 -05:00
tokens Importing extra/xmode (port of jEdit's 'XMode' syntax highlighting engine) 2007-11-28 23:34:11 -05:00
utilities Importing extra/xmode (port of jEdit's 'XMode' syntax highlighting engine) 2007-11-28 23:34:11 -05:00
README.txt Updating extra/xmode 2007-12-02 05:25:18 -05:00
authors.txt Add meta-data for extra/xmode 2007-11-28 23:38:07 -05:00
summary.txt Add meta-data for extra/xmode 2007-11-28 23:38:07 -05:00
xmode.dtd Importing extra/xmode (port of jEdit's 'XMode' syntax highlighting engine) 2007-11-28 23:34:11 -05:00

README.txt

This is a Factor port of the jEdit 4.3 syntax highlighting engine
(http://www.jedit.org).

jEdit 1.2, released in late 1998, was the first release to support
syntax highlighting. It featured a small number of hand-coded
"token markers" -- simple incremental parers -- all based on the
original JavaTokenMarker contributed by Tal Davidson.

Around the time of jEdit 1.5 in 1999, Mike Dillon began developing a
jEdit plugin named "XMode". This plugin implemented a generic,
rule-driven token marker which read mode descriptions from XML files.
XMode eventually matured to the point where it could replace the
formerly hand-coded token markers.

With the release of jEdit 2.4, I merged XMode into the core and
eliminated the old hand-coded token markers.

XMode suffers from a somewhat archaic design, and was written at a time
when Java VMs with JIT compilers were relatively uncommon, object
allocation was expensive, and heap space tight. As a result the parser
design is less general than it could be.

Furthermore, the parser has a few bugs which some mode files have come
to depend on:

- If a RULES tag does not define any keywords or rules, then its
  NO_WORD_SEP attribute is ignored.

  The Factor implementation duplicates this behavior.

- if a RULES tag does not have a NO_WORD_SEP attribute, then
  it inherits the value of the NO_WORD_SEP attribute from the previous
  RULES tag.

  The Factor implementation does not duplicate this behavior.

This is still a work in progress. If you find any behavioral differences
between the Factor implementation and the original jEdit code, please
report them as bugs. Also, if you wish to contribute a new or improved
mode file, please contact the jEdit project. Updated mode files in jEdit
will be periodically imported into the Factor source tree.