1. A method for enabling interactive editing of software source code, 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.