Skip to content
Snippets Groups Projects
Commit fcea786e authored by Bartosz Broda's avatar Bartosz Broda
Browse files

add more mwe for ad hoc testing, printing of partial parses

parent 48482b29
Branches
No related merge requests found
......@@ -12,7 +12,6 @@ namespace Corpus2 {
MWEParser::MWEParser()
: BasicSaxParser(), state_(NONE)
{
}
std::string MWEParser::get_attribute(const AttributeList& attributes,
......@@ -82,7 +81,6 @@ namespace Corpus2 {
state_ = NONE;
} else if(state_ == CONDITION && name == "condition"){
wccl_operator_ = finish_get_text();
std::cout << wccl_operator_ << std::endl;
state_ = MWEGROUP;
} else if(state_ == MWEGROUP && name == "mwegroup"){
state_ = UNITSDESC;
......@@ -91,12 +89,8 @@ namespace Corpus2 {
} else if(state_ == MWE && name == "MWE"){
state_ = INSTANCES;
// TODO: tworzenie jednostki
std::cout << "Tworzenie jednostki: " << mwe_base_ << " dla ";
foreach(str_map::value_type &i, variables_)
std::cout << i.first << ": " << i.second << ", ";
std::cout << "\nhead: " << head_cond_ << "\nop: "
<< wccl_operator_ << std::endl;
std::cout << "MWE Group name: " << group_name_ << std::endl;
print_current_mwe(true);
} else if(state_ == VAR && name == "var"){
state_ = MWE;
variables_[var_name_] = finish_get_text();
......@@ -109,6 +103,21 @@ namespace Corpus2 {
}
}
void MWEParser::print_current_mwe(bool with_condition)
{
std::cout << "Forma podstawowa: " << mwe_base_ << "\nZmienne: ";
foreach(str_map::value_type &i, variables_)
std::cout << i.first << ": " << i.second << ", ";
std::cout << "\nWarunek głowy: " << head_cond_ << "\n";
if(with_condition){
std::cout << "Grupa jednostek: " << group_name_ << std::endl;
std::cout << "Operator: " << wccl_operator_ << std::endl;
}
}
std::string MWEParser::finish_get_text()
{
std::string str = get_buf();
......
......@@ -6,7 +6,6 @@
namespace Corpus2 {
typedef std::map<std::string, std::string> str_map;
class MWEParser : public BasicSaxParser
{
......@@ -14,12 +13,15 @@ public:
MWEParser();
protected:
typedef std::map<std::string, std::string> str_map;
void on_start_element(const Glib::ustring &name,
const AttributeList& attributes);
void on_end_element(const Glib::ustring &name);
std::string finish_get_text();
void print_current_mwe(bool with_condition = false);
/// retrives tagset= attribute
std::string get_attribute(const AttributeList& attributes,
......
......@@ -9,7 +9,7 @@ bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>(
MWEReader::MWEReader(const Tagset &tagset, const std::string &filename)
: TokenReader(tagset), inner_filename_(filename)
{
// TODO implementataion
// TODO implementataion?
}
MWEReader::~MWEReader()
......
......@@ -16,6 +16,29 @@
<var name="Subst2">paweł</var>
<head>inter(cas[0], {nom})</head>
</MWE>
<MWE base="waga netto">
<var name="Subst1">waga</var>
<var name="Subst2">netto</var>
<head>inter(base[0], "waga")</head>
</MWE>
</instances>
</mwegroup>
<mwegroup name="AdjSubstFix" type="fix" class="subst">
<condition>
and(
inter(base[0],{$Adj}),
inter(class[0],{adj}),
inter(base[1],$Subst),
inter(class[1],{subst,ger,depr}),
agrpp(0,1,{nmb,gnd,cas})
)
</condition>
<instances>
<MWE name="dobre imię">
<var name="Adj">dobry</var>
<var name="Subst">imię</var>
<head>inter(class[0],{subst,ger,depr})</head>
</MWE>
</instances>
</mwegroup>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment