!= ===============================================================
!= HFST Pmatch rule file converted from Flex source file LocGeo.ll
!= by flex2pmatch.py
!= ===============================================================

!= ===============================================
!= Pmatch shorthand regular expression definitions
!= ===============================================

Define UNIMPLEMENTED [ "" ] ;
Define AnyChar [ ? ] ;
Define Upper [UppercaseAlpha|"&"] ;
Define AZ
     ["A"|"B"|"C"|"D"|"E"|"F"|"G"|"H"|"I"|"J"|"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|"S"|"T"|"U"|"V"|"W"|"X"|"Y"|"Z"] ;
Define Az
     ["a"|"b"|"c"|"d"|"e"|"f"|"g"|"h"|"i"|"j"|"k"|"l"|"m"|"n"|"o"|"p"|"q"|"r"|"s"|"t"|"u"|"v"|"w"|"x"|"y"|"z"] ;
Define NST [? - [Whitespace|"<"|">"]] ;
Define NS [ NST ] ;
Define NSTagComma [? - [Whitespace|"<"|">"|","]] ;
Define NSHash [? - [Whitespace|"#"|"<"|">"]] ;
Define NSDash [? - [Whitespace|"-"|"<"|">"]] ;
Define NSColon [? - [Whitespace|":"|"<"|">"]] ;
Define NSDashColon [? - [Whitespace|":"|"-"|"<"|">"]] ;
Define NoTag [? - ["\n"|"<"|">"]] ;
Define NoTags [ NoTag+ ] ;
Define NoQuote [? - ["\n"|"\""|"'"|"´"|"«"|"»"|"<"|">"]] ;
Define NoDQuote [? - ["\""|"\n"|"<"|">"]] ;
Define NoQuoteVbar [? - ["\n"|"\""|"'"|"|"|"´"|"«"|"»"|"<"|">"]] ;
Define NoQuoteHash [? - ["\n"|"\""|"'"|"´"|"#"|"«"|"»"|"<"|">"]] ;
Define NoQuoteHashVbar [? - ["\n"|"\""|"'"|"´"|"#"|"|"|"«"|"»"|"<"|">"]] ;
Define NoComma [? - ["\n"|","|"<"|">"]] ;
Define NoCommaPeriod [? - ["\n"|","|"."|"<"|">"]] ;
Define NoLPar [? - ["\n"|"("|"<"|">"]] ;
Define UpperDigit [UppercaseAlpha|Num] ;
Define UpperDigitDash [UppercaseAlpha|Num|"-"] ;
Define Lower [ LowercaseAlpha ] ;
Define LowerDigit [LowercaseAlpha|Num] ;
Define LowerDigitDash [LowercaseAlpha|Num|"-"] ;
Define DigitDash [Num|"-"] ;
Define DigitDashes [ DigitDash+ ] ;
Define DigitComma [Num|","] ;
Define DigitCommas [ DigitComma+ ] ;
Define DigitUscore [Num|"_"] ;
Define DigitUscores [ DigitUscore+ ] ;
Define AsciiAlpha [ AZ | Az ] ;
Define AlphaDigit [Alpha|Num] ;
Define AlphaDigitDash [Alpha|Num|"-"] ;
Define AlphaDigitDashUnder [Alpha|Num|"-"|"_"] ;
Define Num02 ["0"|"1"|"2"] ;
Define Num03 ["0"|"1"|"2"|"3"] ;
Define Num06 ["0"|"1"|"2"|"3"|"4"|"5"|"6"] ;
Define Num12 ["1"|"2"] ;
Define Num19 ["1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"] ;
Define Num13 ["1"|"2"|"3"] ;
Define YearNum [ Num12 Num^3 ] ;
Define Nums6 [ Num^6 ] ;
Define Nums4 [ Num^4 ] ;
Define Nums2 [ Num^2 ] ;
Define Nums [ Num+ ] ;
Define Nums12 [ Num (Num) ] ;
Define Num12DigitDashes [ Num12 DigitDashes ] ;
Define Num01X [ ["0"|"1"] Num ] ;
Define Num02X [ Num02 Num ] ;
Define Num12X [ Num12 Num ] ;
Define Num13X [ Num13 Num ] ;
Define Num19x [ Num19 (Num) ] ;
Define Num19X [ Num19 Num ] ;
Define Num12Nums [ Num12 Nums ] ;
Define NumsDotNums [ Nums {.} Nums ] ;
Define Nums2DotNums2 [ Nums2 {.} Nums2 ] ;
Define NumsColonNums [ Nums {:} Nums ] ;
Define NumDotNums2 [ Num {.} Nums2 ] ;
Define Nums12DotNums2 [ Nums12 {.} Nums2 ] ;
Define NumsSlashNums [ Nums {/} Nums ] ;
Define NumsCommaNums [ Nums {,} Nums ] ;
Define NumsSpNums [ Nums { } Nums ] ;
Define NumRange [ Nums {-} Nums ] ;
Define Nums2Range [ Nums2 {-} Nums2 ] ;
Define NumsSpRange [ Nums { - } Nums ] ;
Define HhMm [ Num02X {.} Nums2 ] ;
Define CapWord [ Upper NS* ] ;
Define CapWord2 [ Upper NS+ ] ;
Define CapWord3 [ Upper NS^>1 ] ;
Define CapWord4 [ Upper NS^>2 ] ;
Define Word [ NS+ ] ;
Define UpperWord [ Upper+ ] ;
Define LowerWord [ Lower+ ] ;
Define CapWord2iska [ CapWord2 {iska} ] ;
Define CapWord2ska [ CapWord2 {ska} ] ;
Define CapWord2sk [ CapWord2 {sk} ] ;
Define CapWord2s [ CapWord2 {s} ] ;
Define CapWord2Dash [ CapWord2 {-} ] ;
Define WordDash [ Word {-} ] ;
Define Word%_iska [ Word {iska} ] ;
Define Word%_isk [ Word {isk} ] ;
Define Word%_ska [ Word {ska} ] ;
Define Word%_sk [ Word {sk} ] ;
Define Word%_s [ Word {s} ] ;
Define UpperWord%_s [ UpperWord {:s} ] ;
Define LowerWord%_a [ LowerWord {a} ] ;
Define LowerWord%_e [ LowerWord {e} ] ;
Define LowerWord%_s [ LowerWord {s} ] ;
Define EndTagEnamex [ {</ENAMEX>} ] ;
Define StartTagEnamex
     [ {<ENAMEX TYPE=} "\"" UpperWord "\"" { SBT=} "\"" UpperWord "\"" {>} ] ;
Define WordBoundary [ [Whitespace|Punct] - ["<"|">"] | # ] ;
Define Aa ["A"|"a"] ;
Define Bb ["B"|"b"] ;
Define Cc ["C"|"c"] ;
Define Dd ["D"|"d"] ;
Define Ee ["E"|"e"] ;
Define Ff ["F"|"f"] ;
Define Gg ["G"|"g"] ;
Define Hh ["H"|"h"] ;
Define Ii ["I"|"i"] ;
Define Jj ["J"|"j"] ;
Define Kk ["K"|"k"] ;
Define Ll ["L"|"l"] ;
Define Mm ["M"|"m"] ;
Define Nn ["N"|"n"] ;
Define Oo ["O"|"o"] ;
Define Pp ["P"|"p"] ;
Define Qq ["Q"|"q"] ;
Define Rr ["R"|"r"] ;
Define Ss ["S"|"s"] ;
Define Tt ["T"|"t"] ;
Define Uu ["U"|"u"] ;
Define Vv ["V"|"v"] ;
Define Ww ["W"|"w"] ;
Define Xx ["X"|"x"] ;
Define Yy ["Y"|"y"] ;
Define Zz ["Z"|"z"] ;

!= ============================
!= Additional recognition rules
!= ============================

!C Ignore already tagged names and exceptions.
!C Note that this might not always work correctly since Pmatch rules
!C are in principle order-independent.
Define IgnoreTagged
     [ {<Except>} [? - "<"]* {</Except>}
       | {<} [{Ena} | {Nu} | {Ti}] {mex} Alpha+ {>} [? - "<"]+ {</}
         [{Ena} | {Nu} | {Ti}] {mex} Alpha* {>} ] ;

!= ==================================================
!= Pmatch definitions for converted Flex source begin
!= ==================================================

!= ==========================================================
!= Pmatch definitions for Flex regular expression definitions
!= ==========================================================

!# 
!# 	File: LocGeo.ll
!# <ENAMEX TYPE="LOC" SBT="AST|STR|GPL|PPL|FNC"></ENAMEX><MTH="PTR"/>
!# 	Author: Dimitrios Kokkinakis
!# 	version: 101129
!# 	Finds a variety of GPL-Locations using pattern matching
!# 

!= =================================
!= Pmatch definitions for Flex rules
!= =================================

!#  EXCEPTIONS 

!R "\<ENAMEX TYPE\="\"(TRM|EVN|LOC|MSR|OBJ|ORG|PRS|WRK|TME)"\" SBT\=\""(ANM|ARL|AST|ATH|ATL|CLC|CLT|CLU|CMP|CRP|DAT|DEN|EDU|FIN|FNC|FWP|GPL|HPL|HUM|MDC|MDO|MDD|MDA|MDI|MDS|MTH|PER|PLT|PPL|PRD|PRJ|PSS|PRZ|RLG|RTV|STR|TVR|TRM|VHA|VHG|VHW|WAA|WAO|WMD|WMO|WTH)\"\>[^\n\<]+\<\/ENAMEX\>
!A {ECHO;}
!I Ignored exception rule

!R "\<NUMEX TYPE\="\"MSR"\" SBT\=\""(DSG|DGR|VLM|TMP|INX|DST|CUR|DEN|PRC|CMU|WMU|XXX|TEL|LST|AGE|WEB|CVU|CRD|ELU)\"\>[^\n\<]+\<\/NUMEX\>
!A {ECHO;}
!I Ignored exception rule

!R "\<TIMEX TYPE\="\"TME"\" SBT\=\""DAT\"\>[^\n\<]+\<\/NUMEX\>
!A {ECHO;}
!I Ignored exception rule

!R "Bay Networks"
!A {ECHO;}

Define Except001 [ {Bay Networks} ] ; 1

!R ([^\n^\t ]+paketet|Opera|Till|HIF)" Bay"
!A {ECHO;}

Define Except002 [ [Word {paketet} | {Opera} | {Till} | {HIF}] { Bay} ] ; 2

!R (Från|Mellan|Till|Alla)" "bergen
!A {ECHO;}

Define Except003 [ [{Från} | {Mellan} | {Till} | {Alla}] { bergen} ] ; 3

!R {U}[^\n^\t ]+" Mountain News"
!A {ECHO;}

Define Except004 [ CapWord2 { Mountain News} ] ; 4

!R (Också|Från|Stiger|Över|Även|Till|Hela|Hade|Öka)" "[a-z]*ha(lvön|vet)
!A {ECHO;}

Define Except005
     [{Också} | {Från} | {Stiger} | {Över} | {Även} | {Till} | {Hela}
        | {Hade} | {Öka}]
     { } Az* {ha} [{lvön} | {vet}] ; 5

!R [^\n^\t ]*[Ii]nnehavet
!A {ECHO;}

Define Except006 [ NS* Ii {nnehavet} ] ; 6

!R (Utökn|"Destination Nordsjön"|Svansjön)
!A {ECHO;}

Define Except007 [ {Utökn} | {Destination Nordsjön} | {Svansjön} ] ; 7

!R "Colorado\-Tampa Bay"
!A {ECHO;}

Define Except008 [ {Colorado-Tampa Bay} ] ; 8

!R "Sandviken "(Big|[0-9]+\-[0-9]+)
!A {ECHO;}

Define Except009 [ {Sandviken } [{Big} | NumRange] ] ; 9

!R (slå|mot|rubba|drömmer|blekt|mästarna)" "Sandviken
!A {ECHO;}

Define Except010
     [ [{slå} | {mot} | {rubba} | {drömmer} | {blekt} | {mästarna}]
       { Sandviken} ] ; 10

!R (Besviken|Sandviken\-{U})
!A {ECHO;}

Define Except011 [ {Besviken} | {Sandviken-} Upper ] ; 11

!R [Ff]öreningen" "Torsviken
!A {ECHO;}

Define Except012 [ Ff {öreningen Torsviken} ] ; 12

!R (Där|Vid)" "älven
!A {ECHO;}

Define Except013 [ [{Där} | {Vid}] { älven} ] ; 13

!R {U}[^\n^\t ]+" River Band"
!A {ECHO;}

Define Except014 [ CapWord2 { River Band} ] ; 14

!R {U}[^\n^\t ]+" "Rivers
!A {ECHO;}

Define Except015 [ CapWord2 { Rivers} ] ; 15

!R Mallorca\-{U}[^\n^\t ]+
!A {ECHO;}

Define Except016 [ {Mallorca-} CapWord2 ] ; 16

!R [Rr]"öster om "{U}[^\n ]+
!A {ECHO;}

Define Except017 [ Rr {öster om } CapWord2 ] ; 17

!R [A-Z][^\n ]+" "besviken
!A {ECHO;}

Define Except018 [ AZ Word { besviken} ] ; 18

!R [Ii]" höjd med "Th[0-9]*" "
!A {ECHO;}

Define Except019 [ Ii { höjd med Th} Num* { } ] ; 19

!R Med" "havet
!A {ECHO;}

Define Except020 [ {Med havet} ] ; 20

!R TV\-(såpan|serie)" "Bay
!A {ECHO;}

Define Except021 [ {TV-} [{såpan} | {serie}] { Bay} ] ; 21

!R EU\-nivån
!A {ECHO;}

Define Except022 [ {EU-nivån} ] ; 22

!R [^\n ]*(ordost|ydost|väst|öst|[Öö]ster|äster|[Nn]orr|öder|orrut)" "(till|om|mot)(" "{U}[^\n ]+)+
!A {printGPL(yytext,2);}

Define EnamexLocGpl001a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl001
     [ LC([{ordost} | {ydost} | {väst} | {öst} | ["Ö"|"ö"] {ster}
             | {äster} | Nn {orr} | {öder} | {orrut}]
          { } [{till} | {om} | {mot}] { })
       EnamexLocGpl001a
       EndTag(EnamexLocGpl) ] ; 23

!R [^\n ]*(öst|söd|nor|väst)ra(" "{U}[^\n ]+)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl002a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl002
     [ LC([{öst} | {söd} | {nor} | {väst}] {ra })
       EnamexLocGpl002a
       EndTag(EnamexLocGpl) ] ; 24

!R [^\n ]*(gaml|slimsk|kuperad|ligast|str|ödr|orr)[ae]" "(sida|dele)n" av"(" "{U}[^\n ]+)+
!A {printGPL(yytext,3);}

Define EnamexLocGpl003a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl003
     [ LC([{gaml} | {slimsk} | {kuperad} | {ligast} | {str} | {ödr}
             | {orr}]
          ["a"|"e"] { } [{sida} | {dele}] {n av })
       EnamexLocGpl003a
       EndTag(EnamexLocGpl) ] ; 25

!R [^\n ]*(yd|st|orr|ord)ligaste(" "{U}[^\n ]+)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl004a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl004
     [ LC([{yd} | {st} | {orr} | {ord}] {ligaste })
       EnamexLocGpl004a
       EndTag(EnamexLocGpl) ] ; 26

!#  MULTI AREAS - GPL 

!R ([Uu]nder|[Öö]ver|i|med|om|[Ss]jön|till|[Öö]n|nära|sig|nådde|nå|ängs|kring|[Rr]unt|[Ff]rån|över|[Vv]id|utmed|tanför|på|mot)" "{U}[^\n^\t ]+s" "[a-zåäö]*(yta|tspets|dspets|kust|kusttrakter|stränder)
!A {int i=0; 
!A 	for(;yytext[i]!=' ';putchar(yytext[i++])); i++; 
!A 	printf(" <ENAMEX TYPE=\"LOC\" SBT=\"GPL\">"); 
!A 	for(;i<yyleng;putchar(yytext[i++])); printf("</ENAMEX>");}

Define EnamexLocGpl005a
     [ CapWord2s { } Lower*
       [{yta} | {tspets} | {dspets} | {kust} | {kusttrakter} | {stränder}] ] ;
Define EnamexLocGpl005
     [ LC([Uu {nder} | ["Ö"|"ö"] {ver} | {i} | {med} | {om} | Ss {jön}
             | {till} | ["Ö"|"ö"] {n} | {nära} | {sig} | {nådde} | {nå}
             | {ängs} | {kring} | Rr {unt} | Ff {rån} | {över} | Vv {id}
             | {utmed} | {tanför} | {på} | {mot}]
          { })
       EnamexLocGpl005a
       EndTag(EnamexLocGpl) ] ; 27

!R " ön "{U}[^\n^\t ]+
!A {int i=4; 
!A 	printf(" ön <ENAMEX TYPE=\"LOC\" SBT=\"GPL\">"); 
!A 	for(;i<yyleng;putchar(yytext[i++])); printf("</ENAMEX>");}

Define EnamexLocGpl006a [ CapWord2 ] ;
Define EnamexLocGpl006
     [ LC({ ön })
       EnamexLocGpl006a
       EndTag(EnamexLocGpl) ] ; 28

!R ("Nordre älv"|"Finska "viken|"Vanda å")s" "[^\n^\t ]*mynning(en|ar)?
!A {printGPLx(yytext);}

Define EnamexLocGpl007a
     [ [{Nordre älv} | {Finska viken} | {Vanda å}] {s } NS* {mynning}
       ({en} | {ar}) ] ;
Define EnamexLocGpl007 [ EnamexLocGpl007a   EndTag(EnamexLocGpl) ] ; 29

!R {U}[^\n^\t ]+s" "(nor|söd|väst|vänst|öst)ra" "strand
!A {printGPLx(yytext);}

Define EnamexLocGpl008a
     [ CapWord2s { } [{nor} | {söd} | {väst} | {vänst} | {öst}] {ra strand} ] ;
Define EnamexLocGpl008 [ EnamexLocGpl008a   EndTag(EnamexLocGpl) ] ; 30

!R {U}[^\n^\t ]+(bukten|fjorden|sundet|bäcken|ån|floden|sjön|viken|havet|sund|ånden|älven)s" "[^\n^\t ]*(mynning|djup|botten|strand|inre|sida|delta|stränder)(en)?
!A {printGPLx(yytext);}

Define EnamexLocGpl009a
     [ CapWord2
       [{bukten} | {fjorden} | {sundet} | {bäcken} | {ån} | {floden}
          | {sjön} | {viken} | {havet} | {sund} | {ånden} | {älven}]
       {s } NS*
       [{mynning} | {djup} | {botten} | {strand} | {inre} | {sida} | {delta}
          | {stränder}]
       ({en}) ] ;
Define EnamexLocGpl009 [ EnamexLocGpl009a   EndTag(EnamexLocGpl) ] ; 31

!R (Afrika|"Miami Beach")"s "[^\n^\t ]+spets
!A {printGPLx(yytext);}

Define EnamexLocGpl010a [ [{Afrika} | {Miami Beach}] {s } Word {spets} ] ;
Define EnamexLocGpl010 [ EnamexLocGpl010a   EndTag(EnamexLocGpl) ] ; 32

!R (Andarnas|Pyrenéernas|Heliga|"Tora Bora"|Klippiga)(" "|"\-")[Bb]erg(en|et)
!A {printGPLx(yytext);}

Define EnamexLocGpl011a
     [{Andarnas} | {Pyrenéernas} | {Heliga} | {Tora Bora} | {Klippiga}]
     [{ } | {-}] Bb {erg} [{en} | {et}] ;
Define EnamexLocGpl011 [ EnamexLocGpl011a   EndTag(EnamexLocGpl) ] ; 33

!R "Archipiélago de "{U}[^\n^\t ]+
!A {printGPLx(yytext);}

Define EnamexLocGpl012a [ {Archipiélago de } CapWord2 ] ;
Define EnamexLocGpl012 [ EnamexLocGpl012a   EndTag(EnamexLocGpl) ] ; 34

!R (Vättern|Rhen|Nilen|Jenisej|Themsen|Bosporen|Mälaren|Gange|Tibern|Copacabana|Vänern|Donau|Volga|"Röda "[Hh]avet)s" "([^\n^\t ]*mynning|strand|[^\n^\t ]+sida)(en)?
!A {printGPLx(yytext);}

Define EnamexLocGpl013a
     [ [{Vättern} | {Rhen} | {Nilen} | {Jenisej} | {Themsen} | {Bosporen}
          | {Mälaren} | {Gange} | {Tibern} | {Copacabana} | {Vänern} | {Donau}
          | {Volga} | {Röda } Hh {avet}]
       {s } [NS* {mynning} | {strand} | Word {sida}] ({en}) ] ;
Define EnamexLocGpl013 [ EnamexLocGpl013a   EndTag(EnamexLocGpl) ] ; 35

!R "Stilla "[Hh]avs(\-)?(stränder|området)
!A {printGPLx(yytext);}

Define EnamexLocGpl014a
     [ {Stilla } Hh {avs} ({-}) [{stränder} | {området}] ] ;
Define EnamexLocGpl014 [ EnamexLocGpl014a   EndTag(EnamexLocGpl) ] ; 36

!R (Stora|Eriks|Sälö|Vejle)" "[^\n^\t ]*[Ff]jord(en)?
!A {printGPLx(yytext);}

Define EnamexLocGpl015a
     [ [{Stora} | {Eriks} | {Sälö} | {Vejle}] { } NS* Ff {jord} ({en}) ] ;
Define EnamexLocGpl015 [ EnamexLocGpl015a   EndTag(EnamexLocGpl) ] ; 37

!R (Nam|Chao|St)" "[^\n^\t ]+\-floden
!A {printGPLx(yytext);}

Define EnamexLocGpl016a [ [{Nam} | {Chao} | {St}] { } Word {-floden} ] ;
Define EnamexLocGpl016 [ EnamexLocGpl016a   EndTag(EnamexLocGpl) ] ; 38

!R (Trosa|Luleå|"S:t Annas"|Karlstads|Blekinge|{U}[^\n^\t ]+tlands|{U}[^\n^\t ]+holms|{U}[^\n^\t ]+borgs|{U}[^\n^\t ]+bottens|Pellinge|Bohusläns)(" södra"|" norra")?" "[^\n^\t ]*skärgård
!A {printGPLx(yytext);}

Define EnamexLocGpl017a
     [ [{Trosa} | {Luleå} | {S:t Annas} | {Karlstads} | {Blekinge}
          | CapWord2 {tlands} | CapWord2 {holms} | CapWord2 {borgs}
          | CapWord2 {bottens} | {Pellinge} | {Bohusläns}]
       ({ södra} | { norra}) { } NS* {skärgård} ] ;
Define EnamexLocGpl017 [ EnamexLocGpl017a   EndTag(EnamexLocGpl) ] ; 39

!R [^\n^\t ]+nska" "([Rr]iviera|[Bb]ukte)n
!A {printGPLx(yytext);}

Define EnamexLocGpl018a [ Word {nska } [Rr {iviera} | Bb {ukte}] {n} ] ;
Define EnamexLocGpl018 [ EnamexLocGpl018a   EndTag(EnamexLocGpl) ] ; 40

!R (Anderna|Everest|Olympo|Fuji|{U}[^\n^\t ]+berget|{U}[^\n^\t ]+fjäll|Himalaya|"Sierra Grande"|Pyrenéerna|Merapi)s" "([^\n^\t ]+" ")?(fot|topp|fauna|sluttning|massiv)[a-z]*
!A {printGPLx(yytext);}

Define EnamexLocGpl019a
     [ [{Anderna} | {Everest} | {Olympo} | {Fuji} | CapWord2 {berget}
          | CapWord2 {fjäll} | {Himalaya} | {Sierra Grande} | {Pyrenéerna}
          | {Merapi}]
       {s } (Word { }) [{fot} | {topp} | {fauna} | {sluttning} | {massiv}] Az* ] ;
Define EnamexLocGpl019 [ EnamexLocGpl019a   EndTag(EnamexLocGpl) ] ; 41

!R "Costa "(Blanca|Brava|Verde|[Dd]el" "Sud|[Dd]el" "Sol)(\-kust[a-z]*)?
!A {printGPLx(yytext);}

Define EnamexLocGpl020a
     [ {Costa } [{Blanca} | {Brava} | {Verde} | Dd {el Sud} | Dd {el Sol}]
       ({-kust} Az*) ] ;
Define EnamexLocGpl020 [ EnamexLocGpl020a   EndTag(EnamexLocGpl) ] ; 42

!R {U}[^\n^\t ]+s" "[^\n^\t ]*(iga|norra|södra|östra|västra|ligaste)" kust"(bygd)?
!A {printGPLx(yytext);}

Define EnamexLocGpl021a
     [ CapWord2s { } NS*
       [{iga} | {norra} | {södra} | {östra} | {västra} | {ligaste}] { kust}
       ({bygd}) ] ;
Define EnamexLocGpl021 [ EnamexLocGpl021a   EndTag(EnamexLocGpl) ] ; 43

!R (Spanien|Florida|Alaska|"Norra Amerika"|USA\:)"s "[^\n^\t ]+stkust
!A {printGPLx(yytext);}

Define EnamexLocGpl022a
     [ [{Spanien} | {Florida} | {Alaska} | {Norra Amerika} | {USA:}] {s } Word
       {stkust} ] ;
Define EnamexLocGpl022 [ EnamexLocGpl022a   EndTag(EnamexLocGpl) ] ; 44

!R [^\n^\t ]+(ets|ska)" "(Guld|Medelhavs|Atlant)kust(en)?
!A {printGPLx(yytext);}

Define EnamexLocGpl023a
     [ Word [{ets} | {ska}] { } [{Guld} | {Medelhavs} | {Atlant}] {kust}
       ({en}) ] ;
Define EnamexLocGpl023 [ EnamexLocGpl023a   EndTag(EnamexLocGpl) ] ; 45

!R ({U}[^\n^\t ]+sk|Svart|Still|[Ss]ödr|[Öö]str|[Nn]orr|[Vv]ästr)a" "[^\n^\t ]*kust(en)?
!A {printGPLx(yytext);}

Define EnamexLocGpl024a
     [ [CapWord2 {sk} | {Svart} | {Still} | Ss {ödr} | ["Ö"|"ö"] {str}
          | Nn {orr} | Vv {ästr}]
       {a } NS* {kust} ({en}) ] ;
Define EnamexLocGpl024 [ EnamexLocGpl024a   EndTag(EnamexLocGpl) ] ; 46

!R "Playa "d(" \&#x2019;"|e" "las|el)" "{U}[^\n^\t ]+
!A {printGPLx(yytext);}

Define EnamexLocGpl025a
     [ {Playa d} [{ &#x2019;} | {e las} | {el}] { } CapWord2 ] ;
Define EnamexLocGpl025 [ EnamexLocGpl025a   EndTag(EnamexLocGpl) ] ; 47

!R {U}[^\n^\t ]+s" "[^\n^\t ]*(norra|södra|östra|västra|ligaste)" udde"
!A {printGPLx(yytext);}

Define EnamexLocGpl026a
     [ CapWord2s { } NS* [{norra} | {södra} | {östra} | {västra} | {ligaste}]
       { udde} ] ;
Define EnamexLocGpl026 [ EnamexLocGpl026a   EndTag(EnamexLocGpl) ] ; 48

!R Cap[a-z]*" "(Aguhlas|Aghulas|Cod|Yakatage|Verde|Canaveral)
!A {printGPLx(yytext);}

Define EnamexLocGpl027a
     [ {Cap} Az* { }
       [{Aguhlas} | {Aghulas} | {Cod} | {Yakatage} | {Verde} | {Canaveral}] ] ;
Define EnamexLocGpl027 [ EnamexLocGpl027a   EndTag(EnamexLocGpl) ] ; 49

!R "Costa Ricas regnskog"(ar|en)?
!A {printGPLx(yytext);}

Define EnamexLocGpl028a [ {Costa Ricas regnskog} ({ar} | {en}) ] ;
Define EnamexLocGpl028 [ EnamexLocGpl028a   EndTag(EnamexLocGpl) ] ; 50

!R {U}[^\n^\t ]+ska" "[Ss]jö(n)?
!A {printGPLx(yytext);}

Define EnamexLocGpl029a [ CapWord2ska { } Ss {jö} ({n}) ] ;
Define EnamexLocGpl029 [ EnamexLocGpl029a   EndTag(EnamexLocGpl) ] ; 51

!R Arboga\-å(n)?
!A {printGPLx(yytext);}

Define EnamexLocGpl030a [ {Arboga-å} ({n}) ] ;
Define EnamexLocGpl030 [ EnamexLocGpl030a   EndTag(EnamexLocGpl) ] ; 52

!R {U}[^\n^\t ]+vikens" "[Ll]agun
!A {printGPLx(yytext);}

Define EnamexLocGpl031a [ CapWord2 {vikens } Ll {agun} ] ;
Define EnamexLocGpl031 [ EnamexLocGpl031a   EndTag(EnamexLocGpl) ] ; 53

!R ({U}[^\n^\t ]+bergs|{U}[^\n^\t ]+viks)" "[Kk]ile
!A {printGPLx(yytext);}

Define EnamexLocGpl032a
     [ [CapWord2 {bergs} | CapWord2 {viks}] { } Kk {ile} ] ;
Define EnamexLocGpl032 [ EnamexLocGpl032a   EndTag(EnamexLocGpl) ] ; 54

!R ("Pico de Teide"|"Fig Tree Bay")s" "södra" "[a-zåäö]+
!A {printGPLx(yytext);}

Define EnamexLocGpl033a
     [ [{Pico de Teide} | {Fig Tree Bay}] {s södra } LowerWord ] ;
Define EnamexLocGpl033 [ EnamexLocGpl033a   EndTag(EnamexLocGpl) ] ; 55

!R {U}[^\n^\t ]+" Francisco "Bay
!A {printGPLx(yytext);}

Define EnamexLocGpl034a [ CapWord2 { Francisco Bay} ] ;
Define EnamexLocGpl034 [ EnamexLocGpl034a   EndTag(EnamexLocGpl) ] ; 56

!R {U}[^\n^\t ]+" "Bay
!A {printGPLx(yytext);}

Define EnamexLocGpl035a [ CapWord2 { Bay} ] ;
Define EnamexLocGpl035 [ EnamexLocGpl035a   EndTag(EnamexLocGpl) ] ; 57

!#  ARABIC 

!R [^\n^\t ]*(alvö|lode)n" "al\-[^\n^\t ]+
!A {printGPL(yytext,1);}

Define EnamexLocGpl036a [ {al-} Word ] ;
Define EnamexLocGpl036
     [ LC([{alvö} | {lode}] {n })
       EnamexLocGpl036a
       EndTag(EnamexLocGpl) ] ; 58

!R {U}[^\n^\t< ][^\n^\t< ][^\n^\t< ]+" "[^\n^\t< ]*(bergen|Mountain|havet|älvdal|älvstrand|ävdalhalvön|viken|träsk|River|Havsbad)
!A {printGPL(yytext,0);}

Define EnamexLocGpl037a
     [ CapWord4 { } NS*
       [{bergen} | {Mountain} | {havet} | {älvdal} | {älvstrand}
          | {ävdalhalvön} | {viken} | {träsk} | {River} | {Havsbad}] ] ;
Define EnamexLocGpl037 [ EnamexLocGpl037a   EndTag(EnamexLocGpl) ] ; 59

!R [Ll]"ängs med "{U}[^\n^\t ]+" "([^\n^\t ]*kust|[^\n^\t ]*stränder|{U}[^\n^\t ]+)
!A {printGPL(yytext,2);}

Define EnamexLocGpl038a
     [ CapWord2 { } [NS* {kust} | NS* {stränder} | CapWord2] ] ;
Define EnamexLocGpl038
     [ LC(Ll {ängs med })
       EnamexLocGpl038a
       EndTag(EnamexLocGpl) ] ; 60

!R [Uu]t(med|anför)" "{U}[^\n^\t ]+s" "[^\n^\t ]*(kust|stränder|kusten)
!A {printGPL(yytext,1);}

Define EnamexLocGpl039a
     [ CapWord2s { } NS* [{kust} | {stränder} | {kusten}] ] ;
Define EnamexLocGpl039
     [ LC(Uu {t} [{med} | {anför}] { })
       EnamexLocGpl039a
       EndTag(EnamexLocGpl) ] ; 61

!R ([Ff]rån|[Nn]ära|[Pp]å|[Vv]id|[Ii]|[Rr]unt)" "{U}[^\n^\t ]+" "([Bb]runn|[Rr]eef|[Ff]jord)
!A {printGPL(yytext,1);}

Define EnamexLocGpl040a
     [ CapWord2 { } [Bb {runn} | Rr {eef} | Ff {jord}] ] ;
Define EnamexLocGpl040
     [ LC([Ff {rån} | Nn {ära} | Pp {å} | Vv {id} | Ii | Rr {unt}] { })
       EnamexLocGpl040a
       EndTag(EnamexLocGpl) ] ; 62

!R (Amazonas|Rhen)
!A {printGPL(yytext,0);}

Define EnamexLocGpl041a [ {Amazonas} | {Rhen} ] ;
Define EnamexLocGpl041 [ EnamexLocGpl041a   EndTag(EnamexLocGpl) ] ; 63

!#  floderna Mississippi, Missouri och Illinois

!R [Ff]loderna(" "{U}[^\n^\t ]+)+(" \,"{U}[^\n^\t ]+)?" och"(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl042a
     [ CapWord2 [{ } CapWord2]* ({ ,} CapWord2) { och } CapWord2
       [{ } CapWord2]* ] ;
Define EnamexLocGpl042
     [ LC(Ff {loderna })
       EnamexLocGpl042a
       EndTag(EnamexLocGpl) ] ; 64

!R ([Ll]ängs|[Pp]å|ntill|runt|[Uu]tmed|för|mot|vårtillgängliga)" "{U}[^\n^\t ]+(kusten|kust|leden|sudden|sjö|ån|bäcke|slätte|dalen)(n)?
!A {printGPL(yytext,1);}

Define EnamexLocGpl043a
     [ CapWord2
       [{kusten} | {kust} | {leden} | {sudden} | {sjö} | {ån} | {bäcke}
          | {slätte} | {dalen}]
       ({n}) ] ;
Define EnamexLocGpl043
     [ LC([Ll {ängs} | Pp {å} | {ntill} | {runt} | Uu {tmed} | {för}
             | {mot} | {vårtillgängliga}]
          { })
       EnamexLocGpl043a
       EndTag(EnamexLocGpl) ] ; 65

!R [^\n^\t ]*(alvö|lseö|agoö|avsö|istö|rieö|disö|vudö|nalö|annö|rtyö|marö|ndsö|omsö|alvö|Ö|[Öö]gruppe|kärgårde|Å|[Ff]lode|[Ss]jö|[Ss]trande|[Ss]koge)n(" "{U}[^\n^\t\# ]+)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl044a [ Upper NSHash+ [{ } Upper NSHash+]* ] ;
Define EnamexLocGpl044
     [ LC([{alvö} | {lseö} | {agoö} | {avsö} | {istö} | {rieö} | {disö}
             | {vudö} | {nalö} | {annö} | {rtyö} | {marö} | {ndsö} | {omsö}
             | {Ö} | ["Ö"|"ö"] {gruppe} | {kärgårde} | {Å} | Ff {lode}
             | Ss {jö} | Ss {trande} | Ss {koge}]
          {n })
       EnamexLocGpl044a
       EndTag(EnamexLocGpl) ] ; 66

!R ([Pp]å|[Ff]rån|[Tt]ill|runt|[Vv]id|[^\n^\t ]+ska[Uu]tanför)" "ön(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,2);}

Define EnamexLocGpl045a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl045
     [ LC([Pp {å} | Ff {rån} | Tt {ill} | {runt} | Vv {id}
             | Word {ska} Uu {tanför}]
          { ön })
       EnamexLocGpl045a
       EndTag(EnamexLocGpl) ] ; 67

!R ([Pp]å|[Ff]rån|[Tt]ill|runt|[Vv]id)" "{U}[^\n^\t ]+[^\n jv]ön
!A {printGPL(yytext,1);}

Define EnamexLocGpl046a [ CapWord2 [NS - ["j"|"v"]] {ön} ] ;
Define EnamexLocGpl046
     [ LC([Pp {å} | Ff {rån} | Tt {ill} | {runt} | Vv {id}] { })
       EnamexLocGpl046a
       EndTag(EnamexLocGpl) ] ; 68

!R "öar i gruppen"(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,3);}

Define EnamexLocGpl047a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl047
     [ LC({öar i gruppen })
       EnamexLocGpl047a
       EndTag(EnamexLocGpl) ] ; 69

!R "mellan "{U}[^\n^\t ]+"\- och "{U}[^\n^\t ]+öarna
!A {printGPL(yytext,1);}

Define EnamexLocGpl048a [ CapWord2 {- och } CapWord2 {öarna} ] ;
Define EnamexLocGpl048
     [ LC({mellan })
       EnamexLocGpl048a
       EndTag(EnamexLocGpl) ] ; 70

!R ([Pp]å|[Ff]rån|[Tt]ill|runt|[Vv]id)" Isla "{U}[^\n^\t ]+
!A {printGPL(yytext,1);}

Define EnamexLocGpl049a [ {Isla } CapWord2 ] ;
Define EnamexLocGpl049
     [ LC([Pp {å} | Ff {rån} | Tt {ill} | {runt} | Vv {id}] { })
       EnamexLocGpl049a
       EndTag(EnamexLocGpl) ] ; 71

!R (öfver|över|från)" "Sundet
!A {printGPL(yytext,1);}

Define EnamexLocGpl050a [ {Sundet} ] ;
Define EnamexLocGpl050
     [ LC([{öfver} | {över} | {från}] { })
       EnamexLocGpl050a
       EndTag(EnamexLocGpl) ] ; 72

!R ([Vv]ulkan|[Gg]laciär|[Rr]avin|landskap|[Öö]rik)(en|et)?(" "{U}[^\n^\t ]*)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl051a [ CapWord [{ } CapWord]* ] ;
Define EnamexLocGpl051
     [ LC([Vv {ulkan} | Gg {laciär} | Rr {avin} | {landskap}
             | ["Ö"|"ö"] {rik}]
          ({en} | {et}) { })
       EnamexLocGpl051a
       EndTag(EnamexLocGpl) ] ; 73

!R {U}[^\n^\t ]+(öarna|bachfallen|hättefallen|holmsfallen|sufallen|havet|bukten|sforsen|sudde|fjorden|atollen|älvsdalen|älvdalen|brandsdalen|räske.|acfloden|alfloden|anfloden|asfloden|aufloden|enfloden|gofloden|iafloden|iofloden|isfloden|nefloden|ngfloden|onfloden|pifloden|pofloden|refloden|rafloden|safloden|sefloden|tofloden|unfloden|vafloden|zifloden|\-floden|\-dalen|fjäll|älven|arkipelag|viken|sjön|"anska bukten"|platå|stränder|glaciär|ökn)(en|et)?
!A {printGPL(yytext,0);}

Define EnamexLocGpl052a
     [ CapWord2
       [{öarna} | {bachfallen} | {hättefallen} | {holmsfallen} | {sufallen}
          | {havet} | {bukten} | {sforsen} | {sudde} | {fjorden} | {atollen}
          | {älvsdalen} | {älvdalen} | {brandsdalen} | {räske} ? | {acfloden}
          | {alfloden} | {anfloden} | {asfloden} | {aufloden} | {enfloden}
          | {gofloden} | {iafloden} | {iofloden} | {isfloden} | {nefloden}
          | {ngfloden} | {onfloden} | {pifloden} | {pofloden} | {refloden}
          | {rafloden} | {safloden} | {sefloden} | {tofloden} | {unfloden}
          | {vafloden} | {zifloden} | {-floden} | {-dalen} | {fjäll} | {älven}
          | {arkipelag} | {viken} | {sjön} | {anska bukten} | {platå}
          | {stränder} | {glaciär} | {ökn}]
       ({en} | {et}) ] ;
Define EnamexLocGpl052 [ EnamexLocGpl052a   EndTag(EnamexLocGpl) ] ; 74

!R Mo(nti|nt|unt|nte)" "{U}[^\n^\t ]+" fot"
!A {printGPL(yytext,0);}

Define EnamexLocGpl053a
     [ {Mo} [{nti} | {nt} | {unt} | {nte}] { } CapWord2 { fot} ] ;
Define EnamexLocGpl053 [ EnamexLocGpl053a   EndTag(EnamexLocGpl) ] ; 75

!R Mo(nti|nt|unt)" "{U}[^\n^\t ]+
!A {printGPL(yytext,0);}

Define EnamexLocGpl054a [ {Mo} [{nti} | {nt} | {unt}] { } CapWord2 ] ;
Define EnamexLocGpl054 [ EnamexLocGpl054a   EndTag(EnamexLocGpl) ] ; 76

!R Mont\-{U}[^\n^\t ]+
!A {printGPL(yytext,0);}

Define EnamexLocGpl055a [ {Mont-} CapWord2 ] ;
Define EnamexLocGpl055 [ EnamexLocGpl055a   EndTag(EnamexLocGpl) ] ; 77

!R [Bb]erg(sområdet|stoppen|et|skedjan|höjden)(" "{U}[^\n^\t\< ]+)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl056a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl056
     [ LC(Bb {erg} [{sområdet} | {stoppen} | {et} | {skedjan} | {höjden}]
          { })
       EnamexLocGpl056a
       EndTag(EnamexLocGpl) ] ; 78

!R [Bb]ergskedjan" heter"(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,2);}

Define EnamexLocGpl057a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl057
     [ LC(Bb {ergskedjan heter })
       EnamexLocGpl057a
       EndTag(EnamexLocGpl) ] ; 79

!R "toppen av "Monks" "{U}[^\n^\t ]*
!A {printGPL(yytext,2);}

Define EnamexLocGpl058a [ {Monks } CapWord ] ;
Define EnamexLocGpl058
     [ LC({toppen av })
       EnamexLocGpl058a
       EndTag(EnamexLocGpl) ] ; 80

!R [^\n^\t ]*([Öö]a|[Bb]ergskedjo)rna(" "{U}[^\n^\t ]+" \,")+" "{U}[^\n^\t ]+" "(och|eller|samt)" "{U}[^\n^\t ]+
!A {printGPL(yytext,1);}

Define EnamexLocGpl059a
     [ CapWord2 { ,} [{ } CapWord2 { ,}]* { } CapWord2 { }
       [{och} | {eller} | {samt}] { } CapWord2 ] ;
Define EnamexLocGpl059
     [ LC([["Ö"|"ö"] {a} | Bb {ergskedjo}] {rna })
       EnamexLocGpl059a
       EndTag(EnamexLocGpl) ] ; 81

!R (vid|ligger|om|[Nn]ära|[Ii]|[Öö]ver|runt|till)" "{U}[^\n^\t ]+" Canyon"
!A {printGPL(yytext,1);}

Define EnamexLocGpl060a [ CapWord2 { Canyon} ] ;
Define EnamexLocGpl060
     [ LC([{vid} | {ligger} | {om} | Nn {ära} | Ii | ["Ö"|"ö"] {ver}
             | {runt} | {till}]
          { })
       EnamexLocGpl060a
       EndTag(EnamexLocGpl) ] ; 82

!R "högsta topp \, "{U}[^\n^\t ]+" \,"
!A {printGPL(yytext,3);}

Define EnamexLocGpl061a [ CapWord2 { ,} ] ;
Define EnamexLocGpl061
     [ LC({högsta topp , })
       EnamexLocGpl061a
       EndTag(EnamexLocGpl) ] ; 83

!R ({U}[^\n^\t ]+" ")+"\( "[0-9][0-9][0-9]+" m \)"
!A {printGPL(yytext,0);}

Define EnamexLocGpl062a [ [CapWord2 { }]+ {( } Nums2 Nums { m )} ] ;
Define EnamexLocGpl062 [ EnamexLocGpl062a   EndTag(EnamexLocGpl) ] ; 84

!R [Rr]"öster om "{U}[^\n^\t ]+
!A {ECHO;}

Define Except023 [ Rr {öster om } CapWord2 ] ; 85

!R [^\n^\t ]*(ordost|ydost|väst|öst|[Öö]ster|äster|[Nn]orr|öder|orrut|båten)" "(till|om|mot)(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,2);}

Define EnamexLocGpl063a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl063
     [ LC([{ordost} | {ydost} | {väst} | {öst} | ["Ö"|"ö"] {ster}
             | {äster} | Nn {orr} | {öder} | {orrut} | {båten}]
          { } [{till} | {om} | {mot}] { })
       EnamexLocGpl063a
       EndTag(EnamexLocGpl) ] ; 86

!R [^\n^\t ]*(östra|södra|norra|västra|bortom|[Öö]knen)(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl064a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl064
     [ LC([{östra} | {södra} | {norra} | {västra} | {bortom}
             | ["Ö"|"ö"] {knen}]
          { })
       EnamexLocGpl064a
       EndTag(EnamexLocGpl) ] ; 87

!R [^\n^\t ]*(gaml|slimsk|kuperad|ligast|str|ödr|orr)[ae]" "(sida|dele)n" av"(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,3);}

Define EnamexLocGpl065a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl065
     [ LC([{gaml} | {slimsk} | {kuperad} | {ligast} | {str} | {ödr}
             | {orr}]
          ["a"|"e"] { } [{sida} | {dele}] {n av })
       EnamexLocGpl065a
       EndTag(EnamexLocGpl) ] ; 88

!R [^\n^\t ]*(yd|st|orr|ord)ligaste(" "{U}[^\n^\t ]+)+
!A {printGPL(yytext,1);}

Define EnamexLocGpl066a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexLocGpl066
     [ LC([{yd} | {st} | {orr} | {ord}] {ligaste })
       EnamexLocGpl066a
       EndTag(EnamexLocGpl) ] ; 89

!R ([Ii]|[Vv]id)(" "{U}[^\n^\t ]+)+" "Grove
!A {printGPL(yytext,1);}

Define EnamexLocGpl067a [ CapWord2 [{ } CapWord2]* { Grove} ] ;
Define EnamexLocGpl067
     [ LC([Ii | Vv {id}] { })
       EnamexLocGpl067a
       EndTag(EnamexLocGpl) ] ; 90

!R gården" vid "{U}[^\n^\t ]+
!A {printGPL(yytext,2);}

Define EnamexLocGpl068a [ CapWord2 ] ;
Define EnamexLocGpl068
     [ LC({gården vid })
       EnamexLocGpl068a
       EndTag(EnamexLocGpl) ] ; 91

!R drunknade" i "{U}[^\n^\t ]+
!A {printGPL(yytext,2);}

Define EnamexLocGpl069a [ CapWord2 ] ;
Define EnamexLocGpl069
     [ LC({drunknade i })
       EnamexLocGpl069a
       EndTag(EnamexLocGpl) ] ; 92

!R området" "(kring|genom)" "{U}[^\n^\t ]+
!A {printGPL(yytext,2);}

Define EnamexLocGpl070a [ CapWord2 ] ;
Define EnamexLocGpl070
     [ LC({området } [{kring} | {genom}] { })
       EnamexLocGpl070a
       EndTag(EnamexLocGpl) ] ; 93

!R bron" "(över|öfver)" "{U}[^\n^\t ]+
!A {printGPL(yytext,2);}

Define EnamexLocGpl071a [ CapWord2 ] ;
Define EnamexLocGpl071
     [ LC({bron } [{över} | {öfver}] { })
       EnamexLocGpl071a
       EndTag(EnamexLocGpl) ] ; 94

!R ([Bb]ortom|[Uu]ppom)" "{U}[^\n^\t ]+vik
!A {printGPL(yytext,1);}

Define EnamexLocGpl072a [ CapWord2 {vik} ] ;
Define EnamexLocGpl072
     [ LC([Bb {ortom} | Uu {ppom}] { })
       EnamexLocGpl072a
       EndTag(EnamexLocGpl) ] ; 95

!R ([Pp]å[Vv]id|[Nn]ära|runt)" "{U}[^\n^\t ]+"s nordliga ända"
!A {printGPL(yytext,1);}

Define EnamexLocGpl073a [ CapWord2s { nordliga ända} ] ;
Define EnamexLocGpl073
     [ LC([Pp {å} Vv {id} | Nn {ära} | {runt}] { })
       EnamexLocGpl073a
       EndTag(EnamexLocGpl) ] ; 96

!R [Ii]" trakten "(av|af)" "{U}[^\n^\t ]+
!A {printGPL(yytext,3);}

Define EnamexLocGpl074a [ CapWord2 ] ;
Define EnamexLocGpl074
     [ LC(Ii { trakten } [{av} | {af}] { })
       EnamexLocGpl074a
       EndTag(EnamexLocGpl) ] ; 97

!R [Ii]" "{U}[^\n^\t ]+regionen
!A {printGPL(yytext,1);}

Define EnamexLocGpl075a [ CapWord2 {regionen} ] ;
Define EnamexLocGpl075
     [ LC(Ii { })
       EnamexLocGpl075a
       EndTag(EnamexLocGpl) ] ; 98

!R [Pp]å" "(Java|{U}[^\n^\t ]+berget)
!A {printGPL(yytext,1);}

Define EnamexLocGpl076a [ {Java} | CapWord2 {berget} ] ;
Define EnamexLocGpl076
     [ LC(Pp {å })
       EnamexLocGpl076a
       EndTag(EnamexLocGpl) ] ; 99

!R [^\n^\t ]*rovinsen" "{U}[^\n^\t ]+
!A {printGPL(yytext,1);}

Define EnamexLocGpl077a [ CapWord2 ] ;
Define EnamexLocGpl077
     [ LC({rovinsen })
       EnamexLocGpl077a
       EndTag(EnamexLocGpl) ] ; 100

!R [Ii]" "{U}[^\n^\t ]+berge[tn]
!A {printGPL(yytext,1);}

Define EnamexLocGpl078a [ CapWord2 {berge} ["t"|"n"] ] ;
Define EnamexLocGpl078
     [ LC(Ii { })
       EnamexLocGpl078a
       EndTag(EnamexLocGpl) ] ; 101

!R \n
!A {ECHO;}
!I Ignored exception rule

!R .
!A {ECHO;}
!I Ignored exception rule

!= ======================
!= Pmatch top definitions
!= ======================

Define TOP
     [ LC(WordBoundary)
       [ IgnoreTagged | Except001 | Except002 | Except003 | Except004
       | Except005 | Except006 | Except007 | Except008 | Except009 | Except010
       | Except011 | Except012 | Except013 | Except014 | Except015 | Except016
       | Except017 | Except018 | Except019 | Except020 | Except021 | Except022
       | EnamexLocGpl001 | EnamexLocGpl002 | EnamexLocGpl003 | EnamexLocGpl004
       | EnamexLocGpl005 | EnamexLocGpl006 | EnamexLocGpl007 | EnamexLocGpl008
       | EnamexLocGpl009 | EnamexLocGpl010 | EnamexLocGpl011 | EnamexLocGpl012
       | EnamexLocGpl013 | EnamexLocGpl014 | EnamexLocGpl015 | EnamexLocGpl016
       | EnamexLocGpl017 | EnamexLocGpl018 | EnamexLocGpl019 | EnamexLocGpl020
       | EnamexLocGpl021 | EnamexLocGpl022 | EnamexLocGpl023 | EnamexLocGpl024
       | EnamexLocGpl025 | EnamexLocGpl026 | EnamexLocGpl027 | EnamexLocGpl028
       | EnamexLocGpl029 | EnamexLocGpl030 | EnamexLocGpl031 | EnamexLocGpl032
       | EnamexLocGpl033 | EnamexLocGpl034 | EnamexLocGpl035 | EnamexLocGpl036
       | EnamexLocGpl037 | EnamexLocGpl038 | EnamexLocGpl039 | EnamexLocGpl040
       | EnamexLocGpl041 | EnamexLocGpl042 | EnamexLocGpl043 | EnamexLocGpl044
       | EnamexLocGpl045 | EnamexLocGpl046 | EnamexLocGpl047 | EnamexLocGpl048
       | EnamexLocGpl049 | EnamexLocGpl050 | EnamexLocGpl051 | EnamexLocGpl052
       | EnamexLocGpl053 | EnamexLocGpl054 | EnamexLocGpl055 | EnamexLocGpl056
       | EnamexLocGpl057 | EnamexLocGpl058 | EnamexLocGpl059 | EnamexLocGpl060
       | EnamexLocGpl061 | EnamexLocGpl062 | Except023 | EnamexLocGpl063
       | EnamexLocGpl064 | EnamexLocGpl065 | EnamexLocGpl066 | EnamexLocGpl067
       | EnamexLocGpl068 | EnamexLocGpl069 | EnamexLocGpl070 | EnamexLocGpl071
       | EnamexLocGpl072 | EnamexLocGpl073 | EnamexLocGpl074 | EnamexLocGpl075
       | EnamexLocGpl076 | EnamexLocGpl077 | EnamexLocGpl078 ] ] ;
