Aggregate handling of operator overloading
First Claim
1. A memory medium comprising program instructions implementing a program development environment, wherein the program instructions are executable by a processor to implement:
- creating a program in response to user input, wherein the program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the program further includes an operator applied to the aggregate, 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;
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 analyzing, generating executable code invoking the one or more operator functions for the plurality of data elements.
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.
39 Citations
22 Claims
-
1. A memory medium comprising program instructions implementing a program development environment, wherein the program instructions are executable by a processor to implement:
-
creating a program in response to user input, wherein the program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the program further includes an operator applied to the aggregate, 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;
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 analyzing, generating executable code invoking the one or more operator functions for the plurality of data elements. - View Dependent Claims (2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
- 3. The memory medium of claim 3, wherein the operator comprises an intrinsic operator, and wherein the user-defined operator function for the operator comprises an overloaded operator function for the operator.
-
18. A method or aggregate handling of operator overloading, the method comprising:
-
creating a program in response to user input, wherein the program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the program further includes an operator applied to the aggregate, 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;
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 analyzing, generating executable code invoking the one or more operator functions for the plurality of data elements.
-
-
19. A system for aggregate handling of operator overloading, the method 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 program in response to user input, wherein the program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the program further includes an operator applied to the aggregate, 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;
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 generate executable code invoking the one or more operator functions for the plurality of data element s in response to said analyzing.
-
-
20. A system for aggregate handling of operator overloading, the method comprising:
-
means for creating a program in response to user input, wherein the program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the program further includes an operator applied to the aggregate, 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 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 generating executable code invoking the one or more operator functions for the plurality of data elements in response to said analyzing.
-
-
21. A memory medium comprising program instructions implementing a graphical program development environment, wherein the program instructions are executable by a processor to perform:
-
creating a graphical program in response to user input, 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 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;
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 analyzing, generating executable code invoking the one or more operator functions for the plurality of data elements.
-
-
22. A memory medium comprising program instructions implementing a program development environment, wherein the program instructions are executable by a processor to implement:
-
creating a program in response to user input, wherein the program includes an aggregate comprising a plurality of data elements of one or more data types, wherein the program further includes an operator applied to the aggregate;
a) analyzing the aggregate, b) in response to said analyzing, for each data element in the aggregate;
b1) if said analyzing determines that the data type of the data element specifies an operator function for the operator for the data type, generating executable code invoking the operator function; and
b2) if said analyzing determines that the data type of the data element does not specify an operator function for the operator, 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