Cooperative expression visitors
AssigneeMicrosoft Technology Licensing, LLC
InventorsBart De Smet, Eric Anthony Rozell
Life of this patent
Estimating the term…
Abstract
In non-limiting examples of the present disclosure, systems and methods for rewriting expressions utilizing cooperative visitors are provided. A data request may be received by a computing device, which may then be represented in a data structure, e.g., an expression tree, representative of the data request. A node within the data structure representative of the data request may be visited. Metadata associated with at least one cooperative visitor may be extracted from the node, and the node may then be transformed by applying the at least one cooperative visitor to the node.
Claims18
A computer-implemented method comprising:
- receiving a data request;
- accessing a node of a data structure, the data structure representative of the data request;
- extracting metadata from the node;
- determining, from a repository of cooperative visitors, a cooperative visitor based on the metadata, the cooperative visitor comprising logic;
- processing, using the logic of the determined cooperative visitor, the node to generate a rewritten node based on the cooperative visitor;
- generating a chain of visitation comprising a log of control transfers associated with one or more cooperative visitors;
- determining a failure in the processing of the rewritten node;
- and
- identifying, from the chain of visitation, an error in the log of control transfers, wherein the error is associated with the failure in the processing of the rewritten node.
A system comprising:
- at least one processor;
- and
- a memory operatively connected with the at least one processor, the memory comprising computer executable instructions that, when executed by the at least one processor, perform a method comprising:
- receiving a data request;
- generating an expression tree representative of the data request;
- extracting metadata from a node of the expression tree;
- determining, from a repository of cooperative visitors, a cooperative visitor based on the metadata, the cooperative visitor comprising logic;
- and
- transforming, using the logic of the determined cooperative visitor, an expression associated with the node to generate a transformed node according to the cooperative visitor;
- generating a chain of visitation comprising a log of control transfers associated with one or more cooperative visitors;
- determining a failure in the transformation of the transformed node;
- and
- identifying, from the chain of visitation, an error in the log of control transfers wherein the error is associated with the failure in the transformation of the transformed node.
A computer-readable storage device storing instructions for performing a method, the method comprising:
- receiving a data request;
- generating a data structure representative of the data request, wherein the data structure comprises at least one node;
- extracting metadata from a node of the data structure;
- querying a repository to determine a cooperative visitor associated with reflection metadata based on the extracted metadata, the cooperative visitor comprising logic;
- processing the node by applying the logic of the determined cooperative visitor;
- generating a chain of visitation comprising a log of control transfers associated with one or more cooperative visitors;
- determining a failure in the processing of the rewritten node;
- and
- identifying, from the chain of visitation, an error in the log of control transfers, wherein the error is associated with the failure in the processing of the rewritten node.
Dependencies are inferred from the claim text.