Interactive software engineering tool with support for embedded lexical contexts
First Claim
1. An interactive software engineering tool that, for distinct portions of a single unit of source code, presents a user thereof with behavior according to a corresponding set of lexical rules, wherein transition of the behavior from that in accordance with a first lexical context to that in accordance with a second lexical context is based on recognition of an opening boundary token according to the first lexical context and without use of a structural command to the interactive software engineering tool.
2 Assignments
0 Petitions
Accused Products
Abstract
In response to programmer input of a trigger token, a program editor creates a pair of boundary tokens encapsulating an embedded lexical context and positions an insertion point within the embedded lexical context. The operations on the embedded lexical context are preferably performed using an embeddable sub-editor specialized to the task at hand. Since boundary tokens are generated in pairs, stability of lexical boundaries is enforced. Accordingly, stable implementations of certain desirable behaviors, including language-oriented advanced program typography that is robust to user edits, are facilitated using the invented techniques.
110 Citations
30 Claims
- 1. An interactive software engineering tool that, for distinct portions of a single unit of source code, presents a user thereof with behavior according to a corresponding set of lexical rules, wherein transition of the behavior from that in accordance with a first lexical context to that in accordance with a second lexical context is based on recognition of an opening boundary token according to the first lexical context and without use of a structural command to the interactive software engineering tool.
- 7. An interactive software engineering tool that, in response to introduction of a language-defined opening boundary token at a cursor position in an edit buffer, automatically inserts a corresponding closing boundary token, such that display of edit buffer content past the cursor position maintains its pre-introduction association with a first lexical context and with linguistically-driven typography therefor, while subsequent entry at the cursor position is subject to a second lexical context.
-
12. A method of operating an interactive software engineering tool, the method comprising:
-
rendering a display presentation corresponding to a unit of source code, said display presentation corresponding to at least a first lexical context operative at an insertion point;
recognizing interactive entry of an opening boundary token at the insertion point; and
in response to said recognition of said opening boundary token, creating a second lexical context operative for subsequent interactive entry at the insertion point, wherein the second lexical context is delimited by said opening boundary token and a position in the source code immediately following the insertion point, wherein said opening boundary token is a valid lexical token in accordance with one of the first and the second lexical context and not a non-lexical, structural command to the interactive software engineering tool.
-
-
25. A computer program product encoded in at least one computer readable medium and comprising:
-
functionally-descriptive encodings of at least first and second language contexts; and
instructions at least partially implementing a source code editor that invokes the second language context nested within the first language context based solely on recognition of a boundary token defined by the first language context and entered at the cursor position, while maintaining pre-existing language context past the cursor position.
-
-
30. A computer system comprising:
-
a display;
memory;
a language-based editor program executable thereby; and
a buffer defined by the source code editor program and instantiable in the memory, wherein the language-based editor program renders contents of the buffer to the display in accordance with an associated language context, and wherein the language-based editor program recognizes entry of a transitional opening token defined by a first language context and, in response thereto, associates text subsequently entered into the buffer at an insertion point thereof with a second language context, while maintaining a pre-existing association between the first language context and contents of the buffer past the insertion point.
-
Specification