00001 /* $Id: OSnl2osil.h 3488 2010-04-29 20:16:06Z kmartin $ */ 00018 #ifndef OSNL2OSIL_H 00019 #define OSNL2OSIL_H 00020 00021 00022 00023 #include "OSInstance.h" 00024 #include "OSnLNode.h" 00025 #include "OSMathUtil.h" 00026 #include <string> 00027 #include <vector> 00028 00029 00043 struct ograd; 00044 struct ASL; 00045 struct expr; 00046 00047 00048 class OSnl2osil 00049 { 00050 public: 00052 OSnl2osil( std::string nlfilename); 00053 00055 ~OSnl2osil(); 00056 00062 bool createOSInstance(); 00063 00069 OSnLNode* walkTree(expr *e); 00070 00074 OSInstance *osinstance; 00075 00076 std::vector<std::string> op_type; 00077 std::vector<double> operand; 00078 int numkount; 00079 private: 00080 00084 ograd *og; 00085 00088 ASL *asl; 00089 00092 FILE *nl; 00093 00096 char *stub; 00097 00098 00099 00100 00101 }; 00102 #endif