From 8b158977078a5e0140e813f534f52c93b578df0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <pawel.kedzia@pwr.wroc.pl> Date: Fri, 17 Dec 2010 13:25:10 +0100 Subject: [PATCH] Empty rules for L1 --- libwccl/parser/grammar.g | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g index cbf43f4..c6937c0 100644 --- a/libwccl/parser/grammar.g +++ b/libwccl/parser/grammar.g @@ -849,6 +849,8 @@ bool_operator // agreement | ret = bool_agreement [tagset, vars] // + | ret = bool_phrase [tagset, vars] + // | LPAREN ret = bool_operator [tagset, vars] RPAREN ; @@ -1167,6 +1169,78 @@ bool_agreement } ; +// ---------------------------------------------------------------------------- +// Parse operator on L1 level +bool_phrase + [const Corpus2::Tagset& tagset, Variables& vars] + returns [boost::shared_ptr<Function<Bool> > ret] + : ret = bool_phrase_annotation [tagset, vars] + | ret = bool_phrase_iteration [tagset, vars] +; + +// ---------------------------------------------------------------------------- +// Annotation operator: phrase, phrase_beg, phrase_end, phrase_whole, phrase_pp +bool_phrase_annotation + [const Corpus2::Tagset& tagset, Variables& vars] + returns [boost::shared_ptr<Function<Bool> > ret] +{ + boost::shared_ptr<Function<Position> > lpos, rpos; +} + : "phrase" LPAREN + lpos = position_operator [tagset, vars] COMMA n1: STRING + RPAREN { + // TODO + } + | "phrase_beg" LPAREN + lpos = position_operator [tagset, vars] COMMA n2: STRING + RPAREN { + // TODO + } + | "phrase_end" LPAREN + lpos = position_operator [tagset, vars] COMMA n3: STRING + RPAREN { + // TODO + } + | "phrase_whole" LPAREN + lpos = position_operator [tagset, vars] COMMA + rpos = position_operator [tagset, vars] COMMA n4: STRING + RPAREN { + // TODO + } + | "phrase_pp" LPAREN + lpos = position_operator [tagset, vars] COMMA + rpos = position_operator [tagset, vars] COMMA n5: STRING + RPAREN { + // TODO + } +; + +// ---------------------------------------------------------------------------- +// Phrase iteration operator: lphrase, rphrase +bool_phrase_iteration + [const Corpus2::Tagset& tagset, Variables& vars] + returns [boost::shared_ptr<Function<Bool> > ret] +{ + boost::shared_ptr<Function<Position> > position; + boost::shared_ptr<VarGetter<Position> > var_position; +} + : "lphrase" LPAREN + position = position_operator [tagset, vars] COMMA + var_position = position_variable [vars] COMMA + n1: STRING + RPAREN { + // TODO + } + | "rphrase" LPAREN + position = position_operator [tagset, vars] COMMA + var_position = position_variable [vars] COMMA + n2: STRING + RPAREN { + // TODO + } +; + + // ---------------------------------------------------------------------------- // Setvar operator // Returns boost::shared_ptr<Function<Bool> > -- GitLab