Xreate
The Xreate programming language
Protected Member Functions | List of all members
DFAPass Class Reference

Data Flow Analysis Pass. More...

#include <dfapass.h>

Detailed Description

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

Inheritance diagram for DFAPass:
AbstractPass< SymbolNode > IPass LateReasoningDFAPassDecorator< Parent >

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.
 

The documentation for this class was generated from the following files: