From 760a1c397981a5d534b3219271b570b4e1f57ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <pawel.kedzia@pwr.wroc.pl> Date: Wed, 8 Dec 2010 14:12:21 +0100 Subject: [PATCH] Added catflt operator with symset (TSet) poiter attributes --- libwccl/parser/grammar.g | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g index a4ac6c4..49c60a5 100644 --- a/libwccl/parser/grammar.g +++ b/libwccl/parser/grammar.g @@ -40,6 +40,7 @@ header { #include <libwccl/ops/functions/strset/tolower.h> #include <libwccl/ops/functions/strset/getlemmas.h> + #include <libwccl/ops/functions/tset/catfilter.h> #include <libwccl/ops/functions/tset/getsymbols.h> #include <libwccl/ops/functions/tset/getwordclass.h> #include <libwccl/ops/functions/tset/getsymbolsinrange.h> @@ -497,6 +498,7 @@ symset_operator | ret = symset_var_val [tagset, vars] | ret = symset_class [tagset, vars] | ret = symset_range [tagset, vars] + | ret = symset_catflt [tagset, vars] // | LPAREN ret = symset_operator [tagset, vars] RPAREN ; @@ -605,6 +607,24 @@ symset_range } ; +// ---------------------------------------------------------------------------- +// Catflt operator +symset_catflt + [const Corpus2::Tagset& tagset, Variables& vars] + returns [boost::shared_ptr<Function<TSet> > ret] +{ + boost::shared_ptr<Function<TSet> > selector, mask; + boost::shared_ptr<Function<Position> > position; +} + : "catflt" LPAREN + position = position_operator [tagset, vars] COMMA + selector = symset_operator [tagset, vars] COMMA + mask = symset_operator [tagset, vars] + RPAREN { + ret.reset(new CatFilter(position, selector, mask)); + } +; + /////////////////////////////////////////////////////////////////////////////// // Position operator // Returns boost::shared_ptr<Function<Position> > -- GitLab