! -*- coding: utf-8 -*-

Define Boundary [" " | #] ;

Define TagName [{Ena} | {Nu} | {Ti}] {mex} Alpha* ;

! Skip already tagged names
Define SkipTagged ["<" TagName ">" [? - "<"]+ {</} TagName ">"] ;

Define EnamexEvnClu1 @bin"gazetteer-pm/EnamexEvnClu-3.fst" EndTag(EnamexEvnClu) ; 1
Define EnamexEvnHpl1 @bin"gazetteer-pm/EnamexEvnHpl-3.fst" EndTag(EnamexEvnHpl) ; 1
Define EnamexEvnRlg1 @bin"gazetteer-pm/EnamexEvnRlg-3.fst" EndTag(EnamexEvnRlg) ; 1
Define EnamexLocAst1 @bin"gazetteer-pm/EnamexLocAst-3.fst" EndTag(EnamexLocAst) ; 1
Define EnamexLocFnc1 @bin"gazetteer-pm/EnamexLocFnc-3.fst" EndTag(EnamexLocFnc) ; 1
Define EnamexLocGpl1 @bin"gazetteer-pm/EnamexLocGpl-3.fst" EndTag(EnamexLocGpl) ; 1
Define EnamexLocPpl1 @bin"gazetteer-pm/EnamexLocPpl-3.fst" EndTag(EnamexLocPpl) ; 1
Define EnamexLocStr1 @bin"gazetteer-pm/EnamexLocStr-3.fst" EndTag(EnamexLocStr) ; 1
Define EnamexObjCmp1 @bin"gazetteer-pm/EnamexObjCmp-3.fst" EndTag(EnamexObjCmp) ; 1
Define EnamexObjFwp1 @bin"gazetteer-pm/EnamexObjFwp-3.fst" EndTag(EnamexObjFwp) ; 1
Define EnamexObjPrd1 @bin"gazetteer-pm/EnamexObjPrd-3.fst" EndTag(EnamexObjPrd) ; 1
Define EnamexObjPrz1 @bin"gazetteer-pm/EnamexObjPrz-3.fst" EndTag(EnamexObjPrz) ; 1
Define EnamexObjVhw1 @bin"gazetteer-pm/EnamexObjVhw-3.fst" EndTag(EnamexObjVhw) ; 1
Define EnamexOrgAth1 @bin"gazetteer-pm/EnamexOrgAth-3.fst" EndTag(EnamexOrgAth) ; 1
Define EnamexOrgCrp1 @bin"gazetteer-pm/EnamexOrgCrp-3.fst" EndTag(EnamexOrgCrp) ; 1
Define EnamexOrgEdu1 @bin"gazetteer-pm/EnamexOrgEdu-3.fst" EndTag(EnamexOrgEdu) ; 1
Define EnamexOrgFin1 @bin"gazetteer-pm/EnamexOrgFin-3.fst" EndTag(EnamexOrgFin) ; 1
Define EnamexOrgPlt1 @bin"gazetteer-pm/EnamexOrgPlt-3.fst" EndTag(EnamexOrgPlt) ; 1
Define EnamexPrsAnm1 @bin"gazetteer-pm/EnamexPrsAnm-3.fst" EndTag(EnamexPrsAnm) ; 1
Define EnamexPrsHum1 @bin"gazetteer-pm/EnamexPrsHum-3.fst" EndTag(EnamexPrsHum) ; 1
Define EnamexPrsMth1 @bin"gazetteer-pm/EnamexPrsMth-3.fst" EndTag(EnamexPrsMth) ; 1
Define EnamexWrkWaa1 @bin"gazetteer-pm/EnamexWrkWaa-3.fst" EndTag(EnamexWrkWaa) ; 1
Define EnamexWrkWao1 @bin"gazetteer-pm/EnamexWrkWao-3.fst" EndTag(EnamexWrkWao) ; 1
Define NumexMsrAge1 @bin"gazetteer-pm/NumexMsrAge-3.fst" EndTag(NumexMsrAge) ; 1
Define NumexMsrCur1 @bin"gazetteer-pm/NumexMsrCur-3.fst" EndTag(NumexMsrCur) ; 1
Define NumexMsrDst1 @bin"gazetteer-pm/NumexMsrDst-3.fst" EndTag(NumexMsrDst) ; 1
Define NumexMsrFrq1 @bin"gazetteer-pm/NumexMsrFrq-3.fst" EndTag(NumexMsrFrq) ; 1
Define NumexMsrInx1 @bin"gazetteer-pm/NumexMsrInx-3.fst" EndTag(NumexMsrInx) ; 1
Define NumexMsrMsu1 @bin"gazetteer-pm/NumexMsrMsu-3.fst" EndTag(NumexMsrMsu) ; 1
Define TimexTmeDat1 @bin"gazetteer-pm/TimexTmeDat-3.fst" EndTag(TimexTmeDat) ; 1


Define TOP [ SkipTagged | EnamexEvnClu1 | EnamexEvnHpl1 | EnamexEvnRlg1 | EnamexLocAst1 | EnamexLocFnc1 | EnamexLocGpl1 | EnamexLocPpl1 | EnamexLocStr1 | EnamexObjCmp1 | EnamexObjFwp1 | EnamexObjPrd1 | EnamexObjPrz1 | EnamexObjVhw1 | EnamexOrgAth1 | EnamexOrgCrp1 | EnamexOrgEdu1 | EnamexOrgFin1 | EnamexOrgPlt1 | EnamexPrsAnm1 | EnamexPrsHum1 | EnamexPrsMth1 | EnamexWrkWaa1 | EnamexWrkWao1 | NumexMsrAge1 | NumexMsrCur1 | NumexMsrDst1 | NumexMsrFrq1 | NumexMsrInx1 | NumexMsrMsu1 | TimexTmeDat1 ] LC(Boundary) RC(Boundary) ;
