Per-keystroke incremental lexing using a conventional batch lexer, Apr. 7, 1998, Patent no. 5,737,608
System and method for textual editing of structurally-represented computer programs with on-the-fly typographical display, May 5, 1998, Patent no. 5,748,975
System and method for inter-token whitespace representation and textual editing behavior in a program editor, May 12, 1998, Patent no. 5,752,058
System and method for integrating editing and versioning in data repositories, Sept. 8, 1998, Patent no. 5,805,889
Token-based computer program editor with program comment management, Sept. 22, 1998, Patent no. 5,813,019
Method and apparatus for diagnosing lexical errors, Sept. 1, 1998, Patent no. 5,802,262
System and method for horizontal alignment of tokens in a structural representation program editor, Jan. 5, 1999, Patent no. 5,857,212
Language-sensitive whitespace adjustment in a software engineering tool, Oct. 3, 2006, Patent no. 7,117,479
Interactive software engineering tool with support for embedded lexical contexts (with Marat Boshernitsan), Oct. 24, 2006, Patent no. 7,127,704
Method and apparatus for accessing related computer objects (with John C. Tang, Donald R. Gentner, Nicole Y. Mordecai, and James M. A. Begole), January 2, 2007, Patent no. 7,159,207
Undo/redo technique for token-oriented representation of program code (with Kenneth B. Urquhart), June 10, 2008, Patent no. 7,386,834
Tracking object fields using relocatable object watchpoints (with Hannes Payer, Douglas Simon, Benjamin Titzer, and Mario Wolczko), July 16, 2013, Patent no. 8489652