From 97bff541e84f08d5503412a40baf3088e05a556c Mon Sep 17 00:00:00 2001 From: Bartosz Broda <bartosz.broda@gmail.com> Date: Sat, 11 Jun 2011 14:34:06 +0200 Subject: [PATCH] add antrl dependencies in tester --- libmwereader/CMakeLists.txt | 6 ++++-- libmwereader/mweparser.cpp | 17 +++++++++++++---- libmwereader/mweparser.h | 10 +++++++++- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/libmwereader/CMakeLists.txt b/libmwereader/CMakeLists.txt index 3974179..d691f9e 100644 --- a/libmwereader/CMakeLists.txt +++ b/libmwereader/CMakeLists.txt @@ -25,13 +25,15 @@ include_directories(${LibXML++_INCLUDE_DIRS}) link_directories(${LibXML++_LIBRARY_DIRS}) set(LIBS ${LIBS} ${LibXML++_LIBRARIES}) +set(LIBS ${LIBS} corpus2 wccl) + add_library(corpus2_mwereader SHARED mwereader.cpp mwe.cpp mweparser.cpp) -target_link_libraries(corpus2_mwereader corpus2) +target_link_libraries(corpus2_mwereader ${LIBS}) add_executable(mwertest mwertest.cpp mweparser.cpp) -target_link_libraries(mwertest corpus2_mwereader ${LIBS}) +target_link_libraries(mwertest corpus2_mwereader ${LIBS} antlr) set_target_properties(corpus2_mwereader PROPERTIES VERSION "${libmwereader_major}.${libmwereader_minor}" diff --git a/libmwereader/mweparser.cpp b/libmwereader/mweparser.cpp index add215e..3530760 100644 --- a/libmwereader/mweparser.cpp +++ b/libmwereader/mweparser.cpp @@ -3,6 +3,7 @@ #include <libpwrutils/foreach.h> #include <libcorpus2/tagsetmanager.h> + #include <libxml++/libxml++.h> #include <libxml2/libxml/parser.h> #include <boost/make_shared.hpp> @@ -11,7 +12,7 @@ namespace Corpus2 { MWEBuilder::MWEBuilder(const Tagset& tagset) - : tagset_(tagset) + : tagset_(tagset), parser_(tagset) { } @@ -21,6 +22,16 @@ namespace Corpus2 { { } + MWEParser::~MWEParser() + { + // TODO: something to do? + } + + void MWEParser::create_mwe() + { + + } + std::string MWEParser::get_attribute(const AttributeList& attributes, const std::string &name) const { @@ -96,9 +107,7 @@ namespace Corpus2 { state_ = MWEGROUP; } else if(state_ == MWE && name == "MWE"){ state_ = INSTANCES; - // TODO: tworzenie jednostki - print_current_mwe(true); - + create_mwe(); } else if(state_ == VAR && name == "var"){ state_ = MWE; variables_[var_name_] = finish_get_text(); diff --git a/libmwereader/mweparser.h b/libmwereader/mweparser.h index 85cde5f..71f4ce8 100644 --- a/libmwereader/mweparser.h +++ b/libmwereader/mweparser.h @@ -5,6 +5,8 @@ #include <libcorpus2/io/sax.h> #include <boost/unordered_map.hpp> +#include <libwccl/parser/Parser.h> + #include "mwe.h" namespace Corpus2 { @@ -13,23 +15,29 @@ class MWEBuilder { public: MWEBuilder(const Tagset& tagset); - typedef boost::unordered_map<std::string, std::string> value_type; + private: + typedef boost::unordered_map<std::string, std::string> value_type; + const Tagset& tagset_; /// str -> ptr to ccl operator value_type main_conditions_; /// str -> ptr to ccl operator value_type head_conditions_; + Wccl::Parser parser_; + }; class MWEParser : public BasicSaxParser { public: MWEParser(MWEIndex &index); + ~MWEParser(); protected: + void create_mwe(); typedef std::map<std::string, std::string> str_map; void on_start_element(const Glib::ustring &name, const AttributeList& attributes); -- GitLab