LEXX (text editor)
LEXX is a text editor which was possibly the first to use live parsing and colour syntax highlighting. It was written by Mike Cowlishaw of IBM around 1985. The name was chosen because he wrote it as a tool for lexicographers, during an assignment for Oxford University Press's second edition of the Oxford English Dictionary. The program ran (and still, 2012, runs) on mainframes under VM/CMS. LEXX's design was chosen as a middle ground between specialized syntax directed editors such as Grif and JANUS and general purpose editors such as the contemporary Emacs and XEDIT.
LEXX uses dynamically-loaded parsers which assign classes of elements (tokens formed from character strings) to fonts and colors. 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.
- Mike Cowlishaw FREng BSc CEng FIET FBCS CITP, IBM, retrieved 2008-10-08,
In 1985 he was seconded to the Oxford University Press to write a syntax-directed colour-coding editor for the SGML text of the second edition of the Oxford English Dictionary. That editor (the live parsing editor, called LEXX) and its LPEX derivatives became part of the IBM VisualAge range of products, running on VM/CMS, OS/2, OS/400, AIX, Windows, and Java. Mike remains a consultant to the Oxford English Dictionary.
- Cowlishaw, M. F. (1987), "LEXX – A programmable structured editor", IBM Journal of Research and Development (PDF), 31, No. 1
- Baker, Bruce Raymond; Storisteanu, Adrian (February 6, 2001), Text edit system with enhanced undo user interface 6185591, Palmer Patent, retrieved 2008-10-08,
A publication describing editors in general, as well as the LEXX editor in particular, is entitled LEXX--A Programmable Structured Editor, by M. F. Cowlishaw, published in the IBM Journal of Research and Development, Volume 31, No. 1, Jan. 1987, pp. 73-80. This paper describes details of aspects and capabilities of various text editors and structured editors. LEXX is a general purpose editor that can edit both documentation and programs while making evident the structure of the data being edited. LEXX is an editor that can be programmed not only to understand and present the structure of data, but also to display those data in a variety of styles and colors in order to best match the data to the user and to the task being performed. The result is a programmable editor that can be customized to suit the data, the task and the needs of the user.
A further development of the LEXX editor that can also be used to create and edit many kinds of data, including programs and documentation, is referred to as the Live Parsing Extensible Editor (LPEX), which runs on workstations. The live parsing capability permits external commands and edit macros attached to the editor to monitor changes made to a document as the user works with and manipulates the document. Details of the LPEX editor can be found in the LPEX User's Guide and Reference Manual, IBM publication no. SC09-2202, available from International Business Machines Corporation.
- Foulger, Davis, Agent Software Prototypes and Implementations, retrieved 2008-10-08,
E2TEXT and Active Intent Interpretation (1987-91)
The word processor for which BBMODEL was developed was IBM's third attempt to build an intent-based markup-oriented editor. Prior attempts (MARKUP and LEXX/LPEX; both IBM products) both suffered from the same problem, the requirement that users explicitly declare tags for various standard structures. Ami Pro, MicroSoft Word, and other editors that allow paragraph styles, still suffer from this problem. E2TEXT prototyped what is now a patented alternative to such explicit declaration of intent, an active intent interpretation system in which the system infers intent as users type. Users of an active intent interpretation system like E2TEXT simply type in the way they might at a typewriter.
- LEXX screenshots
- Clark, Douglas (February 16, 2003), LPEX - The 'Other' Programmer's Editor, OS/2 eZine, retrieved 2008-10-08,
LPEX gets its initials from the name "live parsing editor." It parses the lines you type, as your type them, and displays syntax errors immediately; you don't have to run the source code through the compiler or interpreter to catch simple syntax errors. This can be a huge time saver regardless of whether you are writing C code or Rexx code. LPEX comes with "profiles" for C, C++, Cobol with and without embeded SQL, Fortran, JCL, Pascal, OS/2 .RC type files, and Rexx to name a few... LPEX also has a compare feature that will load two files up in side by side views and show the differences between the files.
- Woehr, Jack (March 1, 1996), A Conversation with Michael Cowlishaw, Dr. Dobb's, retrieved 2008-10-08,
MFC: Around 1985, the Oxford University Press needed an editor that could handle highly structured data: the content of the Oxford English Dictionary, which is about a 20-volume, 1000-page-per-volume dictionary. They had chosen to mark it up with SGML, but they didn't have a good editor. In fact, nobody had a good editor at that time for dealing with that complexity of data. So I wrote an editor for them called "LEXX" which ran on IBM mainframes.
The Oxford English Dictionary was originally only in hard copy. It all had to be retyped to be put into electronic form, and then the structure of that data was marking the things that were headwords, things which were content, things that were quotations...that markup is all SGML.
LPEX is a reimplementation of LEXX. It's the same design under the covers, as far as the data and the way that the parsing is done, and so on, but it's reimplemented for OS/2 and AIX platforms. It's now mostly used for program editing, because of its ability to parse data and color keywords, and other features.
- LPEX for Eclipse summary
- Casey, John (July 12, 2006), Creating user profiles for the LPEX editor in WebSphere Developer for zSeries v6.0, IBM, retrieved 2008-10-08
- Casey, John (June 8, 2006), Extending the LPEX Editor in WebSphere Developer for zSeries v6.0, IBM, retrieved 2008-10-08
- G. F. Coulouris; I. Durham; J. R. Hutchinson; H. H. Patel; T. Reeves; D. G. Winderbank (October 27, 2006), "The design and implementation of an interactive document editor", Software: Practice and Experience, 6 Issue 2, Wiley Interscience
- Introducing the LPEX Editor, IBM, 1998, retrieved 2008-10-08