factor/basis/xmode
Doug Coleman 9f213f96f6 core: Add the shuffler words but without primitives.
The nipd branch slowed bootstrap by a minute, this patch does not.

sorry about changing the fjsc line endings...
2018-06-19 22:52:58 -05:00
..
catalog core: Add the shuffler words but without primitives. 2018-06-19 22:52:58 -05:00
code2html more test IN: cleanup. 2018-02-15 09:20:01 -08:00
highlight xmode.highlight: highlight vocabs and pathnames too. 2013-03-28 21:03:17 -07:00
keyword-map more test IN: cleanup. 2018-02-15 09:20:01 -08:00
loader xmode.loader: use with-variable instead of with-scope. 2016-12-05 10:35:01 -08:00
marker more test IN: cleanup. 2018-02-15 09:20:01 -08:00
modes let's pretend BIN: HEX: OCT: never happened 2011-11-23 19:22:37 -08:00
rules more test IN: cleanup. 2018-02-15 09:20:01 -08:00
tokens core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
utilities factor: Rename MACRO: and MACRO: to have quot as the output in stack effects. 2015-07-18 22:16:11 -07:00
README.txt Remove executable bit from tons of files that aren't 2014-11-05 20:40:42 -08:00
authors.txt Move web framework to basis 2008-09-04 18:15:13 -05:00
summary.txt Move web framework to basis 2008-09-04 18:15:13 -05:00
xmode.dtd Move web framework to basis 2008-09-04 18:15:13 -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. If you
  find a mode file which depends on this flaw, please fix it and submit
  the changes to the jEdit project.

- References to non-existent rule sets in IMPORT tags and DELEGATE
  attributes were ignored in jEdit. They raise an error in Factor.

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.