LEXX (text editor)

Editing an entry of the NOED using LEXX

LEXX is a text editor which was probably the first to use live parsing and colour syntax highlighting for marked-up text and programs. It was written by Mike Cowlishaw of IBM in 1985. The name was chosen because he wrote it as a tool for lexicographers, during an assignment for Oxford University Press's 'New Oxford English Dictionary' (NOED; the second edition of the Oxford English Dictionary).[1] The program ran (and still, in 2018, runs[2]) on mainframes under VM/CMS.[3] LEXX's design was based on several other editors written by the same author (such as STET) augmented by the ability to dynamically parse text and display colour on the new colour terminals that had recently become available (PC-based, and stand-alone such as the IBM 3279). It is programmable using dynamically-loaded compiled commands (usually written in PL/I) or using interpreted commands (usually written in REXX — hence the 'XX' in 'LEXX').

LEXX uses dynamically-loaded parsers which assign classes of elements (tokens formed from character strings) to fonts and colors.[4] It allows indention to be used to format and show the structure of the file being edited, and other formatting options allow (for example) the hiding of selected classes of text, such as tags. A collection of screenshots is available.[5]

LPEX ('Live Parsing Editor"[6]) is a reimplemented derivative of the LEXX concept, originally produced for OS/2 and AIX.[7] It now also runs on Windows, Linux, and the Java JVM.[8]

  1. ^ Cite error: The named reference cowlishawbio was invoked but never defined (see the help page).
  2. ^ http://www.vm.ibm.com/download/packages/ VM Download Packages
  3. ^ Cite error: The named reference mfc1987 was invoked but never defined (see the help page).
  4. ^ Cite error: The named reference agentsoftware was invoked but never defined (see the help page).
  5. ^ | LEXX screenshots
  6. ^ Cite error: The named reference lpextheother was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference conversationwithcowlishaw was invoked but never defined (see the help page).
  8. ^ LPEX for Eclipse summary