A system and method for code completion, comprising providing a
representation of a first program in a first programming language,
establishing a location in the first program, associating the location
with a representation of the first program, obtaining code completion
information relevant to the location in the first program based on the
representation of the first program, and wherein the obtaining occurs at
the behest of an extensible compiler framework.