1. A method comprising: receiving one or more documents that contain one or more flow diagrams in one or more diagram formats supported by the documents; automatically extracting from the flow diagrams one or more flow graphs comprising extracted nodes and edges; automatically extracting from the flow diagrams relational, geometric and textual features for the extracted nodes and edges; automatically learning rules to recognize process semantics based on the extracted nodes and edges, and the relational, geometric and textual features of the extracted nodes and edges; and automatically generating process modeling language code based on the learned rules.