From f02e80f264fa271389a02a08cbcfbcef5fa8f0ff Mon Sep 17 00:00:00 2001
From: Bartosz Broda <bartosz.broda@gmail.com>
Date: Sun, 12 Jun 2011 14:18:48 +0200
Subject: [PATCH] add positions to operator

---
 libmwereader/mweparser.cpp |  7 +++++++
 libmwereader/test_mwe.xml  | 17 +++++++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/libmwereader/mweparser.cpp b/libmwereader/mweparser.cpp
index 4d06813..e0f1c5f 100644
--- a/libmwereader/mweparser.cpp
+++ b/libmwereader/mweparser.cpp
@@ -59,6 +59,13 @@ namespace Corpus2 {
 					wccl_operator_);
 		MWEBuilder::BoolOpPtr head = mwe_builder_->get_head_condition(
 					head_cond_);
+
+		//const Corpus2::Tagset& tagset = Corpus2::get_named_tagset(tagset_);
+
+		foreach(const std::string&varname, main->valid_variable_names())
+			if(boost::algorithm::starts_with(varname, "Pos"))
+				std::cout << "Pozycja: " << varname << std::endl;
+
 	}
 
 	std::string MWEParser::get_attribute(const AttributeList& attributes,
diff --git a/libmwereader/test_mwe.xml b/libmwereader/test_mwe.xml
index 024377d..43a302e 100644
--- a/libmwereader/test_mwe.xml
+++ b/libmwereader/test_mwe.xml
@@ -4,8 +4,11 @@
 		<condition>
 			and(
 				inter(base[0],$s:Subst1),
-				inter(class[0],{subst,ger,depr}),
 				inter(base[1],$s:Subst2),
+				setvar($Pos1, 0),
+				setvar($Pos2, 1),
+				
+				inter(class[0],{subst,ger,depr}),
 				inter(class[1],{subst,ger,depr}),
 				inter(cas[0], cas[1])
 			)
@@ -27,8 +30,10 @@
 		<condition>
 			and(
 				inter(base[0],$s:Adj),
-				inter(class[0],{adj}),
 				inter(base[1],$s:Subst),
+				setvar($Pos1, 0),
+				setvar($Pos2, 1),
+				inter(class[0],{adj}),
 				inter(class[1],{subst,ger,depr}),
 				agrpp(0,1,{nmb,gnd,cas})
 			)
@@ -46,16 +51,20 @@
 			or(
 				and(
 					inter(base[1],$s:Adj),
-					inter(class[1],{adj}),
 					inter(base[0],$s:Subst),
+					setvar($Pos1, 1),
+					setvar($Pos2, 0),
+					inter(class[1],{adj}),
 					equal(nmb[0], {sg}),
 					in(class[0],{subst,ger,depr}),
 					agrpp(0,1,{nmb,gnd,cas})
 				),//and
 				and(
 					inter(base[0],$s:Adj),
-					inter(class[0],{adj}),
 					inter(base[1],$s:Subst),
+					setvar($Pos1, 0),
+					setvar($Pos2, 1),
+					inter(class[0],{adj}),
 					equal(nmb[1],{sg}),
 					in(class[1],{subst,ger,depr}),
 					agrpp(0,1,{nmb,gnd,cas})
-- 
GitLab