Xreate
The Xreate programming language
|
Data Flow Analysis Pass. More...
#include <dfapass.h>
Data Flow Analysis Pass.
Provides DFA, an important analysis for the reasoning. Traverses over AST and stores the collected data in the xreate::dfa::DFAGraph
Protected Member Functions | |
virtual SymbolNode | process (const Expression &expression, PassContext context, const std::string &varDecl="") override |
Processes single Expression. | |
virtual SymbolNode | process (CodeScope *scope, PassContext context, const std::string &hintBlockDecl="") override |
Processes single CodeScope. | |
virtual SymbolNode | process (ManagedFnPtr function) override |
Processes Function. | |
void | finish () override |
Finalizes pass. Empty by default. | |
Additional Inherited Members | |
Public Member Functions inherited from AbstractPass< SymbolNode > | |
virtual SymbolNode | processFnCall (ManagedFnPtr functionCallee, PassContext context) |
Processes function invocation instruction. | |
virtual SymbolNode | processFnCallUncertain (const std::string &calleeName, const std::list< ManagedFnPtr > &candidates, PassContext context) |
Processes function invocation instruction in uncertain cases. More... | |
virtual void | process (ManagedRulePtr rule) |
Processes Logic Rule. | |
void | run () |
Executes AST traverse. | |