def self.create
@@handler = nil
@@regex = Regexp.compile(".*" + "<pos>(.+?)</pos>" + ".*")
@@morphology_regexs=[]
@@morphology_regexs[0] = Regexp.compile("^(Pref-0|Suff-0)$")
@@morphology_regexs[1] = Regexp.compile("^F" + ".*")
@@morphology_regexs[2] = Regexp.compile("^IV" + ".*")
@@morphology_regexs[3] = Regexp.compile("^PV" + ".*")
@@morphology_regexs[4] = Regexp.compile("^CV" + ".*")
@@morphology_regexs[5] = Regexp.compile("^N" + ".*")
@@morphology_regexs[6] = Regexp.compile("^[A-Z]" + ".*")
@@morphology_regexs[7] = Regexp.compile(".*" + "iy~$")
@@compatability_stpliter = Regexp.compile("\\s+")
@@vocalization_array =[]
@@vocalization_array[0] = "/FUNC_WORD"
@@vocalization_array[1] ="/VERB_IMPERFECT"
@@vocalization_array[2] ="/VERB_PERFECT"
@@vocalization_array[3] ="/VERB_IMPERATIVE"
@@vocalization_array[4] = "/NOUN_PROP"
@@vocalization_array[5] ="/NOUN"
@@vocalization_array[6] = "/NOUN"
@@prefixes_stems_compatibility = Set.new
@@prefixes_suffixes_compatibility = Set.new
@@stems_suffixes_compatibility = Set.new
puts "Initializing in-memory dictionary handler..."
Thread.abort_on_exception = true
load_dictionary( @@prefixes , "dictPrefixes" , File.dirname(__FILE__) + "/../dictionaries/dictPrefixes" )
load_stems_marshaled_dictionary
load_dictionary(@@suffixes, "dictSuffixes" , File.dirname(__FILE__) + "/../dictionaries/dictSuffixes")
load_compatibility_table(@@prefixes_stems_compatibility , "prefixes_stems_compatibility" , File.dirname(__FILE__) + "/../dictionaries/tableAB")
load_compatibility_table(@@prefixes_suffixes_compatibility , "prefixes_suffixes_compatibility" , File.dirname(__FILE__) + "/../dictionaries/tableAC")
load_compatibility_table(@@stems_suffixes_compatibility , "stems_suffixes_compatibility" , File.dirname(__FILE__) + "/../dictionaries/tableBC")
puts "... Done ... "
@@handler = new unless @@handler
end