# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.





from sys import version_info
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_vabamorf', [dirname(__file__)])
        except ImportError:
            import _vabamorf
            return _vabamorf
        if fp is not None:
            try:
                _mod = imp.load_module('_vabamorf', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _vabamorf = swig_import_helper()
    del swig_import_helper
else:
    import _vabamorf
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

def _swig_repr(self):
    try: strthis = "proxy of " + self.this.__repr__()
    except: strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0


def _swig_setattr_nondynamic_method(set):
    def set_attr(self,name,value):
        if (name == "thisown"): return self.this.own(value)
        if hasattr(self,name) or (name == "this"):
            set(self,name,value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


class SwigPyIterator(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _vabamorf.delete_SwigPyIterator
    __del__ = lambda self : None;
    def value(self): return _vabamorf.SwigPyIterator_value(self)
    def incr(self, n=1): return _vabamorf.SwigPyIterator_incr(self, n)
    def decr(self, n=1): return _vabamorf.SwigPyIterator_decr(self, n)
    def distance(self, *args): return _vabamorf.SwigPyIterator_distance(self, *args)
    def equal(self, *args): return _vabamorf.SwigPyIterator_equal(self, *args)
    def copy(self): return _vabamorf.SwigPyIterator_copy(self)
    def next(self): return _vabamorf.SwigPyIterator_next(self)
    def __next__(self): return _vabamorf.SwigPyIterator___next__(self)
    def previous(self): return _vabamorf.SwigPyIterator_previous(self)
    def advance(self, *args): return _vabamorf.SwigPyIterator_advance(self, *args)
    def __eq__(self, *args): return _vabamorf.SwigPyIterator___eq__(self, *args)
    def __ne__(self, *args): return _vabamorf.SwigPyIterator___ne__(self, *args)
    def __iadd__(self, *args): return _vabamorf.SwigPyIterator___iadd__(self, *args)
    def __isub__(self, *args): return _vabamorf.SwigPyIterator___isub__(self, *args)
    def __add__(self, *args): return _vabamorf.SwigPyIterator___add__(self, *args)
    def __sub__(self, *args): return _vabamorf.SwigPyIterator___sub__(self, *args)
    def __iter__(self): return self
SwigPyIterator_swigregister = _vabamorf.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)


def cdata(*args):
  return _vabamorf.cdata(*args)
cdata = _vabamorf.cdata

def memmove(*args):
  return _vabamorf.memmove(*args)
memmove = _vabamorf.memmove
class StringVector(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def iterator(self): return _vabamorf.StringVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _vabamorf.StringVector___nonzero__(self)
    def __bool__(self): return _vabamorf.StringVector___bool__(self)
    def __len__(self): return _vabamorf.StringVector___len__(self)
    def pop(self): return _vabamorf.StringVector_pop(self)
    def __getslice__(self, *args): return _vabamorf.StringVector___getslice__(self, *args)
    def __setslice__(self, *args): return _vabamorf.StringVector___setslice__(self, *args)
    def __delslice__(self, *args): return _vabamorf.StringVector___delslice__(self, *args)
    def __delitem__(self, *args): return _vabamorf.StringVector___delitem__(self, *args)
    def __getitem__(self, *args): return _vabamorf.StringVector___getitem__(self, *args)
    def __setitem__(self, *args): return _vabamorf.StringVector___setitem__(self, *args)
    def append(self, *args): return _vabamorf.StringVector_append(self, *args)
    def empty(self): return _vabamorf.StringVector_empty(self)
    def size(self): return _vabamorf.StringVector_size(self)
    def clear(self): return _vabamorf.StringVector_clear(self)
    def swap(self, *args): return _vabamorf.StringVector_swap(self, *args)
    def get_allocator(self): return _vabamorf.StringVector_get_allocator(self)
    def begin(self): return _vabamorf.StringVector_begin(self)
    def end(self): return _vabamorf.StringVector_end(self)
    def rbegin(self): return _vabamorf.StringVector_rbegin(self)
    def rend(self): return _vabamorf.StringVector_rend(self)
    def pop_back(self): return _vabamorf.StringVector_pop_back(self)
    def erase(self, *args): return _vabamorf.StringVector_erase(self, *args)
    def __init__(self, *args): 
        this = _vabamorf.new_StringVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _vabamorf.StringVector_push_back(self, *args)
    def front(self): return _vabamorf.StringVector_front(self)
    def back(self): return _vabamorf.StringVector_back(self)
    def assign(self, *args): return _vabamorf.StringVector_assign(self, *args)
    def resize(self, *args): return _vabamorf.StringVector_resize(self, *args)
    def insert(self, *args): return _vabamorf.StringVector_insert(self, *args)
    def reserve(self, *args): return _vabamorf.StringVector_reserve(self, *args)
    def capacity(self): return _vabamorf.StringVector_capacity(self)
    __swig_destroy__ = _vabamorf.delete_StringVector
    __del__ = lambda self : None;
StringVector_swigregister = _vabamorf.StringVector_swigregister
StringVector_swigregister(StringVector)

class AnalysisVector(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def iterator(self): return _vabamorf.AnalysisVector_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _vabamorf.AnalysisVector___nonzero__(self)
    def __bool__(self): return _vabamorf.AnalysisVector___bool__(self)
    def __len__(self): return _vabamorf.AnalysisVector___len__(self)
    def pop(self): return _vabamorf.AnalysisVector_pop(self)
    def __getslice__(self, *args): return _vabamorf.AnalysisVector___getslice__(self, *args)
    def __setslice__(self, *args): return _vabamorf.AnalysisVector___setslice__(self, *args)
    def __delslice__(self, *args): return _vabamorf.AnalysisVector___delslice__(self, *args)
    def __delitem__(self, *args): return _vabamorf.AnalysisVector___delitem__(self, *args)
    def __getitem__(self, *args): return _vabamorf.AnalysisVector___getitem__(self, *args)
    def __setitem__(self, *args): return _vabamorf.AnalysisVector___setitem__(self, *args)
    def append(self, *args): return _vabamorf.AnalysisVector_append(self, *args)
    def empty(self): return _vabamorf.AnalysisVector_empty(self)
    def size(self): return _vabamorf.AnalysisVector_size(self)
    def clear(self): return _vabamorf.AnalysisVector_clear(self)
    def swap(self, *args): return _vabamorf.AnalysisVector_swap(self, *args)
    def get_allocator(self): return _vabamorf.AnalysisVector_get_allocator(self)
    def begin(self): return _vabamorf.AnalysisVector_begin(self)
    def end(self): return _vabamorf.AnalysisVector_end(self)
    def rbegin(self): return _vabamorf.AnalysisVector_rbegin(self)
    def rend(self): return _vabamorf.AnalysisVector_rend(self)
    def pop_back(self): return _vabamorf.AnalysisVector_pop_back(self)
    def erase(self, *args): return _vabamorf.AnalysisVector_erase(self, *args)
    def __init__(self, *args): 
        this = _vabamorf.new_AnalysisVector(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _vabamorf.AnalysisVector_push_back(self, *args)
    def front(self): return _vabamorf.AnalysisVector_front(self)
    def back(self): return _vabamorf.AnalysisVector_back(self)
    def assign(self, *args): return _vabamorf.AnalysisVector_assign(self, *args)
    def resize(self, *args): return _vabamorf.AnalysisVector_resize(self, *args)
    def insert(self, *args): return _vabamorf.AnalysisVector_insert(self, *args)
    def reserve(self, *args): return _vabamorf.AnalysisVector_reserve(self, *args)
    def capacity(self): return _vabamorf.AnalysisVector_capacity(self)
    __swig_destroy__ = _vabamorf.delete_AnalysisVector
    __del__ = lambda self : None;
AnalysisVector_swigregister = _vabamorf.AnalysisVector_swigregister
AnalysisVector_swigregister(AnalysisVector)

class WordAnalysis(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vabamorf.new_WordAnalysis(*args)
        try: self.this.append(this)
        except: self.this = this
    first = _swig_property(_vabamorf.WordAnalysis_first_get, _vabamorf.WordAnalysis_first_set)
    second = _swig_property(_vabamorf.WordAnalysis_second_get, _vabamorf.WordAnalysis_second_set)
    def __len__(self): return 2
    def __repr__(self): return str((self.first, self.second))
    def __getitem__(self, index): 
      if not (index % 2): 
        return self.first
      else:
        return self.second
    def __setitem__(self, index, val):
      if not (index % 2): 
        self.first = val
      else:
        self.second = val
    __swig_destroy__ = _vabamorf.delete_WordAnalysis
    __del__ = lambda self : None;
WordAnalysis_swigregister = _vabamorf.WordAnalysis_swigregister
WordAnalysis_swigregister(WordAnalysis)

class SentenceAnalysis(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def iterator(self): return _vabamorf.SentenceAnalysis_iterator(self)
    def __iter__(self): return self.iterator()
    def __nonzero__(self): return _vabamorf.SentenceAnalysis___nonzero__(self)
    def __bool__(self): return _vabamorf.SentenceAnalysis___bool__(self)
    def __len__(self): return _vabamorf.SentenceAnalysis___len__(self)
    def pop(self): return _vabamorf.SentenceAnalysis_pop(self)
    def __getslice__(self, *args): return _vabamorf.SentenceAnalysis___getslice__(self, *args)
    def __setslice__(self, *args): return _vabamorf.SentenceAnalysis___setslice__(self, *args)
    def __delslice__(self, *args): return _vabamorf.SentenceAnalysis___delslice__(self, *args)
    def __delitem__(self, *args): return _vabamorf.SentenceAnalysis___delitem__(self, *args)
    def __getitem__(self, *args): return _vabamorf.SentenceAnalysis___getitem__(self, *args)
    def __setitem__(self, *args): return _vabamorf.SentenceAnalysis___setitem__(self, *args)
    def append(self, *args): return _vabamorf.SentenceAnalysis_append(self, *args)
    def empty(self): return _vabamorf.SentenceAnalysis_empty(self)
    def size(self): return _vabamorf.SentenceAnalysis_size(self)
    def clear(self): return _vabamorf.SentenceAnalysis_clear(self)
    def swap(self, *args): return _vabamorf.SentenceAnalysis_swap(self, *args)
    def get_allocator(self): return _vabamorf.SentenceAnalysis_get_allocator(self)
    def begin(self): return _vabamorf.SentenceAnalysis_begin(self)
    def end(self): return _vabamorf.SentenceAnalysis_end(self)
    def rbegin(self): return _vabamorf.SentenceAnalysis_rbegin(self)
    def rend(self): return _vabamorf.SentenceAnalysis_rend(self)
    def pop_back(self): return _vabamorf.SentenceAnalysis_pop_back(self)
    def erase(self, *args): return _vabamorf.SentenceAnalysis_erase(self, *args)
    def __init__(self, *args): 
        this = _vabamorf.new_SentenceAnalysis(*args)
        try: self.this.append(this)
        except: self.this = this
    def push_back(self, *args): return _vabamorf.SentenceAnalysis_push_back(self, *args)
    def front(self): return _vabamorf.SentenceAnalysis_front(self)
    def back(self): return _vabamorf.SentenceAnalysis_back(self)
    def assign(self, *args): return _vabamorf.SentenceAnalysis_assign(self, *args)
    def resize(self, *args): return _vabamorf.SentenceAnalysis_resize(self, *args)
    def insert(self, *args): return _vabamorf.SentenceAnalysis_insert(self, *args)
    def reserve(self, *args): return _vabamorf.SentenceAnalysis_reserve(self, *args)
    def capacity(self): return _vabamorf.SentenceAnalysis_capacity(self)
    __swig_destroy__ = _vabamorf.delete_SentenceAnalysis
    __del__ = lambda self : None;
SentenceAnalysis_swigregister = _vabamorf.SentenceAnalysis_swigregister
SentenceAnalysis_swigregister(SentenceAnalysis)


def FSCInit():
  return _vabamorf.FSCInit()
FSCInit = _vabamorf.FSCInit

def FSCTerminate():
  return _vabamorf.FSCTerminate()
FSCTerminate = _vabamorf.FSCTerminate
class Analysis(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    root = _swig_property(_vabamorf.Analysis_root_get, _vabamorf.Analysis_root_set)
    ending = _swig_property(_vabamorf.Analysis_ending_get, _vabamorf.Analysis_ending_set)
    clitic = _swig_property(_vabamorf.Analysis_clitic_get, _vabamorf.Analysis_clitic_set)
    partofspeech = _swig_property(_vabamorf.Analysis_partofspeech_get, _vabamorf.Analysis_partofspeech_set)
    form = _swig_property(_vabamorf.Analysis_form_get, _vabamorf.Analysis_form_set)
    def __init__(self, *args): 
        this = _vabamorf.new_Analysis(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _vabamorf.delete_Analysis
    __del__ = lambda self : None;
Analysis_swigregister = _vabamorf.Analysis_swigregister
Analysis_swigregister(Analysis)

class Analyzer(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vabamorf.new_Analyzer(*args)
        try: self.this.append(this)
        except: self.this = this
    def analyze(self, *args): return _vabamorf.Analyzer_analyze(self, *args)
    __swig_destroy__ = _vabamorf.delete_Analyzer
    __del__ = lambda self : None;
Analyzer_swigregister = _vabamorf.Analyzer_swigregister
Analyzer_swigregister(Analyzer)

class Synthesizer(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _vabamorf.new_Synthesizer(*args)
        try: self.this.append(this)
        except: self.this = this
    def synthesize(self, *args): return _vabamorf.Synthesizer_synthesize(self, *args)
    __swig_destroy__ = _vabamorf.delete_Synthesizer
    __del__ = lambda self : None;
Synthesizer_swigregister = _vabamorf.Synthesizer_swigregister
Synthesizer_swigregister(Synthesizer)



