wxString wxExpr::Functor(void) const // Use only for a clause
{
if ((type != wxExprList) || !value.first)
- return wxString(_T(""));
+ return wxString(wxT(""));
if (value.first->type == wxExprWord)
return wxString(value.first->value.word);
else
- return wxString(_T(""));
+ return wxString(wxT(""));
}
bool wxExpr::IsFunctor(const wxString& f) const // Use only for a clause
// DeleteAttributeValue(attribute);
wxExpr *patt = new wxExpr(wxExprWord, attribute);
- wxExpr *pequals = new wxExpr(wxExprWord, _T("="));
+ wxExpr *pequals = new wxExpr(wxExprWord, wxT("="));
wxExpr *listExpr = new wxExpr(wxExprList);
wxExpr *patt = new wxExpr(wxExprWord, attribute);
wxExpr *pval = new wxExpr(val);
- wxExpr *pequals = new wxExpr(wxExprWord, _T("="));
+ wxExpr *pequals = new wxExpr(wxExprWord, wxT("="));
wxExpr *listExpr = new wxExpr(wxExprList);
// DeleteAttributeValue(attribute);
wxExpr *patt = new wxExpr(wxExprWord, attribute);
wxExpr *pval = new wxExpr(val);
- wxExpr *pequals = new wxExpr(wxExprWord, _T("="));
+ wxExpr *pequals = new wxExpr(wxExprWord, wxT("="));
wxExpr *listExpr = new wxExpr(wxExprList);
wxExpr *patt = new wxExpr(wxExprWord, attribute);
wxExpr *pval = new wxExpr(wxExprString, val);
- wxExpr *pequals = new wxExpr(wxExprWord, _T("="));
+ wxExpr *pequals = new wxExpr(wxExprWord, wxT("="));
wxExpr *listExpr = new wxExpr(wxExprList);
wxExpr *patt = new wxExpr(wxExprWord, attribute);
wxExpr *pval = new wxExpr(wxExprWord, val);
- wxExpr *pequals = new wxExpr(wxExprWord, _T("="));
+ wxExpr *pequals = new wxExpr(wxExprWord, wxT("="));
wxExpr *listExpr = new wxExpr(wxExprList);
wxExpr *patt = new wxExpr(wxExprWord, attribute);
wxExpr *pval = new wxExpr(val);
- wxExpr *pequals = new wxExpr(wxExprWord, _T("="));
+ wxExpr *pequals = new wxExpr(wxExprWord, wxT("="));
wxExpr *listExpr = new wxExpr(wxExprList);
// Now make an (=, Att, Value) triple
wxExpr *patt = new wxExpr(wxExprWord, attribute);
- wxExpr *pequals = new wxExpr(wxExprWord, _T("="));
+ wxExpr *pequals = new wxExpr(wxExprWord, wxT("="));
wxExpr *listExpr2 = new wxExpr(wxExprList);
{
wxExpr *expr = value.first;
- if ((expr->Type() == wxExprWord) && (wxStrcmp(expr->WordValue(), _T("=")) == 0))
+ if ((expr->Type() == wxExprWord) && (wxStrcmp(expr->WordValue(), wxT("=")) == 0))
{
wxExpr *arg1 = expr->next;
wxExpr *arg2 = arg1->next;
}
}
-void wxExpr::WriteLispExpr(FILE* stream)
-{
- switch (type)
- {
- case wxExprInteger:
- {
- fprintf( stream, "%ld", value.integer );
- break;
- }
- case wxExprReal:
- {
- fprintf( stream, "%.6g", value.real );
- break;
- }
- case wxExprString:
- {
- fprintf( stream, "\"" );
- const wxWX2MBbuf val = wxConvLibc.cWX2MB(value.string);
- fprintf( stream, (const char*) val );
- fprintf( stream, "\"" );
- break;
- }
- case wxExprWord:
- {
- const wxWX2MBbuf val = wxConvLibc.cWX2MB(value.word);
- fprintf( stream, (const char*) val );
- break;
- }
- case wxExprList:
- {
- wxExpr *expr = value.first;
-
- fprintf( stream, "(" );
- while (expr)
- {
- expr->WriteLispExpr(stream);
- expr = expr->next;
- if (expr)
- fprintf( stream, " " );
- }
-
- fprintf( stream, ")" );
- break;
- }
- case wxExprNull: break;
- }
-}
-
/*
* wxExpr 'database' (list of expressions)
*/
thewxExprDatabase = this;
const wxWX2MBbuf buf = buffer.mb_str();
- LexFromString(MBSTRINGCAST buf);
+ LexFromString(wxMBSTRINGCAST buf);
yyparse();
wxExprCleanUp();
return (noErrors == 0);
if (!stream)
return FALSE;
- return Write(stream);
+ bool success = Write(stream);
+ fclose(stream);
+ return success;
}
bool wxExprDatabase::Write(FILE *stream)
return (noErrors == 0);
}
-void wxExprDatabase::WriteLisp(FILE* stream)
-{
- noErrors = 0;
- wxNode *node = First();
- while (node)
- {
- wxExpr *expr = (wxExpr *)node->Data();
- expr->WriteLispExpr(stream);
- fprintf( stream, "\n\n" );
- node = node->Next();
- }
-}
-
void add_expr(wxExpr * expr)
{
thewxExprDatabase->Append(expr);
t = s;
for(i=1; i<len; i++) // 1 since we want to skip leading quote
{
- if (sbuf[i] == _T('\\') && sbuf[i+1] == _T('"'))
+ if (sbuf[i] == wxT('\\') && sbuf[i+1] == wxT('"'))
{
- *t++ = _T('"');
+ *t++ = wxT('"');
i ++;
}
- else if (sbuf[i] == _T('\\') && sbuf[i+1] == _T('\\'))
+ else if (sbuf[i] == wxT('\\') && sbuf[i+1] == wxT('\\'))
{
- *t++ = _T('\\');
+ *t++ = wxT('\\');
i ++;
}
else
*t++ = sbuf[i];
}
- *t = _T('\0');
+ *t = wxT('\0');
wxExpr *x = new wxExpr(wxExprString, s, FALSE);
return (char *)x;