of a natural language expression fig3 illustrates an exemplary user interface 300 for entering an expression 302 to search program code 304 in this example the search query expression 302 is u201c is the return statement the last statement u201d here the result is u201c yes u201d and the user interface 300 shows the last return statement 306 with emphasis e g highlighting the user interface 300 can then step through the results based on user interaction for example fig4 illustrates that a user can navigate between the program code 304 and the abstract syntax tree 204 the abstract syntax tree 204 in the xml document presented above includes a u201c parameter u201d term the parameter term includes a start position parameter startpos and an end position parameter endpos this means that a relationship exists for moving between the abstract syntax tree 204 and code e g source representation the parameter in this case named u201c i u201d of type u201c int u201d starts at position 38 and extends to position 43 using this particular information for example the editor program can provide navigation between the abstract syntax tree 204 as shown in a user interface 400 and the actual textual representation in the program code 304 of the user interface 300 other sources of intra navigation include parameters for defining the location of the body declarations variable declaration fields statements methods method modifiers while statements literals.