00001 /* $Id: OSnl2osil.h 4292 2011-09-21 05:47:18Z kmartin $ */ 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 00086 ASL *asl; 00087 00090 FILE *nl; 00091 00094 char *stub; 00095 00096 00097 00098 00099 }; 00100 #endif