Programming in a precise syntax using natural language
First Claim
Patent Images
1. A method for assisting with software programming, comprising:
- receiving, via a user interface device, user input in a workspace document, corresponding to a source code file, provided by a software development application that, when executed by one or more computing devices, is configured to evaluate instructions in a precise syntax, wherein the workspace document is for entering instructions in the precise syntax to be evaluated by the software development application;
after receiving the user input, displaying, on a display device, the user input in the workspace document;
determining, with one or more computing devices, whether at least a portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax, including analyzing the user input to determine if the user input includes a user indication, in the precise syntax, that indicates whether at least the portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax;
when it is determined that at least the portion of the user input is in the precise syntax,evaluating, with the software development application executed by one or more computing devices, at least the portion of the user input according to the precise syntax;
when it is determined that at least the portion of the user input is in the imprecise syntax,based on at least the portion of the user input in the imprecise syntax, determining, with one or more computing devices, an instruction in the precise syntax that i) corresponds to at least the portion of the user input in the imprecise syntax, and ii) is indicated by at least the portion of the user input in the imprecise syntax,after determining the instruction in the precise syntax, including, with one or more computing devices, the instruction in the precise syntax in the workspace document such that the software development application executed by one or more computing devices can evaluate the instruction in the precise syntax, wherein including the instruction in the precise syntax in the workspace document comprises simultaneously displaying, on the display device, at least the portion of the user input in the imprecise syntax and the instruction in the precise syntax on the workspace document, andafter including the instruction in the precise syntax in the workspace document, evaluating, with the software development application executed by one or more computing devices, the instruction in the precise syntax;
wherein determining the instruction in the precise syntax comprises;
generating, with the software development application, an application programming interface (API) call that includes i) the at least the portion of the user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document;
sending, with the software development application, the API call to a software development assistance system;
processing, with the software development assistance system, the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax;
formatting, with the software development assistance system, the instruction in the precise syntax according to a format recognized by the software development application; and
receiving the instruction in the precise syntax from the software development assistance system, wherein receiving the instruction in the precise syntax from the software development assistance system is responsive to sending the API call to the software development assistance system, and wherein the instruction in the precise syntax is for generating a modification of the result of the previous evaluation.
2 Assignments
0 Petitions
Accused Products
Abstract
A method facilitates development of instructions in a precise syntax, such as software source code or built-in functions of a computational system, using natural language (NL) input. A user may enter NL input in a workspace. An NL processing system may process the NL input to generate instruction(s) in a precise syntax that corresponds to the NL input. The instruction(s) in the precise syntax then may be included in the workspace.
-
Citations
25 Claims
-
1. A method for assisting with software programming, comprising:
-
receiving, via a user interface device, user input in a workspace document, corresponding to a source code file, provided by a software development application that, when executed by one or more computing devices, is configured to evaluate instructions in a precise syntax, wherein the workspace document is for entering instructions in the precise syntax to be evaluated by the software development application; after receiving the user input, displaying, on a display device, the user input in the workspace document; determining, with one or more computing devices, whether at least a portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax, including analyzing the user input to determine if the user input includes a user indication, in the precise syntax, that indicates whether at least the portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax; when it is determined that at least the portion of the user input is in the precise syntax, evaluating, with the software development application executed by one or more computing devices, at least the portion of the user input according to the precise syntax; when it is determined that at least the portion of the user input is in the imprecise syntax, based on at least the portion of the user input in the imprecise syntax, determining, with one or more computing devices, an instruction in the precise syntax that i) corresponds to at least the portion of the user input in the imprecise syntax, and ii) is indicated by at least the portion of the user input in the imprecise syntax, after determining the instruction in the precise syntax, including, with one or more computing devices, the instruction in the precise syntax in the workspace document such that the software development application executed by one or more computing devices can evaluate the instruction in the precise syntax, wherein including the instruction in the precise syntax in the workspace document comprises simultaneously displaying, on the display device, at least the portion of the user input in the imprecise syntax and the instruction in the precise syntax on the workspace document, and after including the instruction in the precise syntax in the workspace document, evaluating, with the software development application executed by one or more computing devices, the instruction in the precise syntax; wherein determining the instruction in the precise syntax comprises; generating, with the software development application, an application programming interface (API) call that includes i) the at least the portion of the user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document; sending, with the software development application, the API call to a software development assistance system; processing, with the software development assistance system, the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax; formatting, with the software development assistance system, the instruction in the precise syntax according to a format recognized by the software development application; and receiving the instruction in the precise syntax from the software development assistance system, wherein receiving the instruction in the precise syntax from the software development assistance system is responsive to sending the API call to the software development assistance system, and wherein the instruction in the precise syntax is for generating a modification of the result of the previous evaluation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A tangible, non-transitory computer readable storage medium or media storing machine readable instructions that, when executed by one or more processors, cause the one or more processors to:
-
responsive to receiving a user input via a user interface device, cause the user input to be displayed in a workspace document, corresponding to a source code file, on a display device, the workspace document provided by a software development application executed by one or more computing devices, wherein the user input is received via the workspace document, wherein the workspace document is for entering instructions in a precise syntax to be evaluated by the software development application, wherein the software development application, when executed by one or more computing devices, is configured to evaluate instructions in the precise syntax; determine whether at least a portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax, including analyzing the user input to determine if the user input includes a user indication, in the precise syntax, that indicates whether at least the portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax; when it is determined that at least the portion of the user input is in the precise syntax, evaluate, with the software development application executed by one or more computing devices, at least the portion of the user input according to the precise syntax; when it is determined that at least the portion of the user input is in the imprecise syntax, based on at least the portion of the user input in the imprecise syntax, determine an instruction in the precise syntax that i) corresponds to at least the portion of the user input in the imprecise syntax, and ii) is indicated by at least the portion of the user input in the imprecise syntax, after determining the instruction in the precise syntax, include the instruction in the precise syntax in the workspace document such that the software development application executed by one or more computing devices can evaluate the instruction in the precise syntax, wherein including the instruction in the precise syntax in the workspace document comprises causing at least the portion of the user input in the imprecise syntax and the instruction in the precise syntax to be displayed simultaneously in the workspace document on the display device, and after including the instruction in the precise syntax in the workspace document, evaluate, with the software development application executed by one or more computing devices, the instruction in the precise syntax; wherein determining the instruction in the precise syntax comprises; generating, with the software development application, an application programming interface (API) call that includes i) the at least the portion of the user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document; sending, with the software development application, the API call to a software development assistance system; processing, with the software development assistance system, the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax; formatting, with the software development assistance system, the instruction in the precise syntax according to a format recognized by the software development application; and receiving the instruction in the precise syntax from the software development assistance system, wherein receiving the instruction in the precise syntax from the software development assistance system is responsive to sending the API call to the software development assistance system, and wherein the instruction in the precise syntax is for generating a modification of the result of the previous evaluation.
-
-
11. A method, comprising:
-
receiving, via a user interface device, first user input in a precise syntax, the first user input including a first keyword corresponding to a first instruction, wherein a software development application, when executed by one or more computing devices, is configured to evaluate instructions in the precise syntax including the first instruction and a second instruction, wherein the first user input is received via a workspace document, corresponding to a source code file, provided by the software development application, and wherein the workspace document is for entering instructions in the precise syntax to be evaluated by the software development application; including, with one or more computing devices, the first instruction in the precise syntax in the workspace document displayed on a display device; receiving, via the user interface device and via the workspace document, second user input, the second user input indicating an argument of the first instruction; determining, with one or more computing devices, whether at least a portion of the second user input i) is in the precise syntax, or ii) is in an imprecise syntax, including analyzing the second user input to determine if the second user input includes a user indication, in the precise syntax, that indicates whether at least the portion of the second user input i) is in the precise syntax, or ii) is in an imprecise syntax; when it is determined that at least the portion of the second user input is in the precise syntax, evaluating, with the software development application executed by one or more computing devices, the first user input and the second user input according to the precise syntax; when it is determined that at least the portion of the second user input is in the imprecise syntax, based on at least the portion of the second user input in the imprecise syntax, determining, with one or more computing devices, that the second user input in the imprecise syntax i) corresponds to a second instruction in the precise syntax, and ii) indicates the second instruction in the precise syntax, after determining that at least the portion of the second user input in the imprecise syntax corresponds to the second instruction in the precise syntax, including, with one or more computing devices, the second instruction in the precise syntax in the workspace document such that the software development application executed by one or more computing devices can evaluate the second instruction in the precise syntax, and such that the second instruction is included in the workspace document as an argument of the first instruction, and after including the second instruction in the precise syntax in the workspace document as an argument of the first instruction, evaluating, with the software development application executed by one or more computing devices, the first instruction and the second instruction; wherein determining that the second user input in the imprecise syntax corresponds to the second instruction in the precise syntax comprises; generating, with the software development application, an application programming interface (API) call that includes i) the at least the portion of the second user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document; sending, with the software development application, the API call to a software development assistance system; processing, with the software development assistance system, the API call to determine the second instruction in the precise syntax that corresponds to the second user input in the imprecise syntax; formatting, with the software development assistance system, the second instruction in the precise syntax according to a format recognized by the software development application; and receiving the second instruction in the precise syntax from the software development assistance system, wherein receiving the second instruction in the precise syntax from the software development assistance system is responsive to sending the API call to the software development assistance system, and wherein the second instruction in the precise syntax is for generating a modification of the result of the previous evaluation. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A tangible, non-transitory computer readable storage medium or media storing machine readable instructions that, when executed by one or more processors, cause the one or more processors to:
-
responsive to receiving first user input in a precise syntax via a user interface device, the first user input including a first keyword corresponding to a first instruction, include a first instruction in a precise syntax in a workspace document, corresponding to a source code file, displayed on a display device, the workspace document provided by a software development application executed by one or more computing devices, wherein the first user input is received via the workspace document, wherein the workspace document is for entering instructions in the precise syntax to be evaluated by the software development application, wherein the software development application, when executed by one or more computing devices, is configured to evaluate instructions in the precise syntax including the first instruction and a second instruction; determine whether at least a portion of second user input i) is in the precise syntax, or ii) is in an imprecise syntax, including analyzing the second user input to determine if the second user input includes a user indication, in the precise syntax, that indicates whether at least the portion of the second user input i) is in the precise syntax, or ii) is in an imprecise syntax, wherein the second user input is received via the user interface device and via the workspace document, the second user input indicating an argument of the first instruction; when it is determined that at least the portion of the second user input is in the precise syntax, evaluate, with the software development application executed by one or more computing devices, the first user input and the second user input according to the precise syntax; when it is determined that at least the portion of the second user input is in the imprecise syntax, based on at least the portion of the second user input in the imprecise syntax, determine that the second user input in the imprecise syntax i) corresponds to a second instruction in the precise syntax, and ii) indicates the second instruction in the precise syntax, after determining that at least the portion of the second user input in the imprecise syntax corresponds to the second instruction in the precise syntax, include the second instruction in the precise syntax in the workspace document such that the software development application executed by one or more computing devices can evaluate the second instruction in the precise syntax, and such that the second instruction is included in the workspace document as an argument of the first instruction, and after including the second instruction in the precise syntax in the workspace document as an argument of the first instruction, evaluate, with the software development application executed by one or more computing devices, the first instruction and the second instruction; wherein determining that the second user input in the imprecise syntax corresponds to the second instruction in the precise syntax comprises; generating an application programming interface (API) call that includes i) the at least the portion of the second user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document; sending the API call to a software development assistance system; processing, with the software development assistance system, the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax; formatting, with the software development assistance system, the instruction in the precise syntax according to a format recognized by the software development application; and receiving the second instruction in the precise syntax from the software development assistance system, wherein receiving the second instruction in the precise syntax from the software development assistance system is responsive to sending the API call to the software development assistance system, and wherein the second instruction in the precise syntax is for generating a modification of the result of the previous evaluation. - View Dependent Claims (21)
-
-
22. A system, comprising:
-
one or more processors; a tangible, non-transitory computer readable storage medium or media storing machine readable instructions that, when executed by one or more processors, cause the one or more processors to; responsive to receiving a user input via a user interface device, cause the user input to be displayed in a workspace document, corresponding to a source code file, on a display device, the workspace document provided by a software development application executed by one or more computing devices, wherein the user input is received via the workspace document, wherein the workspace document is for entering instructions in a precise syntax to be evaluated by the software development application, wherein the software development application, when executed by one or more computing devices, is configured to evaluate instructions in the precise syntax; determine whether at least a portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax, including analyzing the user input to determine if the user input includes a user indication, in the precise syntax, that indicates whether at least the portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax; when it is determined that at least the portion of the user input is in the precise syntax, evaluate, with the software development application executed by one or more computing devices, the at least the portion of the user input according to the precise syntax; when it is determined that at least the portion of the user input is in the imprecise syntax, based on at least the portion of the user input in the imprecise syntax, determine an instruction in the precise syntax that i) corresponds to at least the portion of the user input in the imprecise syntax, and ii) is indicated by at least the portion of the user input in the imprecise syntax, after determining the instruction in the precise syntax, include the instruction in the precise syntax in the workspace document such that the software development application executed by one or more computing devices can evaluate the instruction in the precise syntax, wherein including the instruction in the precise syntax in the workspace document comprises causing at least the portion of the user input in the imprecise syntax and the instruction in the precise syntax to be displayed simultaneously in the workspace document on the display device, and after including the instruction in the precise syntax in the workspace document, evaluate, with the software development application executed by one or more computing devices, the instruction in the precise syntax; wherein determining the instruction in the precise syntax comprises; generating an application programming interface (API) call that includes i) the at least the portion of the user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document; sending the API call to a software development assistance system; processing, with the software development assistance system, the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax; formatting, with the software development assistance system, the instruction in the precise syntax according to a format recognized by the software development application; and receiving the instruction in the precise syntax from the software development assistance system, wherein receiving the instruction in the precise syntax from the software development assistance system is responsive to sending the API call to the software development assistance system, and wherein the instruction in the precise syntax is for generating a modification of the result of the previous evaluation. - View Dependent Claims (23)
-
-
24. A system, comprising:
-
one or more processors; a tangible, non-transitory computer readable storage medium or media storing machine readable instructions that, when executed by one or more processors, cause the one or more processors to; responsive to receiving first user input in a precise syntax via a user interface device, the first user input including a first keyword corresponding to a first instruction, include a first instruction in a precise syntax in a workspace document, corresponding to a source code file, displayed on a display device, the workspace document provided by a software development application executed by one or more computing devices, wherein the first user input is received via the workspace document, wherein the workspace document is for entering instructions in the precise syntax to be evaluated by the software development application, wherein the software development application, when executed by one or more computing devices, is configured to evaluate instructions in the precise syntax including the first instruction and a second instruction; determine whether at least a portion of second user input i) is in the precise syntax, or ii) is in an imprecise syntax, including analyzing the second user input to determine if the second user input includes a user indication, in the precise syntax, that indicates whether at least the portion of the second user input i) is in the precise syntax, or ii) is in an imprecise syntax, wherein the second user input is received via the user interface device and via the workspace document, the second user input indicating an argument of the first instruction; when it is determined that at least the portion of the second user input is in the precise syntax, evaluate, with the software development application executed by one or more computing devices, the first user input and the second user input according to the precise syntax; when it is determined that at least the portion of the second user input is in the imprecise syntax, based on at least the portion of the second user input in the imprecise syntax, determine that the second user input in the imprecise syntax i) corresponds to a second instruction in the precise syntax, and ii) indicates the second instruction in the precise syntax, after determining that at least the portion of the second user input in the imprecise syntax corresponds to the second instruction in the precise syntax, include the second instruction in the precise syntax in the workspace document such that the software development application executed by one or more computing devices can evaluate the second instruction in the precise syntax, and such that the second instruction is included in the workspace document as an argument of the first instruction, and after including the second instruction in the precise syntax in the workspace document as an argument of the first instruction, evaluate, with the software development application executed by one or more computing devices, the first instruction and the second instruction; wherein determining that the second user input in the imprecise syntax corresponds to the second instruction in the precise syntax comprises; generating an application programming interface (API) call that includes i) the at least the portion of the second user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document; sending the API call to a software development assistance system; processing, with the software development assistance system, the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax; formatting, with the software development assistance system, the instruction in the precise syntax according to a format recognized by the software development application; and receiving the second instruction in the precise syntax from the software development assistance system, wherein receiving the second instruction in the precise syntax from the software development assistance system is responsive to sending the API call to the software development assistance system, and wherein the second instruction in the precise syntax is for generating a modification of the result of the previous evaluation. - View Dependent Claims (25)
-
Specification