LSE

HomePage | RecentChanges | EditorIndex | TextEditorFamilies | Preferences

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

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 revision 3 of this page | View other revisions | View current revision
Edited June 26, 2004 12:47 am (diff)
Search: