1. A method comprising: determining a set of code sections from a plurality of code sections to analyze for compiling based, at least in part, on a target version indicated in a compile command and on a plurality of compile directives that indicate interface versions that direct compiling, wherein the set of code sections is associated with a set of the plurality of compile directives that indicates interface versions that correspond to the target version, wherein an interface definition language program code comprises the plurality of code sections and the plurality of compile directives; determining whether a change between a first of the set of code sections and a second of the set of code sections causes a semantic error, wherein the first code section is associated with a first of a set of version directives that indicates a first range of interface versions and the second code section is associated with a second of the set of version directives that indicates a second range of interface versions; and providing the set of code sections for generation of an intermediate representation of the set of code sections in response to a determination that no semantic error is caused by a change among the set of code sections corresponding to different version ranges.