|
Xreate
The Xreate programming language
|
Entry point of Xreate API. More...
Entry point of Xreate API.
Manages whole Xreate compiler's internal workflow. There are 4 distinctive stages managed by XreateManager:
initPasses() To init passes.executePasses() To execute passes.analyse() To run the reasoner.run() To run the compiler.For adaptability reasons XreateManager comes with several frontends:
xreate::details::tier2::XreateManager exposes all the stages to clients for full control.xreate::details::tier1::XreateManager exposes analyse() along with run(), where analyse() combines execution of all previous stages.xreate::XreateManager exposes run() only which properly initializes and executes all the stages for convenient use.Besides, there are also backends as follows:
Thus, client could combine a desired frontend along with a desired backend as it sees fit. Default xreate::XreateManager wraps around the full backend to init all builtin passes, and the simplest frontend with the only run() exposed to execute all stages at once.
Public Member Functions | |
| virtual void * | run ()=0 |
| Consequently executes all compilation and code execution phases. | |
Static Public Member Functions | |
| static XreateManager * | prepare (std::string &&code) |
| Constructs XreateManager for a given code. | |
| static XreateManager * | prepare (FILE *code) |
| Constructs XreateManager for a given script file. | |
1.8.14