From 21fb0bacf67a32e2ecc5f28ebd6ef6d1b53977c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <pawel.kedzia@pwr.wroc.pl>
Date: Mon, 28 Feb 2011 13:44:13 +0100
Subject: [PATCH] Updated corpus2 tagset

---
 swig/libcorpustagset.i | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/swig/libcorpustagset.i b/swig/libcorpustagset.i
index 1e581d7..daae5be 100644
--- a/swig/libcorpustagset.i
+++ b/swig/libcorpustagset.i
@@ -16,6 +16,18 @@
 namespace Corpus2 {
   class Tagset {
   public:
+
+  enum ParseMode {
+    ParseCheckRequired = 1, /// Check for presence of required attributes
+    ParseAllowExtra = 2, /// Allow extra attributes
+    ParseCheckSingular = 4, /// Check tag singularity
+
+    ParseDefault = ParseCheckRequired, /// Default mode
+    ParseRequiredWithExtra = ParseCheckRequired | ParseAllowExtra,
+    ParseStrict = ParseCheckRequired | ParseCheckSingular,
+    ParseLoose = ParseAllowExtra
+  };
+
     Tagset();
     static Tagset from_data(const char*);
 
@@ -23,8 +35,8 @@ namespace Corpus2 {
     Tag parse_symbol(const std::string& s) const;
 
     /* --------------------------------------------------------------------- */
-    std::vector<Tag> parse_tag(const char* c, bool allow_extra) const;
-    Tag parse_simple_tag(const char* c, bool allow_extra) const;
+    std::vector<Tag> parse_tag(const char* c, ParseMode m = ParseDefault) const;
+    Tag parse_simple_tag(const char* c, ParseMode mode = ParseDefault) const;
     Tag make_ign_tag() const;
 
     /* --------------------------------------------------------------------- */
-- 
GitLab