Evaluation of a temporal description within a general purpose programming language
Abstract
A translation module translates a temporal description into a temporal expression. The translation module is adapted to translate a temporal description in the form of an extended syntax or a preprocessing macro to the temporal expression. The temporal expression includes a native expression of a general purpose programming language. The temporal expression may also include one or more construct functions. A parsing module parses the temporal expression to generate a data structure that represents the temporal expression without evaluating the native expression. An evaluation module evaluates the data structure to execute the temporal expression including the native expression.
Claims
exact text as granted — not AI-modified1 . A method of evaluating a temporal description within a general purpose programming language, the method comprising:
translating the temporal description into a temporal expression, the temporal expression including a native expression of the general purpose programming language; generating a data structure that represents the temporal expression without evaluating the native expression; and evaluating the data structure to execute the temporal expression including the native expression.
2 . The method of claim 1 , wherein the temporal description is in the form of an extended syntax or a preprocessor macro.
3 . The method of claim 1 , wherein the temporal expression further comprises one or more construct functions.
4 . The method of claim 1 , wherein generating the data structure that represents the temporal expression comprises:
parsing the temporal expression to generate the data structure without evaluating the native expression.
5 . The method of claim 1 , wherein generating the data structure that represents the temporal expression comprises:
storing a return address in a stack; and avoiding evaluating the native expression by controlling a return value of a construct function to be false.
6 . The method of claim 5 , wherein evaluating the data structure to execute the temporal expression comprises:
returning to the return address stored in the stack; and evaluating the native expression by controlling the return value of the construct flnction to be true.
7 . The method of claim 1 , wherein evaluating the data structure to execute the temporal expression comprises:
creating one or more nondeterministic finite automata state structures, each nondeterministic finite automata state structure including data to be evaluated at a clock cycle; storing the one or more nondeterministic finite automata state structures in a queue; and retrieving a nondeterministic finite automata state structure from the queue in response to passage of clock cycles to evaluate the retrieved nondeterministic finite automata state structure.
8 . The method of claim 1 , wherein evaluating the data structure to execute the temporal expression comprises:
evaluating a variable within the native expression from a name scope of the native expression's program location.
9 . A system for evaluating a temporal description within a general purpose programming language, the system comprising:
a translation module adapted to translate the temporal description into a temporal expression, the temporal expression including a native expression of the general purpose programming language; a parsing module adapted to generate a data structure that represents the temporal expression without evaluating the native expression; and an evaluation module adapted to evaluate the data structure to execute the temporal expression including the native expression.
10 . The system of claim 9 , wherein the temporal description is in the form of an extended syntax or a preprocessor macro.
11 . The system of claim 9 , wherein the temporal expression further comprises one or more construct functions.
12 . The system of claim 9 , wherein the parsing module is adapted to:
parse the temporal expression to generate the data structure without evaluating the native expression.
13 . The system of claim 9 , wherein the parsing module is adapted to generate the data structure that represents the temporal expression by:
storing a return address in a stack; and avoiding evaluating the native expression by controlling a return value of a construct function to be false.
14 . The system of claim 13 , wherein the evaluation module is adapted to evaluate the data structure to execute the temporal expression by:
returning to the return address stored in the stack; and evaluating the native expression by controlling the return value of the construct function to be true.
15 . The system of claim 9 , wherein the evaluation module is adapted to evaluate the data structure to execute the temporal expression by:
creating one or more nondeterministic finite automata state structures, each nondeterministic finite automata state structure including data to be evaluated at a clock cycle; storing the one or more nondeterministic finite automata state structures in a queue; and retrieving a nondeterministic finite automata state structure from the queue in response to passage of clock cycles to evaluate the retrieved nondeterministic finite automata state structure.
16 . The system of claim 9 , wherein the evaluation module is adapted to:
evaluate a variable within the native expression from a name scope of the native expression's program location.
17 . A computer program product having a computer-readable medium having embodied thereon program code for evaluating a temporal description within a general purpose programming language, the program code comprising:
a translation module adapted to translate the temporal description into a temporal expression, the temporal expression including a native expression of the general purpose programming language; a parsing module adapted to generate a data structure that represents the temporal expression without evaluating the native expression; and an evaluation module adapted to evaluate the data structure to execute the temporal expression including the native expression.
18 . The computer program product of claim 17 , wherein the temporal description is in the form of an extended syntax or a preprocessor macro.
19 . The computer program product of claim 17 , wherein the temporal expression further comprises one or more construct functions.
20 . The computer program product of claim 17 , wherein the parsing module is adapted to:
parse the temporal expression to generate the data structure without evaluating the native expression.
21 . The computer program product of claim 17 , wherein the parsing module is adapted to generate the data structure that represents the temporal expression by:
storing a return address in a stack; and avoiding evaluating the native expression by controlling a return value of a construct function to be false.
22 . The computer program product of claim 21 , wherein the evaluation module is adapted to evaluate the data structure to execute the temporal expression by:
returning to the return address stored in the stack; and evaluating the native expression by controlling the return value of the construct function to be true.
23 . The computer program product of claim 17 , wherein the evaluation module is adapted to evaluate the data structure to execute the temporal expression by:
creating one or more nondeterministic finite automata state structures, each nondeterministic finite automata state structure including data to be evaluated at a clock cycle; storing the one or more nondeterministic finite automata state structures in a queue; and retrieving a nondeterministic finite automata state structure from the queue in response to passage of clock cycles to evaluate the retrieved nondeterministic finite automata state structure.
24 . The computer program product of claim 17 , wherein the evaluation module is adapted to:
evaluate a variable within the native expression from a name scope of the native expression's program location.Join the waitlist — get patent alerts
Track US2006277534A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.