Aggregate handling of operator overloading
First Claim
1. A computer-accessible memory medium comprising program instructions implementing a program development environment, wherein the program instructions are executable by a processor to implement:
- creating a graphical program in response to user input, wherein the graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the program, wherein the graphical program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the graphical program further includes an operator applied to the aggregate, wherein the operator comprises a node configured to invoke an intrinsic operator function, wherein at least one of the one or more data types comprises a user-defined data type, and wherein the user-defined data type specifies a user-defined operator function for the operator;
automatically analyzing the aggregate to determine one or more operator functions implementing the operator for the plurality of data elements, including the user- defined operator function; and
in response to said automatically analyzing, automatically generating executable code invoking the one or more operator functions for the plurality of data elements, including the user-defined operator function, wherein the executable code comprises a second plurality of interconnected nodes.
5 Assignments
0 Petitions
Accused Products
Abstract
System and method for aggregate handling of operator overloading. A program is created, including an aggregate comprising multiple data elements of one or more data types, and an operator applied to the aggregate. At least one of the data types is user-defined, and specifies a user-defined operator function for the operator. The aggregate is analyzed to determine one or more operator functions implementing the operator for the data elements, and executable code invoking the one or more operator functions for the plurality of data elements generated, e.g., for each data element in the aggregate: if the data type of the data element specifies an operator function for the operator, executable code invoking the function may be generated, and if not, then if the data element is another aggregate, the analyzing/generating is performed for the other aggregate, and if the data element is not an aggregate, an error may be indicated.
-
Citations
20 Claims
-
1. A computer-accessible memory medium comprising program instructions implementing a program development environment, wherein the program instructions are executable by a processor to implement:
-
creating a graphical program in response to user input, wherein the graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the program, wherein the graphical program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the graphical program further includes an operator applied to the aggregate, wherein the operator comprises a node configured to invoke an intrinsic operator function, wherein at least one of the one or more data types comprises a user-defined data type, and wherein the user-defined data type specifies a user-defined operator function for the operator; automatically analyzing the aggregate to determine one or more operator functions implementing the operator for the plurality of data elements, including the user- defined operator function; and in response to said automatically analyzing, automatically generating executable code invoking the one or more operator functions for the plurality of data elements, including the user-defined operator function, wherein the executable code comprises a second plurality of interconnected nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-implemented method for aggregate handling of operator overloading, the method comprising:
-
creating a graphical program in response to user input, wherein the graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the program, wherein the graphical program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the graphical program further includes an operator applied to the aggregate, wherein the operator comprises a node configured to invoke an intrinsic operator function, wherein at least one of the one or more data types comprises a user-defined data type, and wherein the user-defined data type specifies a user-defined operator function for the operator; automatically analyzing the aggregate to determine one or more operator functions implementing the operator for the plurality of data elements, including the user-defined operator function, and in response to said automatically analyzing, automatically generating executable code invoking the one or more operator functions for the plurality of data elements, including the user-defined operator function, wherein the executable code comprises a second plurality of interconnected nodes.
-
-
17. A system for aggregate handling of operator overloading, the system comprising:
-
a processor; and a memory medium coupled to the processor, wherein the memory medium comprises program instructions which are executable by the processor to; create a graphical program in response to user input, wherein the graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the program, wherein the graphical program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the graphical program further includes an operator applied to the aggregate, wherein the operator comprises a node configured to invoke an intrinsic operator function, wherein at least one of the one or more data types comprises a user-defined data type, and wherein the user- defined data type specifies a user-defined operator function for the operator; automatically analyze the aggregate to determine one or more operator functions implementing the operator for the plurality of data elements, including the user- defined operator function, and automatically generate executable code invoking the one or more operator functions for the plurality of data elements, including the user-defined operator function, in response to said automatically analyzing, wherein the executable code comprises a second plurality of interconnected nodes.
-
-
18. A system for aggregate handling of operator overloading, the system comprising:
-
means for creating a graphical program in response to user input, wherein the graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the program, wherein the graphical program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the graphical program further includes an operator applied to the aggregate, wherein the operator comprises a node configured to invoke an intrinsic operator function, wherein at least one of the one or more data types comprises a user-defined data type, and wherein the user-defined data type specifies a user-defined operator function for the operator; means for automatically analyzing the aggregate to determine one or more operator functions implementing the operator for the plurality of data elements, including the user-defined operator function, and means for automatically generating executable code invoking the one or more operator functions for the plurality of data elements, including the user-defined operator function, in response to said automatically analyzing, wherein the executable code comprises a second plurality of interconnected nodes.
-
-
19. A computer-accessible memory medium comprising program instructions implementing a graphical program development environment, wherein the program instructions are executable by a processor to implement:
-
creating a graphical program in response to user input, wherein the graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the program, wherein the graphical program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the graphical program farther includes an operator applied to the aggregate, and wherein the operator comprises a node configured to invoke an intrinsic operator function; a) automatically analyzing the aggregate, b) in response to said automatically analyzing, for each data element in the aggregate; b1) if said automatically analyzing determines that the data type of the data element specifies an operator function for the operator for the data type, automatically generating executable code invoking the operator function, wherein the executable code comprises a second plurality of interconnected nodes; and b2) if said automatically analyzing determines that the data type of the data element does not specify an operator function for the operator, automatically determining if the data element is another aggregate; if the data element is another aggregate, performing a) and b) on the other aggregate; if the data element is not an aggregate, indicating an error.
-
-
20. A computer-implemented method for aggregate handling of operator overloading, the method comprising:
-
creating a graphical program in response to user input, wherein the graphical program comprises a first plurality of interconnected nodes that visually indicate functionality of the program, wherein the graphical program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the graphical program further includes an operator applied to the aggregate, and wherein the operator comprises a node configured to invoke an intrinsic operator function; a) automatically analyzing the aggregate, b) in response to said automatically analyzing, for each data element in the aggregate; b1) if said automatically analyzing determines that the data type of the data element specifies an operator function for the operator for the data type, automatically generating executable code invoking the operator function, wherein the executable code comprises a second plurality of interconnected nodes; and b2) if said automatically analyzing determines that the data type of the data element does not specify an operator function for the operator, automatically determining if the data element is another aggregate; if the data element is another aggregate, performing a) and b) on the other aggregate; if the data element is not an aggregate, indicating an error.
-
Specification