发明名称 |
DECLARATIVE PROGRAM ENGINE FOR LARGE-SCALE PROGRAM ANALYSIS |
摘要 |
A method and system for for staged compilation of a declarative program that includes receiving the declarative program, parsing and semantically checking the declarative program, translating the declarative program into a relational algebra machine (RAM) using a modified semi-naïve algorithm, performing a translation of the RAM into code of an imperative programming language to obtain a translated RAM, generating specialized extractor code in the imperative programming language, generating query application programming interface (API) code in the imperative programming language, and compiling the translated RAM, the specialized extractor code, and the query API code to obtain a program analysis module. |
申请公布号 |
US2016299748(A1) |
申请公布日期 |
2016.10.13 |
申请号 |
US201514714208 |
申请日期 |
2015.05.15 |
申请人 |
Oracle International Corporation |
发明人 |
Scholz Bernhard F.;Westmann Till |
分类号 |
G06F9/45 |
主分类号 |
G06F9/45 |
代理机构 |
|
代理人 |
|
主权项 |
1. A method for staged compilation of a declarative program comprising:
receiving the declarative program; parsing and semantically checking the declarative program; translating the declarative program into a relational algebra machine (RAM) using a modified semi-naïve algorithm, wherein the modified semi-naïve algorithm is a semi-naïve algorithm with modifications comprising unrolling two iterations of a fixed-point loop; performing a translation of the RAM into code of an imperative programming language to obtain a translated RAM; generating specialized extractor code in the imperative programming language; generating query application programming interface (API) code in the imperative programming language; and compiling the translated RAM, the specialized extractor code, and the query API code to obtain a program analysis module. |
地址 |
Redwood Shores CA US |