#ifndef _WX_WXEXPRH__
#define _WX_WXEXPRH__
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "wxexpr.h"
#endif
-#include <stdio.h>
+#if wxUSE_PROLOGIO
#include "wx/defs.h"
#include "wx/string.h"
#include "wx/expr.h"
+#include <stdio.h>
+
// Compatibility
#define PrologExpr wxExpr
#define PrologDatabase wxExprDatabase
WXDLLEXPORT_DATA(extern wxExprErrorHandler) currentwxExprErrorHandler;
-extern "C" WXDLLEXPORT_DATA(FILE*) yyin;
-
-extern "C" WXDLLEXPORT int yyparse(void);
typedef enum {
wxExprNull,
wxExpr(wxExprType the_type, wxChar *word_or_string, bool allocate);
wxExpr(const wxString& functor); // Assume this is a new clause - pass functor
- wxExpr(wxExprType the_type, const wxString& word_or_string = "");
+ wxExpr(wxExprType the_type, const wxString& word_or_string = wxT(""));
wxExpr(long the_integer);
wxExpr(double the_real);
wxExpr(wxList *the_list);
return value.word;
else if (type == wxExprString)
return wxString(value.string);
- else return wxString(T(""));
+ else return wxString(wxT(""));
}
inline wxString StringValue(void) const {
return wxString(value.string);
else if (type == wxExprWord)
return wxString(value.word);
- else return wxString(T(""));
+ else return wxString(wxT(""));
}
// Get nth arg of clause (starting from 1)
// so we can index into the wxExpr database and fish out the pointer.
inline void SetClientData(wxObject *data) { client_data = data; }
inline wxObject *GetClientData(void) const { return client_data; }
+
+ DECLARE_NO_COPY_CLASS(wxExpr)
};
class WXDLLEXPORT wxExprDatabase: public wxList
// Compatibility
inline bool ReadProlog(wxChar *filename) { return Read(wxString(filename)); }
- inline bool ReadPrologFromString(char *buffer) { return ReadFromString(wxString(buffer)); }
+ inline bool ReadPrologFromString(char *buffer)
+ {
+ return ReadFromString(wxString(buffer, wxConvLibc));
+ }
inline void WriteProlog(FILE* stream) { Write(stream); }
private:
DECLARE_DYNAMIC_CLASS(wxExprDatabase)
+ DECLARE_NO_COPY_CLASS(wxExprDatabase)
};
// Function call-style interface - some more convenience wrappers/unwrappers
// YACC/LEX can leave memory lying around...
extern "C" WXDLLEXPORT int wxExprCleanUp();
-#endif
+#endif // wxUSE_PROLOGIO
+
+#endif // _WX_WXEXPRH__