LSE

HomePage | RecentChanges | EditorIndex | TextEditorFamilies | Preferences

 Language Sensitive Editor or LSE is a text editor implemented in TPU MacroLanguage.

 Author:   Digital Equipment Corporation (now part of HP
 Manual:   http://h71000.www7.hp.com/doc/73FINAL/5340/5340_.htm
 Family:   DECFamily
 Platform: VMS, OpenVMS
 License:  Commercial

It has the unique ability to allow programmers to insert code blocks into a text buffer and selectively expand each definition it is presented with. This allows programmers who may not be as familiar with a language (and all of its variants) to get help with the "grammar" of the language.

As I recall, you would start off with a simple template, say for Pascal. (I'm inventing syntax as I go).

program <<name>> <<declarations>> <<proceduresorfunctions>> begin

     <<code>>
end.

After placing the cursor on declarations and instructing LSE to expand, you might see:

program <<name>> <<constdeclaration>> <<types>> <<vardeclarations>> <<proceduresorfunctions>> begin

     <<code>>
end.

Repeating the procedure for types, you might see:

program <<name>> <<constdeclaration>> <<typename>> = <<scalar|type|array|set>> <<moretypes>> <<vardeclarations>> <<proceduresorfunctions>> begin

     <<code>>
end.

Selecting scalar, one might see:

program <<name>> <<constdeclaration>> <<typename>> = <<real|integer|char>> <<moretypes>> <<vardeclarations>> <<proceduresorfunctions>> begin

     <<code>>
end.

As you can see by this crude example, LSE was cool because it knew the language. Literally, the user would navigate the EBNF syntax tree for the language. Naturally, this worked better on languages with simple trees and/or more syntactic sugar.


HomePage | RecentChanges | EditorIndex | TextEditorFamilies | Preferences
Edit text of this page | View other revisions
Last edited September 27, 2007 10:48 pm (diff)
Search: