1. A method comprising: examining, by a computing device, a program code that includes at least procedural programming language statements; detecting, by the computing device, a first non-procedural programming language statement in the program code, the first non-procedural programming language statement having multiple implementations one of which is selected based on a presence or absence of a second non-procedural language statement in the program code; in response to detecting the first non-procedural programming language statement, determining, by the computing device, if the program code includes the second non-procedural programming language statement defining a context specific implementation of the first non-procedural programming language statement; in response to determining that the program code includes the second non-procedural programming language statement, introducing into the program code, by the computing device, a declaration for an undefined variable to flag the presence of the second non-procedural programming language statement, the undefined variable being declared using an extern keyword; inserting, by the computing device, function calls compliant with an Open Database Connectivity (ODBC) standard; compiling, by the computing device, the program code; at link-time, selecting, by the computing device, one of a plurality of alternative object modules based on whether the compiled program code includes the undefined variable, a first of the alternative object modules providing a definition of the undefined variable and the context specific implementation of the first non-procedural programming language statement being selected if the compiled program code includes the undefined variable, and a second of the alternative object modules providing a second implementation of the first non-procedural programming language statement being selected if the compiled program code does not include the undefined variable; and building, by the computing device, an executable program corresponding to the program code by linking-in the selected alternative object module.