X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fmathml_editor%2Focaml%2Fc_mathml_editor.cc;h=25759823ba05e8351b9d8b6ab6347121bde9a782;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=14bab319d455df313b45d9c146889739a6979bb4;hpb=dbc6a4fb0236cfc7752c70e2e16f511b9e51b29c;p=helm.git diff --git a/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc b/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc index 14bab319d..25759823b 100644 --- a/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc +++ b/helm/DEVEL/mathml_editor/ocaml/c_mathml_editor.cc @@ -24,11 +24,13 @@ */ #include +#include #include "ALogger.hh" #include "TDictionary.hh" #include "CMathMLFactoryXSLT.hh" #include "TPushLexer.hh" +#include "LPushLexer.hh" #include "TPushParser.hh" class CCallbackLogger : public ALogger @@ -59,7 +61,7 @@ CCallbackLogger::message(Level l, const std::string& s) struct Editor { - Editor(const char*, const char*, const char*, void (*)(int, const char*, void*), void*); + Editor(const char*, const char*, const char*, void (*)(int, const char*, void*), void*, bool); ~Editor(); ALogger* logger; @@ -72,7 +74,7 @@ struct Editor }; Editor::Editor(const char* dict_uri, const char* mml_uri, const char* tex_uri, - void (*cb)(int, const char*, void*), void* data) + void (*cb)(int, const char*, void*), void* data, bool alt) { assert(dict_uri); assert(mml_uri); @@ -88,7 +90,8 @@ Editor::Editor(const char* dict_uri, const char* mml_uri, const char* tex_uri, tml_tex = new DOMX::XSLTStylesheet(tex); factory = new CMathMLFactoryXSLT(*logger, *tml_mml); parser = new TPushParser(*logger, *factory, *dictionary); - lexer = new TPushLexer(*logger, *parser); + if (alt) lexer = new LPushLexer(*logger, *parser); + else lexer = new TPushLexer(*logger, *parser); } Editor::~Editor() @@ -121,13 +124,14 @@ c_mathml_editor_get_default_tex_stylesheet_path() } extern "C" Editor* -c_mathml_editor_new(const char* dictionary_uri, +c_mathml_editor_new(bool alt, + const char* dictionary_uri, const char* tml_mml_uri, const char* tml_tex_uri, void (*log_message_cb)(int, const char*, void*), void* user_data) { - return new Editor(dictionary_uri, tml_mml_uri, tml_tex_uri, log_message_cb, user_data); + return new Editor(dictionary_uri, tml_mml_uri, tml_tex_uri, log_message_cb, user_data, alt); } extern "C" void @@ -194,6 +198,7 @@ extern "C" void c_mathml_editor_reset(Editor* editor) { assert(editor); + editor->lexer->reset(); editor->parser->reset(); }