roadrunner  2.6.0
Fast simulator for SBML models
KineticLawParameterResolver.h
1 /*
2  * KineticLawParameterResolver.h
3  *
4  * Created on: Aug 14, 2013
5  * Author: andy
6  */
7 
8 #ifndef KineticLawParameterResolver_H_
9 #define KineticLawParameterResolver_H_
10 
11 #include "CodeGen.h"
12 #include <sbml/KineticLaw.h>
13 
14 namespace rrllvm
15 {
21  {
22  public:
24  const libsbml::KineticLaw& kineticLaw, llvm::IRBuilder<>& builder);
25 
26  virtual ~KineticLawParameterResolver() {};
27 
28  virtual llvm::Value* loadSymbolValue(const std::string& symbol,
29  const llvm::ArrayRef<llvm::Value*>& args =
30  llvm::ArrayRef<llvm::Value*>());
31 
32  virtual void recursiveSymbolPush(const std::string& symbol);
33 
34  virtual void recursiveSymbolPop();
35 
36  virtual bool isLocalParameter(const std::string& symbol);
37 
38  private:
39  LoadSymbolResolver& parentResolver;
40  const libsbml::KineticLaw& kineticLaw;
41  llvm::IRBuilder<>& builder;
42  };
43 
44 } /* namespace rr */
45 #endif /* KineticLawParameterResolver_H_ */
Sorts out local parameters in a kinetic law.
Definition: KineticLawParameterResolver.h:21
virtual llvm::Value * loadSymbolValue(const std::string &symbol, const llvm::ArrayRef< llvm::Value * > &args=llvm::ArrayRef< llvm::Value * >())
generate an LLVM load instruction.
Definition: KineticLawParameterResolver.cpp:32
LLVM load instruction class.
Definition: CodeGen.h:37