A system for generating industrial control programming, comprising: a processor, operatively coupled to a memory, that executes executable components stored on the memory, the executable components comprising: a user interface component configured to render, on a client device, a text-based engineering document for an industrial automation system, and to receive selection of first text within the engineering document; an annotation component configured to receive, via the user interface component, annotation data describing first control logic for an interlock or step sequence to be implemented by an industrial controller of the industrial automation system, and to associate the annotation data with the first text, wherein the annotation data comprises a tag name to which the interlock or step sequence applies, and wherein the annotation data further comprises an indication of a control program instruction and of one or more parameters associated with the control program instruction; a code generation component configured to generate first control code for the interlock or step sequence based on the first control logic defined by the annotation data, wherein generating the first control code comprises translating the annotation data to executable control code for the interlock or step sequence that is incorporated into the first control code for the interlock or step sequence; a model update component configured to update a learning model based on the first text and the annotation data, wherein the learning model records relationships between the first text and the first control logic, wherein the relationships comprise a type of control instruction associated with a format of the first text and a correlation between a portion of the first text and the tag name included in the first control logic, wherein the learning model is trained to identify text indicative of interlock or step sequence descriptions and having a format similar to that of the first text, and to translate the text to control logic; and a document analysis component configured to identify, based on the learning model, second text having the format similar to that of the first text and to generate second control logic based on the second text and the learning model, wherein the document analysis component is configured to generate the second control logic based on application of the relationships to the second text, and wherein the code generation component is further configured to generate second control code based on the second control logic. a user interface component configured to render, on a client device, a text-based engineering document for an industrial automation system, and to receive selection of first text within the engineering document; an annotation component configured to receive, via the user interface component, annotation data describing first control logic for an interlock or step sequence to be implemented by an industrial controller of the industrial automation system, and to associate the annotation data with the first text, wherein the annotation data comprises a tag name to which the interlock or step sequence applies, and wherein the annotation data further comprises an indication of a control program instruction and of one or more parameters associated with the control program instruction; a code generation component configured to generate first control code for the interlock or step sequence based on the first control logic defined by the annotation data, wherein generating the first control code comprises translating the annotation data to executable control code for the interlock or step sequence that is incorporated into the first control code for the interlock or step sequence; a model update component configured to update a learning model based on the first text and the annotation data, wherein the learning model records relationships between the first text and the first control logic, wherein the relationships comprise a type of control instruction associated with a format of the first text and a correlation between a portion of the first text and the tag name included in the first control logic, wherein the learning model is trained to identify text indicative of interlock or step sequence descriptions and having a format similar to that of the first text, and to translate the text to control logic; and a document analysis component configured to identify, based on the learning model, second text having the format similar to that of the first text and to generate second control logic based on the second text and the learning model, wherein the document analysis component is configured to generate the second control logic based on application of the relationships to the second text, and wherein the code generation component is further configured to generate second control code based on the second control logic.