## Include this file in top-level srcdir to compile FSTs ## Copyright: Sámediggi/Divvun/UiT ## Licence: GPL v3+ # This file is included by $GTLANG/am-shared/src-dir-include.am, which is # included by $GTLANG/src/Makefile.am. All file references are relative to # that Makefile.am. ################################################## ####### Automake targets: ######## if WANT_OAHPA if CAN_HFST GT_ANALYSERS+=analyser-oahpa-gt-norm.hfstol GT_GENERATORS+=generator-oahpa-gt-norm.hfstol \ $(DIALECT_TARGETS_HFST) endif # CAN_HFST if CAN_XFST GT_ANALYSERS+=analyser-oahpa-gt-norm.xfst GT_GENERATORS+=generator-oahpa-gt-norm.xfst \ $(DIALECT_TARGETS_XFST) endif # CAN_XFST endif # WANT_OAHPA # Define the dialect targets using list of dialects defined in configure.ac: if HAVE_DIALECTS DIALECT_TARGETS=$(addprefix generator-oahpa-gt-norm-dial_,$(DIALECTS)) DIALECT_TARGETS_XFST=$(addsuffix .xfst,$(DIALECT_TARGETS)) DIALECT_TARGETS_HFST=$(addsuffix .hfstol,$(DIALECT_TARGETS)) endif # HAVE_DIALECTS if WANT_L2 if CAN_HFST GT_ANALYSERS+=analyser-oahpa-gt-error.hfstol endif # CAN_HFST if CAN_XFST GT_ANALYSERS+=analyser-oahpa-gt-error.xfst endif # CAN_XFST endif # WANT_L2 if WANT_DOWNCASEERROR if CAN_HFST GT_ANALYSERS+=analyser-oahpa-gt-downcaseerror.hfstol endif # CAN_HFST if CAN_XFST GT_ANALYSERS+=analyser-oahpa-gt-downcaseerror.xfst endif # CAN_XFST endif # WANT_DOWNCASEERROR ################################################## ######## Build rules for Xerox and HFST: ######### # analyser-oahpa-gt-norm - only used for testing in parallel with the generator # Require: # * homonym tags: Hom1, Hom2 (ie don't remove) - done # Optionally allow these tags: # * transitivity tags: IV, TV, - done # * variant tags: v1, v2, v3, v4, v5, - done # * generation restriction tags: Use/NGminip - not implemented # Build the normative Oahpa analyser as a complement to the generator: analyser-oahpa-gt-norm.tmp.hfst: generator-raw-gt-desc.hfst \ filters/remove-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-semantic-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-error-strings.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ orthography/inituppercase.compose.hfst \ orthography/spellrelax.compose.hfst \ orthography/downcase-derived_proper-strings.compose.hfst $(AM_V_HXFST)$(PRINTF) "set xerox-composition ON \n\ read regex \ @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-adv_comp-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-error-strings.hfst\" \ .o. @\"filters/remove-semantic-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.hfst\" \ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ ; \n\ define fst \n\ set flag-is-epsilon ON\n\ read regex fst \ .o. @\"orthography/inituppercase.compose.hfst\" \ .o. @\"orthography/spellrelax.compose.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) analyser-oahpa-gt-norm.tmp.xfst: analyser-raw-gt-desc.xfst \ filters/remove-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-semantic-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-error-strings.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ orthography/inituppercase.compose.xfst \ orthography/spellrelax.compose.xfst \ orthography/downcase-derived_proper-strings.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-adv_comp-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-error-strings.xfst\" \ .o. @\"filters/remove-semantic-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.xfst\" \ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ ; \n\ define fst \n\ set flag-is-epsilon ON\n\ read regex fst \ .o. @\"orthography/inituppercase.compose.xfst\" \ .o. @\"orthography/spellrelax.compose.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) # oahpa-norm / generator-oahpa-gt-norm # Require: # * homonym tags: Hom1, Hom2 (ie don't remove) - done # Optionally allow these tags: # * transitivity tags: IV, TV, - done # * variant tags: v1, v2, v3, v4, v5, - done # * generation restriction tags: Use/NGminip - not implemented # Build the general normative Oahpa generator: generator-oahpa-gt-norm.tmp.hfst: generator-raw-gt-desc.hfst \ filters/make-optional-hyph-tags.hfst \ filters/make-optional-transitivity-tags.hfst \ filters/make-optional-variant-tags.hfst \ filters/make-optional-semantic-tags.hfst \ filters/make-optional-NGminip-tags.hfst \ filters/make-optional-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-number-string-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-error-strings.hfst \ orthography/downcase-derived_proper-strings.compose.hfst $(AM_V_HXFST)$(PRINTF) "set xerox-composition ON\n\ read regex \ @\"filters/make-optional-transitivity-tags.hfst\" \ .o. @\"filters/make-optional-hyph-tags.hfst\" \ .o. @\"filters/make-optional-variant-tags.hfst\" \ .o. @\"filters/make-optional-semantic-tags.hfst\" \ .o. @\"filters/make-optional-NGminip-tags.hfst\" \ .o. @\"filters/make-optional-adv_comp-tags.hfst\" \ .o. @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-number-string-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-error-strings.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.hfst\" \ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) generator-oahpa-gt-norm.tmp.xfst: analyser-raw-gt-desc.xfst \ filters/make-optional-hyph-tags.xfst \ filters/make-optional-transitivity-tags.xfst \ filters/make-optional-variant-tags.xfst \ filters/make-optional-semantic-tags.xfst \ filters/make-optional-NGminip-tags.xfst \ filters/make-optional-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-number-string-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-error-strings.xfst \ orthography/downcase-derived_proper-strings.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.xfst\" \ .o. @\"filters/make-optional-hyph-tags.xfst\" \ .o. @\"filters/make-optional-variant-tags.xfst\" \ .o. @\"filters/make-optional-semantic-tags.xfst\" \ .o. @\"filters/make-optional-NGminip-tags.xfst\" \ .o. @\"filters/make-optional-adv_comp-tags.xfst\" \ .o. @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-number-string-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-error-strings.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.xfst\" \ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) # Build the dialect-targeted normative Oahpa generator - # the dialects are defined in configure.ac: generator-oahpa-gt-norm-dial_%.tmp.hfst: generator-raw-gt-desc.hfst\ filters/remove-all_dialects_but_%-strings.hfst \ filters/make-optional-hyph-tags.hfst \ filters/make-optional-transitivity-tags.hfst \ filters/make-optional-variant-tags.hfst \ filters/make-optional-semantic-tags.hfst \ filters/make-optional-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-number-string-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-NG-strings.hfst \ filters/remove-error-strings.hfst \ orthography/downcase-derived_proper-strings.compose.hfst $(AM_V_HXFST)$(PRINTF) "set xerox-composition ON\n\ read regex \ @\"filters/make-optional-transitivity-tags.hfst\" \ .o. @\"filters/make-optional-hyph-tags.hfst\" \ .o. @\"filters/make-optional-variant-tags.hfst\" \ .o. @\"filters/make-optional-semantic-tags.hfst\" \ .o. @\"filters/make-optional-adv_comp-tags.hfst\" \ .o. @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-number-string-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-error-strings.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"filters/remove-NG-strings.hfst\" \ .o. @\"filters/remove-all_dialects_but_$*-strings.hfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.hfst\"\ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) generator-oahpa-gt-norm-dial_%.tmp.xfst: analyser-raw-gt-desc.xfst \ filters/remove-all_dialects_but_%-strings.xfst \ filters/make-optional-hyph-tags.xfst \ filters/make-optional-transitivity-tags.xfst \ filters/make-optional-variant-tags.xfst \ filters/make-optional-semantic-tags.xfst \ filters/make-optional-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-number-string-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-NG-strings.xfst \ filters/remove-error-strings.xfst \ orthography/downcase-derived_proper-strings.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.xfst\" \ .o. @\"filters/make-optional-hyph-tags.xfst\" \ .o. @\"filters/make-optional-variant-tags.xfst\" \ .o. @\"filters/make-optional-semantic-tags.xfst\" \ .o. @\"filters/make-optional-adv_comp-tags.xfst\" \ .o. @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-number-string-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-error-strings.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"filters/remove-NG-strings.xfst\" \ .o. @\"filters/remove-all_dialects_but_$*-strings.xfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.xfst\"\ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) # The "raw" transducer contains all tags and symbols available on the analysis # side. Some of them are optional for generation, some are only needed for # special tools. On the lower side, the raw transducer contains all # morphological boundaries and hyphenation symbols. As such, this transducer # can NOT be used for morphological analysis, and hardly for generation. # First build a tmp1 raw file as the intersection between lexicon and rules: # This raw error/L2 lexical transducer uses both L2 lexicon and L2 twolc: generator-raw-gt-%.tmp1.hfst: morphology/lexicon-%.hfst \ phonology/$(GTLANG)-phon-%.compose.hfst $(AM_V_INTRSCT)$(HFST_COMPOSE_INTERSECT) $(MORE_VERBOSITY) $(HFST_FLAGS) \ -1 morphology/lexicon-error.hfst \ -2 phonology/$(GTLANG)-phon-$*.compose.hfst |\ $(HFST_MINIMIZE) $(HFST_FLAGS) -o $@ # This is an alternative error fst for cases where the L2 phonology file is not # available (because of configuration or no source file): generator-raw-gt-%.tmp1.hfst: morphology/lexicon-%.hfst \ phonology/$(GTLANG)-phon.compose.hfst $(AM_V_INTRSCT)$(HFST_COMPOSE_INTERSECT) $(MORE_VERBOSITY) $(HFST_FLAGS) \ -1 morphology/lexicon-error.hfst \ -2 phonology/$(GTLANG)-phon.compose.hfst |\ $(HFST_MINIMIZE) $(HFST_FLAGS) -o $@ # The same for Xerox: analyser-raw-gt-%.tmp1.xfst: morphology/lexicon-%.xfst \ phonology/$(GTLANG)-phon-%.compose.xfst $(AM_V_LEXC)$(PRINTF) \ "read-source morphology/lexicon-error.xfst\nread-rules phonology/$(GTLANG)-phon-$*.compose.xfst\ncompose-result\nsave-result $@\nquit\n" \ | $(LEXC) $(VERBOSITY) analyser-raw-gt-%.tmp1.xfst: morphology/lexicon-%.xfst \ phonology/$(GTLANG)-phon.compose.xfst $(AM_V_LEXC)$(PRINTF) \ "read-source morphology/lexicon-error.xfst\nread-rules phonology/$(GTLANG)-phon.compose.xfst\ncompose-result\nsave-result $@\nquit\n" \ | $(LEXC) $(VERBOSITY) # ... then apply tag reordering to tmp1 to ensure the same tag order in all # subsequent processing; this creates the regular tmp file, which can further # get local processing to produce the final raw file: generator-raw-gt-error.tmp.hfst: generator-raw-gt-L2.tmp1.hfst \ filters/reorder-semantic-tags.hfst \ filters/reorder-subpos-tags.hfst $(AM_V_RGX2FST)$(PRINTF) "\ @\"filters/reorder-subpos-tags.hfst\" \ .o. @\"filters/reorder-semantic-tags.hfst\" \ .o. @\"$<\" \ ;" \ | $(HFST_REGEXP2FST) $(HFST_FLAGS) -S --xerox-composition=ON \ > $@ analyser-raw-gt-error.tmp.xfst: analyser-raw-gt-L2.tmp1.xfst \ filters/reorder-semantic-tags.xfst \ filters/reorder-subpos-tags.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/reorder-subpos-tags.xfst\" \ .o. @\"filters/reorder-semantic-tags.xfst\" \ .o. @\"$<\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) # Build the descriptive Oahpa analyser with extra error tags: analyser-oahpa-gt-error.tmp.hfst: generator-raw-gt-error.hfst \ filters/remove-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-semantic-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ orthography/inituppercase.compose.hfst \ orthography/spellrelax.compose.hfst \ orthography/downcase-derived_proper-strings.compose.hfst $(AM_V_HXFST)$(PRINTF) "set xerox-composition ON\n\ read regex \ @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-adv_comp-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-semantic-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.hfst\" \ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ ; \n\ define fst \n\ set flag-is-epsilon ON\n\ read regex fst \ .o. @\"orthography/inituppercase.compose.hfst\" \ .o. @\"orthography/spellrelax.compose.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) analyser-oahpa-gt-error.tmp.xfst: analyser-raw-gt-error.xfst \ filters/remove-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-semantic-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ orthography/inituppercase.compose.xfst \ orthography/spellrelax.compose.xfst \ orthography/downcase-derived_proper-strings.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-adv_comp-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-semantic-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"$<\" \ .o. @\"orthography/downcase-derived_proper-strings.compose.xfst\" \ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ ; \n\ define fst \n\ set flag-is-epsilon ON\n\ read regex fst \ .o. @\"orthography/inituppercase.compose.xfst\" \ .o. @\"orthography/spellrelax.compose.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) # Build an error fst that also recognises initial case error for place names: analyser-oahpa-gt-downcaseerror.tmp.hfst: analyser-oahpa-gt-error.tmp.hfst \ filters/downcase_UCletters.hfst \ filters/extract-Sem_Plc-strings.hfst \ filters/tag-lowercase_error-strings.hfst $(AM_V_RGX2FST)$(PRINTF) "\ [ [ @\"filters/tag-lowercase_error-strings.hfst\" \ .o. @\"filters/extract-Sem_Plc-strings.hfst\" \ .o. @\"$<\" \ ] \ .o. @\"filters/downcase_UCletters.hfst\" \ ] \ | @\"$<\" \ ;" \ | $(HFST_REGEXP2FST) $(HFST_FLAGS) -S --xerox-composition=ON \ > $@ analyser-oahpa-gt-downcaseerror.tmp.xfst: analyser-oahpa-gt-error.tmp.xfst \ filters/downcase_UCletters.xfst \ filters/extract-Sem_Plc-strings.xfst \ filters/tag-lowercase_error-strings.xfst $(AM_V_XFST)$(PRINTF) "read regex \ [ [ @\"filters/tag-lowercase_error-strings.xfst\" \ .o. @\"filters/extract-Sem_Plc-strings.xfst\" \ .o. @\"$<\" \ ] \ .o. @\"filters/downcase_UCletters.xfst\" \ ] \ | @\"$<\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) ############################################################### # Additional targets to support multiple writing systems: analyser-oahpa-gt-norm.%.tmp.hfst: generator-raw-gt-desc.hfst \ filters/remove-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-semantic-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-error-strings.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ orthography/spellrelax.%.compose.hfst \ orthography/$(DEFAULT_WS)-to-%.compose.hfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-adv_comp-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-error-strings.hfst\" \ .o. @\"filters/remove-semantic-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ .o. @\"orthography/$(DEFAULT_WS)-to-$*.compose.hfst\" \ .o. @\"orthography/spellrelax.$*.compose.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) analyser-oahpa-gt-norm.%.tmp.xfst: analyser-raw-gt-desc.xfst \ filters/remove-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-semantic-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-error-strings.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ orthography/spellrelax.%.compose.xfst \ orthography/$(DEFAULT_WS)-to-%.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-adv_comp-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-error-strings.xfst\" \ .o. @\"filters/remove-semantic-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ .o. @\"orthography/$(DEFAULT_WS)-to-$*.compose.xfst\" \ .o. @\"orthography/spellrelax.$*.compose.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) generator-oahpa-gt-norm.%.tmp.hfst: generator-raw-gt-desc.hfst \ filters/make-optional-hyph-tags.hfst \ filters/make-optional-transitivity-tags.hfst \ filters/make-optional-variant-tags.hfst \ filters/make-optional-semantic-tags.hfst \ filters/make-optional-NGminip-tags.hfst \ filters/make-optional-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-number-string-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-error-strings.hfst \ orthography/$(DEFAULT_WS)-to-%.compose.hfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.hfst\" \ .o. @\"filters/make-optional-hyph-tags.hfst\" \ .o. @\"filters/make-optional-variant-tags.hfst\" \ .o. @\"filters/make-optional-semantic-tags.hfst\" \ .o. @\"filters/make-optional-NGminip-tags.hfst\" \ .o. @\"filters/make-optional-adv_comp-tags.hfst\" \ .o. @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-number-string-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-error-strings.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ .o. @\"orthography/$(DEFAULT_WS)-to-$*.compose.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) generator-oahpa-gt-norm.%.tmp.xfst: analyser-raw-gt-desc.xfst \ filters/make-optional-hyph-tags.xfst \ filters/make-optional-transitivity-tags.xfst \ filters/make-optional-variant-tags.xfst \ filters/make-optional-semantic-tags.xfst \ filters/make-optional-NGminip-tags.xfst \ filters/make-optional-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-number-string-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-error-strings.xfst \ orthography/$(DEFAULT_WS)-to-%.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.xfst\" \ .o. @\"filters/make-optional-hyph-tags.xfst\" \ .o. @\"filters/make-optional-variant-tags.xfst\" \ .o. @\"filters/make-optional-semantic-tags.xfst\" \ .o. @\"filters/make-optional-NGminip-tags.xfst\" \ .o. @\"filters/make-optional-adv_comp-tags.xfst\" \ .o. @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-number-string-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-error-strings.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ .o. @\"orthography/$(DEFAULT_WS)-to-$*.compose.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) ############################################################### # Additional targets to support alternative orthographies: analyser-oahpa-gt-norm.%.tmp.hfst: generator-raw-gt-desc.hfst \ filters/remove-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-semantic-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-error-strings.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ orthography/spellrelax.%.compose.hfst \ orthography/$(DEFAULT_ORTH)-to-%.compose.hfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-adv_comp-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-error-strings.hfst\" \ .o. @\"filters/remove-semantic-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$*.compose.hfst\" \ .o. @\"orthography/spellrelax.$*.compose.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) analyser-oahpa-gt-norm.%.tmp.xfst: analyser-raw-gt-desc.xfst \ filters/remove-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-semantic-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-error-strings.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ orthography/spellrelax.%.compose.xfst \ orthography/$(DEFAULT_ORTH)-to-%.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-adv_comp-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-error-strings.xfst\" \ .o. @\"filters/remove-semantic-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$*.compose.xfst\" \ .o. @\"orthography/spellrelax.$*.compose.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY) generator-oahpa-gt-norm.%.tmp.hfst: generator-raw-gt-desc.hfst \ filters/make-optional-hyph-tags.hfst \ filters/make-optional-transitivity-tags.hfst \ filters/make-optional-variant-tags.hfst \ filters/make-optional-semantic-tags.hfst \ filters/make-optional-NGminip-tags.hfst \ filters/make-optional-adv_comp-tags.hfst \ filters/remove-derivation-position-tags.hfst \ filters/remove-dialect-tags.hfst \ filters/remove-hyphenation-marks.hfst \ filters/remove-infl_deriv-borders.hfst \ filters/remove-word-boundary.hfst \ filters/remove-norm-comp-tags.hfst \ filters/remove-number-string-tags.hfst \ filters/remove-usage-tags.hfst \ filters/remove-orthography-tags.hfst \ filters/remove-Orth_IPA-strings.hfst \ filters/remove-orig_lang-tags.hfst \ filters/remove-error-strings.hfst \ orthography/$(DEFAULT_ORTH)-to-%.compose.hfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.hfst\" \ .o. @\"filters/make-optional-hyph-tags.hfst\" \ .o. @\"filters/make-optional-variant-tags.hfst\" \ .o. @\"filters/make-optional-semantic-tags.hfst\" \ .o. @\"filters/make-optional-NGminip-tags.hfst\" \ .o. @\"filters/make-optional-adv_comp-tags.hfst\" \ .o. @\"filters/remove-derivation-position-tags.hfst\" \ .o. @\"filters/remove-dialect-tags.hfst\" \ .o. @\"filters/remove-norm-comp-tags.hfst\" \ .o. @\"filters/remove-number-string-tags.hfst\" \ .o. @\"filters/remove-usage-tags.hfst\" \ .o. @\"filters/remove-error-strings.hfst\" \ .o. @\"filters/remove-orig_lang-tags.hfst\" \ .o. @\"filters/remove-orthography-tags.hfst\" \ .o. @\"filters/remove-Orth_IPA-strings.hfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.hfst\" \ .o. @\"filters/remove-infl_deriv-borders.hfst\" \ .o. @\"filters/remove-word-boundary.hfst\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$*.compose.hfst\" \ ;\n\ save stack $@\n\ quit\n" | $(HFST_XFST) -p $(MORE_VERBOSITY) generator-oahpa-gt-norm.%.tmp.xfst: analyser-raw-gt-desc.xfst \ filters/make-optional-hyph-tags.xfst \ filters/make-optional-transitivity-tags.xfst \ filters/make-optional-variant-tags.xfst \ filters/make-optional-semantic-tags.xfst \ filters/make-optional-NGminip-tags.xfst \ filters/make-optional-adv_comp-tags.xfst \ filters/remove-derivation-position-tags.xfst \ filters/remove-dialect-tags.xfst \ filters/remove-hyphenation-marks.xfst \ filters/remove-infl_deriv-borders.xfst \ filters/remove-word-boundary.xfst \ filters/remove-norm-comp-tags.xfst \ filters/remove-number-string-tags.xfst \ filters/remove-usage-tags.xfst \ filters/remove-orthography-tags.xfst \ filters/remove-Orth_IPA-strings.xfst \ filters/remove-orig_lang-tags.xfst \ filters/remove-error-strings.xfst \ orthography/$(DEFAULT_ORTH)-to-%.compose.xfst $(AM_V_XFST)$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.xfst\" \ .o. @\"filters/make-optional-hyph-tags.xfst\" \ .o. @\"filters/make-optional-variant-tags.xfst\" \ .o. @\"filters/make-optional-semantic-tags.xfst\" \ .o. @\"filters/make-optional-NGminip-tags.xfst\" \ .o. @\"filters/make-optional-adv_comp-tags.xfst\" \ .o. @\"filters/remove-derivation-position-tags.xfst\" \ .o. @\"filters/remove-dialect-tags.xfst\" \ .o. @\"filters/remove-norm-comp-tags.xfst\" \ .o. @\"filters/remove-number-string-tags.xfst\" \ .o. @\"filters/remove-usage-tags.xfst\" \ .o. @\"filters/remove-error-strings.xfst\" \ .o. @\"filters/remove-orig_lang-tags.xfst\" \ .o. @\"filters/remove-orthography-tags.xfst\" \ .o. @\"filters/remove-Orth_IPA-strings.xfst\" \ .o. @\"$<\" \ .o. @\"filters/remove-hyphenation-marks.xfst\" \ .o. @\"filters/remove-infl_deriv-borders.xfst\" \ .o. @\"filters/remove-word-boundary.xfst\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$*.compose.xfst\" \ ;\n\ save stack $@\n\ quit\n" | $(XFST) $(VERBOSITY)