Syntax analysis and language processing system
Method in a structure editor
System and method for documenting and displaying computer program code
Per-keystroke incremental lexing using a conventional batch lexer
System and method for inter-token whitespace representation and textual editing behavior in a program editor Patent #: 5752058
ApplicationNo. 713062 filed on 09/12/1996
US Classes:715/519, Horizontal spacing715/527, Print preview715/530, Edit, composition, or storage control715/531, Text717/111Dynamic
ExaminersPrimary: Burwell, Joseph R.
Attorney, Agent or Firm
International ClassG06F 017/21
AbstractAn editor for structurally represented computer programs transforms user-entered text on-the-fly into a stream of tokens that constitute words of the program under edit. Each token is classified as one of group of extended lexemes, and based upon token stream information the editor prettyprint displays the program as the user types. Prettyprinting involves typesetting each token in a visually distinct manner and displaying a varying amount of visual inter-token whitespace between the tokens, based upon token lexical type. The program may be user-edited from the prettyprinted display as though the program were internally represented as text. Cursor position and display appearance depend on the lexical types of tokens adjacent the cursor. To improve aesthetics of the prettyprinted display, a user may insert one or more alignment markers into lines of associated text. The presence of such marker(s) forces horizontal alignment between associated text lines containing such markers. The presence, number, and occurrence of such markers in associated lines of text is noted, and the pixel distance from a boundary edge to the first occurring marker in each line is calculated. The maximum such distance determines relative position of the first alignment marker. Pixel units are added to the whitespace gap preceding the first marker in the other associated lines to force such markers into alignment with the marker whose position represented the maximum distance. This process is then repeated for second alignment markers in each line, third alignment markers, and so on.