17. At least one tangible non-transitory machine-readable medium having instructions store thereon configured, upon execution by one or more machines, to enable interactive editing of software source code by performing operations comprising: maintaining a structured tree representation of the source code, the structured tree representation comprising a plurality of nodes, including nodes associated with respective identifiers, operands, operators, variables, and flow control elements in the source code, and nodes associated with non-syntax aspects of a text-based representation of the source code; and enabling the source code to be interactively edited by performing a continuous loop of operations including, unparsing a localized portion of the structured tree representation corresponding to a portion of source code displayed via an editor and being edited and deriving tokens corresponding to a localized portion of source code being edited; processing the tokens to generate a text-based representation of the localized portion of the source code; enabling the text-based representation of the source code to be edited by a user via the editor; in response to an edit to the text-based representation of the source code, at least one of, i) generating one or more new tokens; ii) deleting one or more tokens that existed before the edit; and iii) changing text content associated with an existing token; parsing tokens including tokens corresponding to the portion of the source that was edited; and processing the parsed tokens to update the localized portion of the structured tree representation to reflect the edit to the source code.
17. At least one tangible non-transitory machine-readable medium having instructions store thereon configured, upon execution by one or more machines, to enable interactive editing of software source code by performing operations comprising: maintaining a structured tree representation of the source code, the structured tree representation comprising a plurality of nodes, including nodes associated with respective identifiers, operands, operators, variables, and flow control elements in the source code, and nodes associated with non-syntax aspects of a text-based representation of the source code; and enabling the source code to be interactively edited by performing a continuous loop of operations including, unparsing a localized portion of the structured tree representation corresponding to a portion of source code displayed via an editor and being edited and deriving tokens corresponding to a localized portion of source code being edited; processing the tokens to generate a text-based representation of the localized portion of the source code; enabling the text-based representation of the source code to be edited by a user via the editor; in response to an edit to the text-based representation of the source code, at least one of, i) generating one or more new tokens; ii) deleting one or more tokens that existed before the edit; and iii) changing text content associated with an existing token; parsing tokens including tokens corresponding to the portion of the source that was edited; and processing the parsed tokens to update the localized portion of the structured tree representation to reflect the edit to the source code. 18. The at least one tangible non-transitory machine-readable medium of claim 17 , wherein execution of the instructions further performs an incremental lexical analysis of the portion of the text-based representation of the source code to which the edit is made, the incremental lexical analysis resulting in at least one of generating the one or more new tokens and deleting one or more tokens that existed before the edit.