17. A method for processing source code comprising: receiving source code; parsing the source code to obtain a high level intermediate representation of the source code; detecting, in the high level intermediate representation of the source code, high level constructs in the high level intermediate representation of the source code that satisfy constraints for parallel-merging high level constructs; and parallel-merging the high level constructs to generate new high level parallel-merged constructs in a modified high level intermediate representation of the source code that enable runtime operations of the high level constructs to execute in parallel using executable code generated from the modified high level intermediate representation; and executing, if the parallel execution of the runtime operations causes an error, executable code generated from unmodified representations of the high level constructs so the runtime operations of the high level constructs execute sequentially during runtime.
17. A method for processing source code comprising: receiving source code; parsing the source code to obtain a high level intermediate representation of the source code; detecting, in the high level intermediate representation of the source code, high level constructs in the high level intermediate representation of the source code that satisfy constraints for parallel-merging high level constructs; and parallel-merging the high level constructs to generate new high level parallel-merged constructs in a modified high level intermediate representation of the source code that enable runtime operations of the high level constructs to execute in parallel using executable code generated from the modified high level intermediate representation; and executing, if the parallel execution of the runtime operations causes an error, executable code generated from unmodified representations of the high level constructs so the runtime operations of the high level constructs execute sequentially during runtime. 29. The method of claim 17 , wherein parallel-merging includes merging constructs where all constructs that get lowered either partly or fully into a distinct straight line code sequence, have a straight line code sequence parallel-merged either partially or fully.