# Divvun & Giellatekno - open source grammars for Sámi and other languages # Copyright © 2000-2015 The University of Tromsø & the Norwegian Sámi Parliament # http://giellatekno.uit.no & http://divvun.no # # This program is free software; you can redistribute and/or modify # this file under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. The GNU General Public License # is found at http://www.gnu.org/licenses/gpl.html. It is # also available in the file $GTHOME/LICENSE.txt. # # Other licensing options are available upon request, please contact # giellatekno@uit.no or divvun@uit.no # This filter splits a row of CmpN tags into parallel paths with single tags. # This is the first step of two in converting CmpN tags into flag diacritics # that will regulate compounding behaviour in fst-based spellers. # The split is done independently for the regular CmpN tags, the CmpN/Left tags # and the CmpN/Attr tags. The order is: most general pattern on top, more specific # patterns further down, the most specific one at the bottom. ! Only +CmpN/ tags, no Left or Def: [ [ "+CmpN/SgN" | "+CmpN/SgG" ] <- "+CmpN/SgN" "+CmpN/SgG" , [ "+CmpN/SgN" | "+CmpN/PlG" ] <- "+CmpN/SgN" "+CmpN/PlG" , [ "+CmpN/SgG" | "+CmpN/PlG" ] <- "+CmpN/SgG" "+CmpN/PlG" , ! Left tags: [ "+CmpN/SgNomLeft" | "+CmpN/SgGenLeft" ] <- "+CmpN/SgNomLeft" "+CmpN/SgGenLeft" , [ "+CmpN/SgNomLeft" | "+CmpN/PlGenLeft" ] <- "+CmpN/SgNomLeft" "+CmpN/PlGenLeft" , [ "+CmpN/SgGenLeft" | "+CmpN/PlGenLeft" ] <- "+CmpN/SgGenLeft" "+CmpN/PlGenLeft" ] .o. [ [ "+CmpN/SgN" | "+CmpN/SgG" | "+CmpN/PlG" ] <- "+CmpN/SgN" "+CmpN/SgG" "+CmpN/PlG" , [ "+CmpN/SgNomLeft" | "+CmpN/SgGenLeft" | "+CmpN/PlGenLeft" ] <- "+CmpN/SgNomLeft" "+CmpN/SgGenLeft" "+CmpN/PlGenLeft" ] .o. [ [ "+CmpN/Attr" | "+CmpN/SgN" ] <- "+CmpN/Attr" "+CmpN/SgN", [ "+CmpN/Attr" | "+CmpN/PlG" ] <- "+CmpN/Attr" "+CmpN/PlG" ] .o. [ [ "+CmpN/Attr" | "+CmpN/SgN" | "+CmpN/PlG" ] <- "+CmpN/Attr" "+CmpN/SgN" "+CmpN/PlG", [ "+CmpN/Attr" | "+CmpN/SgG" | "+CmpN/PlG" ] <- "+CmpN/Attr" "+CmpN/SgG" "+CmpN/PlG" ] .o. [ [ "+CmpN/Attr" | "+CmpN/SgN" | "+CmpN/SgG" | "+CmpN/PlG" ] <- "+CmpN/Attr" "+CmpN/SgN" "+CmpN/SgG" "+CmpN/PlG" ] ;