#include "dom.hh"
#include "TPushParser.hh"
#include "TPushLexer.hh"
+#include "LPushLexer.hh"
#include "TDictionary.hh"
#include "CLoggerConsole.hh"
#include "CMathMLFactoryXSLT.hh"
struct Context
{
- Context(const std::string& s, TPushLexer& l, TPushParser& p, DOMX::XSLTStylesheet& ts)
+ Context(const std::string& s, APushLexer& l, TPushParser& p, DOMX::XSLTStylesheet& ts)
: buffer(s), i(0), lexer(l), parser(p), texStyle(ts) { };
void send(void)
{
if (i < buffer.length()) lexer.push(buffer[i++]);
- else lexer.push('\n');
}
std::string buffer;
unsigned i;
- TPushLexer& lexer;
+ APushLexer& lexer;
TPushParser& parser;
DOMX::XSLTStylesheet& texStyle;
};
GUI_thaw();
}
+#include <unistd.h>
+
extern "C" void
edit_push_string(Context* context, const gchar* s)
{
assert(context != NULL);
assert(s != NULL);
- GUI_freeze();
- context->parser.freeze();
- for (unsigned i = 0; s[i]; i++) context->lexer.push(s[i]);
- context->parser.thaw();
- GUI_thaw();
+#if 0
+// GUI_freeze();
+// context->parser.freeze();
+ for (unsigned i = 0; s[i]; i++)
+ {
+ GUI_freeze();
+ context->lexer.push(s[i]);
+ GUI_thaw();
+ usleep(100000);
+ usleep(100000);
+ }
+// context->parser.thaw();
+// GUI_thaw();
+#endif
+ context->buffer = s;
}
extern "C" void
DOM::Document texStyleDoc = di.createDocumentFromURI("./xsl/tml-tex.xsl");
DOMX::XSLTStylesheet texStyle(texStyleDoc);
- CMathMLFactoryXSLTDiff factory(logger, mmlStyle);
+ CMathMLFactoryXSLT factory(logger, mmlStyle);
TPushParser parser(logger, factory, dictionary);
- TPushLexer lexer(logger, parser);
+ LPushLexer lexer(logger, parser);
#if 0
lexer.push('$');