00001 /* $Id: OSnl2osil.h 4485 2012-05-14 21:42:33Z Gassmann $ */ 00016 #ifndef OSNL2OSIL_H 00017 #define OSNL2OSIL_H 00018 00019 00020 00021 #include "OSInstance.h" 00022 #include "OSnLNode.h" 00023 #include "OSMathUtil.h" 00024 #include <string> 00025 #include <vector> 00026 00027 00041 struct ograd; 00042 struct ASL; 00043 struct expr; 00044 00045 00046 class OSnl2osil 00047 { 00048 public: 00050 OSnl2osil( std::string nlfilename); 00051 00053 ~OSnl2osil(); 00054 00060 bool createOSInstance(); 00061 00067 OSnLNode* walkTree(expr *e); 00068 00072 OSInstance *osinstance; 00073 00074 std::vector<std::string> op_type; 00075 std::vector<double> operand; 00076 int numkount; 00077 private: 00078 00082 ograd *og; 00083 00089 ASL *asl, *cw, *rw; 00090 00093 std::string stub; 00094 }; 00095 #endif