diff --git a/CMakeLists.txt b/CMakeLists.txt index 258b43d590734f1939d913b6b262db3ec63ad20b..f32663ea1aab653b998d6c69532dc664572c015b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8.0) set(wccl_ver_major "0") set(wccl_ver_minor "2") -set(wccl_ver_patch "0") +set(wccl_ver_patch "1") set(LIBWCCL_VERSION "${wccl_ver_major}.${wccl_ver_minor}.${wccl_ver_patch}") diff --git a/libwccl/CMakeLists.txt b/libwccl/CMakeLists.txt index 60088bc69aa4330e489b33d34c47d210bc5a49b1..6c6a9feffae68a6fa0e0afdfc7391e8428547978 100644 --- a/libwccl/CMakeLists.txt +++ b/libwccl/CMakeLists.txt @@ -67,6 +67,7 @@ SET(libwccl_STAT_SRC ops/functions/strset/lextranslator.cpp ops/functions/strset/tolower.cpp ops/functions/strset/toupper.cpp + ops/functions/strset/anninter.cpp ops/functions/tset/agrfilter.cpp ops/functions/tset/catfilter.cpp ops/functions/tset/getsymbols.cpp diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g index 688924da087a6ebc86a51a696715597c04d8c764..c1dd8f336eafc87c8f0296be6cb59d234a7c7a9f 100644 --- a/libwccl/parser/grammar.g +++ b/libwccl/parser/grammar.g @@ -55,6 +55,7 @@ header { #include <libwccl/ops/functions/strset/tolower.h> #include <libwccl/ops/functions/strset/getlemmas.h> #include <libwccl/ops/functions/strset/lextranslator.h> + #include <libwccl/ops/functions/strset/anninter.h> #include <libwccl/ops/functions/tset/agrfilter.h> #include <libwccl/ops/functions/tset/catfilter.h> @@ -1052,6 +1053,7 @@ strset_operator [ParsingScope& scope] | ret = strset_condition [scope] | ret = strset_union [scope] | ret = strset_intersection [scope] + | ret = strset_anninter [scope] | ret = strset_lex [scope] // | LPAREN ret = strset_operator [scope] RPAREN @@ -1229,6 +1231,24 @@ strset_intersection } ; +strset_anninter + [ParsingScope& scope] + returns [boost::shared_ptr<Function<StrSet> > op] +{ + boost::shared_ptr<Function<Position> > pos; + boost::shared_ptr<Function<StrSet> > in_strs; +} + : "anninter" + LPAREN + pos = position_operator [scope] + COMMA + in_strs = strset_operator [scope] + RPAREN + { + op.reset(new AnnInter(pos, in_strs)); + } +; + strset_lex [ParsingScope& scope] returns [boost::shared_ptr<Function<StrSet> > op]