1. A computer implemented parsing method, comprising: representing a grammar of a first programming language in member fields and data types of object-oriented classes of a second programming language as an empty program semantic tree; and, building a new program semantic tree that represents source code written in the first programming language, the new program semantic tree being built by a reflection technique in which the member fields and data types of the object-oriented classes of the second programming language as set out in the empty program semantic tree are modified during the building of the new program semantic tree.