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

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

Define UNIMPLEMENTED [ "" ] ;
Define AnyChar [Alpha|Num|Punct|Whitespace|"­"] ;
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 [AnyChar - [Whitespace|"<"|">"]] ;
Define NS [ NST ] ;
Define NSTagComma [AnyChar - [Whitespace|"<"|">"|","]] ;
Define NSHash [AnyChar - [Whitespace|"#"|"<"|">"]] ;
Define NSDash [AnyChar - [Whitespace|"-"|"<"|">"]] ;
Define NSColon [AnyChar - [Whitespace|":"|"<"|">"]] ;
Define NSDashColon [AnyChar - [Whitespace|":"|"-"|"<"|">"]] ;
Define NoTag [AnyChar - ["\n"|"<"|">"]] ;
Define NoTags [ NoTag+ ] ;
Define NoQuote [AnyChar - ["\n"|"\""|"'"|"´"|"«"|"»"|"<"|">"]] ;
Define NoDQuote [AnyChar - ["\""|"\n"|"<"|">"]] ;
Define NoQuoteVbar [AnyChar - ["\n"|"\""|"'"|"|"|"´"|"«"|"»"|"<"|">"]] ;
Define NoQuoteHash [AnyChar - ["\n"|"\""|"'"|"´"|"#"|"«"|"»"|"<"|">"]] ;
Define NoQuoteHashVbar
     [AnyChar - ["\n"|"\""|"'"|"´"|"#"|"|"|"«"|"»"|"<"|">"]] ;
Define NoComma [AnyChar - ["\n"|","|"<"|">"]] ;
Define NoCommaPeriod [AnyChar - ["\n"|","|"."|"<"|">"]] ;
Define NoLPar [AnyChar - ["\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 NumsSlashNums [ Nums {/} Nums ] ;
Define NumsCommaNums [ 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>} [AnyChar - "<"]* {</Except>}
       | {<} [{Ena} | {Nu} | {Ti}] {mex} Alpha+ {>} [AnyChar - "<"]+ {</}
         [{Ena} | {Nu} | {Ti}] {mex} Alpha* {>} ] ;

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

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

!# 
!# 	File: OrgTvr.ll
!# 	<ENAMEX TYPE="ORG" SBT="FIN|TVR|ATH|CLT|PLT|CRP"><MTH="PTR"/>
!# 	Author: Dimitrios Kokkinakis
!# 	version: 060501
!# 

!R CITAT	\"|\´|\'|\'\'|`

Define CITAT [ "\"" | {´} | {'} | {''} | {`} ] ;

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

!#  EXCEPTIONS 

!R "\<ENAMEX TYPE\="\"(EVN|LOC|MSR|OBJ|ORG|PRS|WRK|TME|TRM)"\" SBT\=\""(ANM|ARL|AST|ATH|ATL|CLC|CLT|CLU|CMP|CRP|DAT|DEN|EDU|FIN|FNC|FWP|GPL|HPL|HUM|MDC|MDD|MDA|MDO|MDI|MTH|PER|PLT|PPL|PRD|PRJ|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\=\""(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\<]+\<\/TIMEX\>
!A {ECHO;}
!I Ignored exception rule

!R "World Press Review"
!A {ECHO;}

Define Except001 [ {World Press Review} ] ; 1

!R [0-9]" ,"(" "{U}[^\n ]+)+" Press"
!A {int i=2;putchar(yytext[0]);printf(", <ENAMEX TYPE=\"ORG\" SBT=\"TVR\">");	for(;i<yyleng; putchar(yytext[i++])); printf("</ENAMEX>");}

Define EnamexOrgTvr001a [ {,} [{ } CapWord2]+ { Press} ] ;
Define EnamexOrgTvr001
     [ EnamexOrgTvr001a
       LC(Num { })
       EndTag(EnamexOrgTvr) ] ; 2

!R (Baltic|MIT|Polity|United|Penguin|Associated|Park|Pequod|Macmillan|AEI|Cascadilla)" Press"
!A {printTVRx(yytext);}

Define EnamexOrgTvr002a
     [ [{Baltic} | {MIT} | {Polity} | {United} | {Penguin} | {Associated}
          | {Park} | {Pequod} | {Macmillan} | {AEI} | {Cascadilla}]
       { Press} ] ;
Define EnamexOrgTvr002 [ EnamexOrgTvr002a   EndTag(EnamexOrgTvr) ] ; 3

!R ({U}[^\n ]+" ")+(University|Institution|Museum|Issues|Science|Free)" Press"
!A {printTVRx(yytext);}

Define EnamexOrgTvr003a
     [ [CapWord2 { }]+
       [{University} | {Institution} | {Museum} | {Issues} | {Science}
          | {Free}]
       { Press} ] ;
Define EnamexOrgTvr003 [ EnamexOrgTvr003a   EndTag(EnamexOrgTvr) ] ; 4

!R "20th Century Fox"
!A {printTVRx(yytext);}

Define EnamexOrgTvr004a [ {20th Century Fox} ] ;
Define EnamexOrgTvr004 [ EnamexOrgTvr004a   EndTag(EnamexOrgTvr) ] ; 5

!R {U}[^\n ]+" Film "(Company|Institute|AG)
!A {printTVRx(yytext);}

Define EnamexOrgTvr005a
     [ CapWord2 { Film } [{Company} | {Institute} | {AG}] ] ;
Define EnamexOrgTvr005 [ EnamexOrgTvr005a   EndTag(EnamexOrgTvr) ] ; 6

!R "All News Channel"
!A {printTVRx(yytext);}

Define EnamexOrgTvr006a [ {All News Channel} ] ;
Define EnamexOrgTvr006 [ EnamexOrgTvr006a   EndTag(EnamexOrgTvr) ] ; 7

!R "Bloomberg News"(" "Radio)?
!A {printTVRx(yytext);}

Define EnamexOrgTvr007a [ {Bloomberg News} ({ Radio}) ] ;
Define EnamexOrgTvr007 [ EnamexOrgTvr007a   EndTag(EnamexOrgTvr) ] ; 8

!R "Canal "(Digital|\+[^\n\-\< ]*|[Pp]lus)
!A {printTVRx(yytext);}

Define EnamexOrgTvr008a
     [ {Canal } [{Digital} | {+} [NS - ["-"|"<"]]* | Pp {lus}] ] ;
Define EnamexOrgTvr008 [ EnamexOrgTvr008a   EndTag(EnamexOrgTvr) ] ; 9

!R "Kunskaps TV"
!A {printTVRx(yytext);}

Define EnamexOrgTvr009a [ {Kunskaps TV} ] ;
Define EnamexOrgTvr009 [ EnamexOrgTvr009a   EndTag(EnamexOrgTvr) ] ; 10

!R (Landskrona|Digital)" "Vision
!A {printTVRx(yytext);}

Define EnamexOrgTvr010a [ [{Landskrona} | {Digital}] { Vision} ] ;
Define EnamexOrgTvr010 [ EnamexOrgTvr010a   EndTag(EnamexOrgTvr) ] ; 11

!R "Öppna "[Kk]analen
!A {printTVRx(yytext);}

Define EnamexOrgTvr011a [ {Öppna } Kk {analen} ] ;
Define EnamexOrgTvr011 [ EnamexOrgTvr011a   EndTag(EnamexOrgTvr) ] ; 12

!R "Film i "([Vv]äst|Dalarna|Stockholm|Skåne)
!A {printTVRx(yytext);}

Define EnamexOrgTvr012a
     [ {Film i } [Vv {äst} | {Dalarna} | {Stockholm} | {Skåne}] ] ;
Define EnamexOrgTvr012 [ EnamexOrgTvr012a   EndTag(EnamexOrgTvr) ] ; 13

!R (Danmark|Sverige)s" "Radio(s)?(" "{U}[^\n ]+)?
!A {printTVRx(yytext);}

Define EnamexOrgTvr013a
     [ [{Danmark} | {Sverige}] {s Radio} ({s}) ({ } CapWord2) ] ;
Define EnamexOrgTvr013 [ EnamexOrgTvr013a   EndTag(EnamexOrgTvr) ] ; 14

!R "Sveriges "([Tt]elevision|Utbildningsradio)
!A {printTVRx(yytext);}

Define EnamexOrgTvr014a
     [ {Sveriges } [Tt {elevision} | {Utbildningsradio}] ] ;
Define EnamexOrgTvr014 [ EnamexOrgTvr014a   EndTag(EnamexOrgTvr) ] ; 15

!R (Ram|Tribune|Westinghouse|Turner|MTG|SBS)" "Broadcasting
!A {printTVRx(yytext);}

Define EnamexOrgTvr015a
     [ [{Ram} | {Tribune} | {Westinghouse} | {Turner} | {MTG} | {SBS}]
       { Broadcasting} ] ;
Define EnamexOrgTvr015 [ EnamexOrgTvr015a   EndTag(EnamexOrgTvr) ] ; 16

!R ({U}[^\n ]+" ")+(Broadcasting|Radio|Television|News)" Network"(s)?
!A {printTVRx(yytext);}

Define EnamexOrgTvr016a
     [ [CapWord2 { }]+ [{Broadcasting} | {Radio} | {Television} | {News}]
       { Network} ({s}) ] ;
Define EnamexOrgTvr016 [ EnamexOrgTvr016a   EndTag(EnamexOrgTvr) ] ; 17

!R ({U}[^\n ]+" ")+(Sports|News)" "(Broadcasting|Channel|Wire|Service|Agency)
!A {printTVRx(yytext);}

Define EnamexOrgTvr017a
     [CapWord2 { }]+ [{Sports} | {News}] { }
     [{Broadcasting} | {Channel} | {Wire} | {Service} | {Agency}] ;
Define EnamexOrgTvr017 [ EnamexOrgTvr017a   EndTag(EnamexOrgTvr) ] ; 18

!R (Fox|"Viacom Satellite")" "[Nn]ews
!A {printTVRx(yytext);}

Define EnamexOrgTvr018a [ [{Fox} | {Viacom Satellite}] { } Nn {ews} ] ;
Define EnamexOrgTvr018 [ EnamexOrgTvr018a   EndTag(EnamexOrgTvr) ] ; 19

!R "U\. S\. News \& World Report"
!A {printTVRx(yytext);}

Define EnamexOrgTvr019a [ {U. S. News & World Report} ] ;
Define EnamexOrgTvr019 [ EnamexOrgTvr019a   EndTag(EnamexOrgTvr) ] ; 20

!R ("G E"|"Paramount Domestic"|"Carolco Paravision"|Strix)" "[Tt]elevision(" International")?
!A {printTVRx(yytext);}

Define EnamexOrgTvr020a
     [ [{G E} | {Paramount Domestic} | {Carolco Paravision} | {Strix}] { } Tt
       {elevision} ({ International}) ] ;
Define EnamexOrgTvr020 [ EnamexOrgTvr020a   EndTag(EnamexOrgTvr) ] ; 21

!R (Roxx|Mobitel|Liquid|Alma|Boss|Bonnier|IQ|LRF|Orkla|Kabel" "New|Telia|FLT|Telia" "Info|Star|VLT|SF|OTW|Grunden|Oxygen|Liberty)" "[Mm]edia
!A {printTVRx(yytext);}

Define EnamexOrgTvr021a
     [ [{Roxx} | {Mobitel} | {Liquid} | {Alma} | {Boss} | {Bonnier} | {IQ}
          | {LRF} | {Orkla} | {Kabel New} | {Telia} | {FLT} | {Telia Info}
          | {Star} | {VLT} | {SF} | {OTW} | {Grunden} | {Oxygen} | {Liberty}]
       { } Mm {edia} ] ;
Define EnamexOrgTvr021 [ EnamexOrgTvr021a   EndTag(EnamexOrgTvr) ] ; 22

!R Media" "(General|plus|Metrix|Nova|One)
!A {printTVRx(yytext);}

Define EnamexOrgTvr022a
     [ {Media } [{General} | {plus} | {Metrix} | {Nova} | {One}] ] ;
Define EnamexOrgTvr022 [ EnamexOrgTvr022a   EndTag(EnamexOrgTvr) ] ; 23

!R (M[Cc][Aa]|Svensk" "Kabel)" "T[Vv]
!A {printTVRx(yytext);}

Define EnamexOrgTvr023a [ [{M} Cc Aa | {Svensk Kabel}] { T} Vv ] ;
Define EnamexOrgTvr023 [ EnamexOrgTvr023a   EndTag(EnamexOrgTvr) ] ; 24

!R "Deutsche Welle"
!A {printTVRx(yytext);}

Define EnamexOrgTvr024a [ {Deutsche Welle} ] ;
Define EnamexOrgTvr024 [ EnamexOrgTvr024a   EndTag(EnamexOrgTvr) ] ; 25

!R (Nobel|"SBS New")" Media"
!A {printTVRx(yytext);}

Define EnamexOrgTvr025a [ [{Nobel} | {SBS New}] { Media} ] ;
Define EnamexOrgTvr025 [ EnamexOrgTvr025a   EndTag(EnamexOrgTvr) ] ; 26

!R "Buena Vista"
!A {printTVRx(yytext);}

Define EnamexOrgTvr026a [ {Buena Vista} ] ;
Define EnamexOrgTvr026 [ EnamexOrgTvr026a   EndTag(EnamexOrgTvr) ] ; 27

!R "Continental Cablevision"
!A {printTVRx(yytext);}

Define EnamexOrgTvr027a [ {Continental Cablevision} ] ;
Define EnamexOrgTvr027 [ EnamexOrgTvr027a   EndTag(EnamexOrgTvr) ] ; 28

!R (History|Sky|Sci\-Fi|Nordic|Discovery)" "[Cc]hannel
!A {printTVRx(yytext);}

Define EnamexOrgTvr028a
     [ [{History} | {Sky} | {Sci-Fi} | {Nordic} | {Discovery}] { } Cc {hannel} ] ;
Define EnamexOrgTvr028 [ EnamexOrgTvr028a   EndTag(EnamexOrgTvr) ] ; 29

!R "TV "[1-9]" "(Danmark|Göteborg|Stockholm|Malmö|Skaraborg|Plus)
!A {printTVRx(yytext);}

Define EnamexOrgTvr029a
     [ {TV } Num19 { }
       [{Danmark} | {Göteborg} | {Stockholm} | {Malmö} | {Skaraborg}
          | {Plus}] ] ;
Define EnamexOrgTvr029 [ EnamexOrgTvr029a   EndTag(EnamexOrgTvr) ] ; 30

!R (Ici|Zeta|Norsk|Europa|Scandinavian|"Cinema Center")" Films"
!A {printTVRx(yytext);}

Define EnamexOrgTvr030a
     [ [{Ici} | {Zeta} | {Norsk} | {Europa} | {Scandinavian}
          | {Cinema Center}]
       { Films} ] ;
Define EnamexOrgTvr030 [ EnamexOrgTvr030a   EndTag(EnamexOrgTvr) ] ; 31

!R "TV "(Botnia|[1-9]\:s)
!A {printTVRx(yytext);}

Define EnamexOrgTvr031a [ {TV } [{Botnia} | Num19 {:s}] ] ;
Define EnamexOrgTvr031 [ EnamexOrgTvr031a   EndTag(EnamexOrgTvr) ] ; 32

!R (SVT|TV)" "[0-9][0-9]?
!A {printTVRx(yytext);}

Define EnamexOrgTvr032a [ [{SVT} | {TV}] { } Nums12 ] ;
Define EnamexOrgTvr032 [ EnamexOrgTvr032a   EndTag(EnamexOrgTvr) ] ; 33

!R SVT" "(Sport|[^\n ]*Barnkanalen)
!A {printTVRx(yytext);}

Define EnamexOrgTvr033a [ {SVT } [{Sport} | NS* {Barnkanalen}] ] ;
Define EnamexOrgTvr033 [ EnamexOrgTvr033a   EndTag(EnamexOrgTvr) ] ; 34

!R (ABC|Stockholm|Baltic|"Power Hit")" "(Radio|[Nn]ews)
!A {printTVRx(yytext);}

Define EnamexOrgTvr034a
     [{ABC} | {Stockholm} | {Baltic} | {Power Hit}] { } [{Radio} | Nn {ews}] ;
Define EnamexOrgTvr034 [ EnamexOrgTvr034a   EndTag(EnamexOrgTvr) ] ; 35

!R (Columbia|Sony)" "(Music|Pictures)(" "Studio|" "Entertainment)?
!A {printTVRx(yytext);}

Define EnamexOrgTvr035a
     [ [{Columbia} | {Sony}] { } [{Music} | {Pictures}]
       ({ Studio} | { Entertainment}) ] ;
Define EnamexOrgTvr035 [ EnamexOrgTvr035a   EndTag(EnamexOrgTvr) ] ; 36

!R "Radio "{U}[^\n ]+(land|botten|holm)
!A {printTVRx(yytext);}

Define EnamexOrgTvr036a
     [ {Radio } CapWord2 [{land} | {botten} | {holm}] ] ;
Define EnamexOrgTvr036 [ EnamexOrgTvr036a   EndTag(EnamexOrgTvr) ] ; 37

!R "Radio "(Islam|Free|Rix|City)
!A {printTVRx(yytext);}

Define EnamexOrgTvr037a [ {Radio } [{Islam} | {Free} | {Rix} | {City}] ] ;
Define EnamexOrgTvr037 [ EnamexOrgTvr037a   EndTag(EnamexOrgTvr) ] ; 38

!R "Nya Kina"
!A {printTVRx(yytext);}

Define EnamexOrgTvr038a [ {Nya Kina} ] ;
Define EnamexOrgTvr038 [ EnamexOrgTvr038a   EndTag(EnamexOrgTvr) ] ; 39

!R ({U}[^\n ]+" ")+"Broadcasting Union"
!A {printTVRx(yytext);}

Define EnamexOrgTvr039a [ [CapWord2 { }]+ {Broadcasting Union} ] ;
Define EnamexOrgTvr039 [ EnamexOrgTvr039a   EndTag(EnamexOrgTvr) ] ; 40

!R "Modern Times Group"(" "MTG)?
!A {printTVRx(yytext);}

Define EnamexOrgTvr040a [ {Modern Times Group} ({ MTG}) ] ;
Define EnamexOrgTvr040 [ EnamexOrgTvr040a   EndTag(EnamexOrgTvr) ] ; 41

!R "Walt Disney"
!A {printTVRx(yytext);}

Define EnamexOrgTvr041a [ {Walt Disney} ] ;
Define EnamexOrgTvr041 [ EnamexOrgTvr041a   EndTag(EnamexOrgTvr) ] ; 42

!R "P "[234]" Riks"
!A {printTVRx(yytext);}

Define EnamexOrgTvr042a [ {P } ["2"|"3"|"4"] { Riks} ] ;
Define EnamexOrgTvr042 [ EnamexOrgTvr042a   EndTag(EnamexOrgTvr) ] ; 43

!R "Channel "([1-8]|Four)
!A {printTVRx(yytext);}

Define EnamexOrgTvr043a
     [ {Channel } [["1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"] | {Four}] ] ;
Define EnamexOrgTvr043 [ EnamexOrgTvr043a   EndTag(EnamexOrgTvr) ] ; 44

!R "Svensk "Filmindustri
!A {printTVRx(yytext);}

Define EnamexOrgTvr044a [ {Svensk Filmindustri} ] ;
Define EnamexOrgTvr044 [ EnamexOrgTvr044a   EndTag(EnamexOrgTvr) ] ; 45

!R "Mix Megapol"
!A {printTVRx(yytext);}

Define EnamexOrgTvr045a [ {Mix Megapol} ] ;
Define EnamexOrgTvr045 [ EnamexOrgTvr045a   EndTag(EnamexOrgTvr) ] ; 46

!R "Studio B"
!A {printTVRx(yytext);}

Define EnamexOrgTvr046a [ {Studio B} ] ;
Define EnamexOrgTvr046 [ EnamexOrgTvr046a   EndTag(EnamexOrgTvr) ] ; 47

!R [^\n ]*[Kk]anal(en)?(" TV")?" "[0-9]
!A {printTVR(yytext,1);}

Define EnamexOrgTvr047a [ ({TV }) Num ] ;
Define EnamexOrgTvr047
     [ EnamexOrgTvr047a
       LC(Kk {anal} ({en}) { })
       EndTag(EnamexOrgTvr) ] ; 48

!R [^\n ]+(ansk|elsk|istn)a" "[^\n ]*kanalen(" "{U}[^\n ]+)+
!A {printTVR(yytext,1);}

Define EnamexOrgTvr048a [ NS* {kanalen} [{ } CapWord2]+ ] ;
Define EnamexOrgTvr048
     [ EnamexOrgTvr048a
       LC(Word [{ansk} | {elsk} | {istn}] {a })
       EndTag(EnamexOrgTvr) ] ; 49

!R [^\n ]+(ansk|elsk|istn)a" "[^\n ]*kanalen" \, "[^\n, ]+(" "[^\n, ]+)?(" "[^\n, ]+)?" \,"
!A {printTVR(yytext,1);}

Define EnamexOrgTvr049a
     [ NS* {kanalen , } [NS - {,}]+ ({ } [NS - {,}]+) ({ } [NS - {,}]+) { ,} ] ;
Define EnamexOrgTvr049
     [ EnamexOrgTvr049a
       LC(Word [{ansk} | {elsk} | {istn}] {a })
       EndTag(EnamexOrgTvr) ] ; 50

!R TV\-{U}[^\n ]+
!A {printTVR(yytext,0);}

Define EnamexOrgTvr050a [ {TV-} CapWord2 ] ;
Define EnamexOrgTvr050 [ EnamexOrgTvr050a   EndTag(EnamexOrgTvr) ] ; 51

!R {U}[^\n ]+\-TV
!A {printTVR(yytext,0);}

Define EnamexOrgTvr051a [ CapWord2 {-TV} ] ;
Define EnamexOrgTvr051 [ EnamexOrgTvr051a   EndTag(EnamexOrgTvr) ] ; 52

!R [^\n ]*(dio|[Vv]|lit)(\-)?(kanal|station)(en)?" "al\-[^\n ]+
!A {printTVR(yytext,1);}

Define EnamexOrgTvr052a [ {al-} Word ] ;
Define EnamexOrgTvr052
     [ EnamexOrgTvr052a
       LC([{dio} | Vv | {lit}] ({-}) [{kanal} | {station}] ({en}) { })
       EndTag(EnamexOrgTvr) ] ; 53

!R [^\n ]*(yster|arn|gital|lnings|siker|ellit|onomi|akta|ilm|abel|dio|port|etal|usik|gdoms|yhets|klam|ltur|[Cc]hat|rvice|[Vv])(\-)?kanal(en)?(" "{U}[^\n ]+)+
!A {printTVR(yytext,1);}

Define EnamexOrgTvr053a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexOrgTvr053
     [ EnamexOrgTvr053a
       LC([{yster} | {arn} | {gital} | {lnings} | {siker} | {ellit}
             | {onomi} | {akta} | {ilm} | {abel} | {dio} | {port} | {etal}
             | {usik} | {gdoms} | {yhets} | {klam} | {ltur} | Cc {hat}
             | {rvice} | Vv]
          ({-}) {kanal} ({en}) { })
       EndTag(EnamexOrgTvr) ] ; 54

!R [^\n ]*([Tt]evebolaget|adio|[Tt][Vv])(\-)?(bolag|station)(en|et)?(" "{U}[^\n ]+)+
!A {printTVR(yytext,1);}

Define EnamexOrgTvr054a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexOrgTvr054
     [ EnamexOrgTvr054a
       LC([Tt {evebolaget} | {adio} | Tt Vv] ({-}) [{bolag} | {station}]
          ({en} | {et}) { })
       EndTag(EnamexOrgTvr) ] ; 55

!R "uppger "(Ekot|"SVT "{U}[^\n ]+)
!A {printTVR(yytext,1);}

Define EnamexOrgTvr055a [ {Ekot} | {SVT } CapWord2 ] ;
Define EnamexOrgTvr055
     [ EnamexOrgTvr055a
       LC({uppger })
       EndTag(EnamexOrgTvr) ] ; 56

!R \((" "{U}[^\n ]+)?" "[^\n ]*Universal" "\)
!A {printTVR(yytext,0);}

Define EnamexOrgTvr056a [ {(} ({ } CapWord2) { } NS* {Universal )} ] ;
Define EnamexOrgTvr056 [ EnamexOrgTvr056a   EndTag(EnamexOrgTvr) ] ; 57

!R ({U}[^\n ]+" ")+(FM|News)
!A {printTVR(yytext,0);}

Define EnamexOrgTvr057a [CapWord2 { }]+ [{FM} | {News}] ;
Define EnamexOrgTvr057 [ EnamexOrgTvr057a   EndTag(EnamexOrgTvr) ] ; 58

!R (tt\-afp|tt\-reuters|z\-tv)
!A {printTVR(yytext,0);}

Define EnamexOrgTvr058a [ {tt-afp} | {tt-reuters} | {z-tv} ] ;
Define EnamexOrgTvr058 [ EnamexOrgTvr058a   EndTag(EnamexOrgTvr) ] ; 59

!R [^\n ]*(ormations|edi[ea]|yhets)(gruppen|byrå|byrån)(" "{U}[^\n ]+)+
!A {printTVR(yytext,1);}

Define EnamexOrgTvr059a [ CapWord2 [{ } CapWord2]* ] ;
Define EnamexOrgTvr059
     [ EnamexOrgTvr059a
       LC([{ormations} | {edi} ["e"|"a"] | {yhets}]
          [{gruppen} | {byrå} | {byrån}] { })
       EndTag(EnamexOrgTvr) ] ; 60

!R (vid|på|för)" "SR
!A {printTVR(yytext,1);}

Define EnamexOrgTvr060a [ {SR} ] ;
Define EnamexOrgTvr060
     [ EnamexOrgTvr060a
       LC([{vid} | {på} | {för}] { })
       EndTag(EnamexOrgTvr) ] ; 61

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

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

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

Define TOP
     [ IgnoreTagged | Except001 | EnamexOrgTvr001 | EnamexOrgTvr002
       | EnamexOrgTvr003 | EnamexOrgTvr004 | EnamexOrgTvr005 | EnamexOrgTvr006
       | EnamexOrgTvr007 | EnamexOrgTvr008 | EnamexOrgTvr009 | EnamexOrgTvr010
       | EnamexOrgTvr011 | EnamexOrgTvr012 | EnamexOrgTvr013 | EnamexOrgTvr014
       | EnamexOrgTvr015 | EnamexOrgTvr016 | EnamexOrgTvr017 | EnamexOrgTvr018
       | EnamexOrgTvr019 | EnamexOrgTvr020 | EnamexOrgTvr021 | EnamexOrgTvr022
       | EnamexOrgTvr023 | EnamexOrgTvr024 | EnamexOrgTvr025 | EnamexOrgTvr026
       | EnamexOrgTvr027 | EnamexOrgTvr028 | EnamexOrgTvr029 | EnamexOrgTvr030
       | EnamexOrgTvr031 | EnamexOrgTvr032 | EnamexOrgTvr033 | EnamexOrgTvr034
       | EnamexOrgTvr035 | EnamexOrgTvr036 | EnamexOrgTvr037 | EnamexOrgTvr038
       | EnamexOrgTvr039 | EnamexOrgTvr040 | EnamexOrgTvr041 | EnamexOrgTvr042
       | EnamexOrgTvr043 | EnamexOrgTvr044 | EnamexOrgTvr045 | EnamexOrgTvr046
       | EnamexOrgTvr047 | EnamexOrgTvr048 | EnamexOrgTvr049 | EnamexOrgTvr050
       | EnamexOrgTvr051 | EnamexOrgTvr052 | EnamexOrgTvr053 | EnamexOrgTvr054
       | EnamexOrgTvr055 | EnamexOrgTvr056 | EnamexOrgTvr057 | EnamexOrgTvr058
       | EnamexOrgTvr059 | EnamexOrgTvr060
       LC(WordBoundary) ] ;
