!= ===============================================================
!= HFST Pmatch rule file converted from Flex source file TimPat.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: TimPat.ll
!# 	Author: Dimitrios Kokkinakis
!# 	Version: 080521
!# 	Finds: times expressions
!# 

!R DAY	[Mm]ån|[Tt]is|[Oo]ns|[Tt]ors|[Ff]re|[Ll]ör|[Ss][Öö][Nn]|skärtors|UUXXUU|thors

Define DAY
     [ Mm {ån} | Tt {is} | Oo {ns} | Tt {ors} | Ff {re} | Ll {ör}
       | Ss ["Ö"|"ö"] Nn | {skärtors} | {UUXXUU} | {thors} ] ;

!R DAYdag	{DAY}""dag

Define DAYdag [ DAY {dag} ] ;

!R MNH	[Jj]anuari|[Ff]ebruari|mars|[Aa]pril|[Mm]aj|[Jj]uni|[Jj]uli|[Aa]ugusti|[Ss]eptember|[Oo]ktober|[Nn]ovember|[Dd]ecember|UUX1XUU

Define MNH
     [ Jj {anuari} | Ff {ebruari} | {mars} | Aa {pril} | Mm {aj} | Jj {uni}
       | Jj {uli} | Aa {ugusti} | Ss {eptember} | Oo {ktober} | Nn {ovember}
       | Dd {ecember} | {UUX1XUU} ] ;

!R NUM	Ett|[^\n\t ]*[Tt]vå|[^\n\t ]*[Tt]re|[^\n\t ]*[Ff]yra|[^\n\t ]*[Ff]em|[^\n\t ]*[Ss]ex|[^\n\t ]*[Ss]ju|[^\n\t ]*[Åå]tta|[^\n\t ]*[Nn]io|[^\n\t ]*[Tt]io|[^\n\t ]*[Ee]lva|[^\n\t ]*[Tt]olv|[Tt]olf|[Tt]retton|[Ff]jorton|[Ff]emton|[Ss]exton|[Ss]jutton|[Nn]itton|[^\n\t ]*[Tt]jugo|UUX2XUU

Define NUM
     [ {Ett} | NS* Tt {vå} | NS* Tt {re} | NS* Ff {yra} | NS* Ff {em}
       | NS* Ss {ex} | NS* Ss {ju} | NS* ["Å"|"å"] {tta} | NS* Nn {io}
       | NS* Tt {io} | NS* Ee {lva} | NS* Tt {olv} | Tt {olf} | Tt {retton}
       | Ff {jorton} | Ff {emton} | Ss {exton} | Ss {jutton} | Nn {itton}
       | NS* Tt {jugo} | {UUX2XUU} ] ;

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

!#  GUESS 

!R "SBT=\"HPL\"\>"[^\n\<\>]+\<\/ENAMEX\>" "[12][0-9][0-9][0-9]
!A {
!A 	/* #tag TmeDat : [12][0-9][0-9][0-9] : <EnamexLoc[HP]pl>{NoTags}</EnamexLoc[HP]pl>" " */
!A 	/* Ignore the rest that is not supported by the conversion script. */
!A 	/* #skiprest */
!A 	int i=10; printf("SBT=\"HPL\">");
!A 	for(;yytext[i]!='>';putchar(yytext[i++])); putchar(yytext[i++]); 
!A 	printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">");
!A 	putchar(yytext[yyleng-4]); putchar(yytext[yyleng-3]);
!A 	putchar(yytext[yyleng-4]); putchar(yytext[yyleng-1]);printf("</TIMEX>");
!A }

Define TimexTmeDat001a [ ["1"|"2"] Num Num Num ] ;
Define TimexTmeDat001
     [ TimexTmeDat001a
       LC({<EnamexLoc} ["H"|"P"] {pl>} NoTags {</EnamexLoc} ["H"|"P"] {pl> })
       EndTag(TimexTmeDat) ] ; 1

!R "SBT=\"PPL\"\>"[^\n\<\>]+\<\/ENAMEX\>" "[12][0-9][0-9][0-9]
!A {
!A 	/* Covered in the #tag of the previous rule so ignore the rest
!A 	   that is not supported by the conversion script. */
!A 	/* #skiprest */
!A 	int i=10; printf("SBT=\"PPL\">");
!A 	for(;yytext[i]!='>';putchar(yytext[i++])); putchar(yytext[i++]); 
!A 	printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">");
!A 	putchar(yytext[yyleng-4]); putchar(yytext[yyleng-3]);
!A 	putchar(yytext[yyleng-4]); putchar(yytext[yyleng-1]);printf("</TIMEX>");}

!# Covered in the #tag of the previous rule so ignore the rest
!# 	   that is not supported by the conversion script.
!W Warning: Flex action did not produce any tags:
!A {
!A 	/* Covered in the #tag of the previous rule so ignore the rest
!A 	   that is not supported by the conversion script. */
!A 	/* #skiprest */
!A 	int i=10; printf("SBT=\"PPL\">");
!A 	for(;yytext[i]!='>';putchar(yytext[i++])); putchar(yytext[i++]); 
!A 	printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">");
!A 	putchar(yytext[yyleng-4]); putchar(yytext[yyleng-3]);
!A 	putchar(yytext[yyleng-4]); putchar(yytext[yyleng-1]);printf("</TIMEX>");}

Define Notags001
     [ {SBT=} "\"" {PPL} "\"" {>} NoTags EndTagEnamex { } YearNum ] ;

!#  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|MDA|MDS|MDP|MDF|MDD|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|FRQ|DEN|PRC|CMU|WMU|XXX|TEL|LST|AGE|WEB|CVU|CRD|ELU)\"\>[^\n\<]+\<\/NUMEX\>
!A {ECHO;}
!I Ignored exception rule

!R "på peptiden"
!A {ECHO;}

Define Except001 [ {på peptiden} ] ; 2

!R "ens hittills mest"
!A {ECHO;}

Define Except002 [ {ens hittills mest} ] ; 3

!R [Ii]" en nyligen"
!A {ECHO;}

Define Except003 [ Ii { en nyligen} ] ; 4

!R (s|den)" hittills "(värsta|största|mest|värsta)
!A {ECHO;}

Define Except004
     [{s} | {den}] { hittills } [{värsta} | {största} | {mest}] ; 5

!R Tidigare" "(anamnes|studier|undersökning)
!A {ECHO;}

Define Except005 [ {Tidigare } [{anamnes} | {studier} | {undersökning}] ] ; 6

!R "första och hittills enda"
!A {ECHO;}

Define Except006 [ {första och hittills enda} ] ; 7

!R "flera nyligen publicerade"
!A {ECHO;}

Define Except007 [ {flera nyligen publicerade} ] ; 8

!R "en nyligen publicerad"
!A {ECHO;}

Define Except008 [ {en nyligen publicerad} ] ; 9

!R "för tidigt födda"
!A {ECHO;}

Define Except009 [ {för tidigt födda} ] ; 10

!R " en hittills "
!A {ECHO;}

Define Except010 [ { en hittills } ] ; 11

!R samtidigt" "förekommande
!A {ECHO;}

Define Except011 [ {samtidigt förekommande} ] ; 12

!#  CLOCK; SEKUNDER; TIMMAR 

!R [Ss]trax" "(innan|efter|före)" klockan "(halv" ")?(ett|{NUM}|[0-9\.]+|[0-9]+\:[0-9]+)(" svensk tid"|" lokal tid"|" denna kväll")?
!A {printTME(yytext,0);}

Define TimexTmeDat002a
     [ Ss {trax } [{innan} | {efter} | {före}] { klockan } ({halv })
       [{ett} | Ins(NUM) | [Num|"."]+ | Ins(Nums) {:} Ins(Nums)]
       ({ svensk tid} | { lokal tid} | { denna kväll}) ] ;
Define TimexTmeDat002 [ TimexTmeDat002a   EndTag(TimexTmeDat) ] ; 13

!R [Ss]trax" "(innan|efter|före)" "("halv ")?{NUM}(" svensk tid"|" lokal tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat003a
     [ Ss {trax } [{innan} | {efter} | {före}] { } ({halv }) Ins(NUM)
       ({ svensk tid} | { lokal tid}) ] ;
Define TimexTmeDat003 [ TimexTmeDat003a   EndTag(TimexTmeDat) ] ; 14

!R ([Ff]rån|[Mm]ellan)" klockan "(ett|[012][0-9]|[012][0-9]\.[0-9][0-9]|[0-9]\.[0-9][0-9]|{NUM})" "(till|och)" "([012][0-9]|[012][0-9]\.[0-9][0-9]|[0-9]\.[0-9][0-9]|{NUM}|ett)
!A {printTME(yytext,0);}

Define TimexTmeDat004a
     [Ff {rån} | Mm {ellan}] { klockan }
     [{ett} | Num02X | Ins(HhMm) | Ins(NumDotNums2) | Ins(NUM)] { } [{till} | {och}] { }
     [Num02X | Ins(HhMm) | Ins(NumDotNums2) | Ins(NUM) | {ett}] ;
Define TimexTmeDat004 [ TimexTmeDat004a   EndTag(TimexTmeDat) ] ; 15

!R [Kk]lockan" "(är|var)(" över"|" inte ens"|" strax före"|" strax efter"|" snart"|" nästan"|" runt"|" cirka"|" närmare"|" bara"|" lite över"|" "nu)*(" halv")?" "([^\n\t ]+" minuter i "[^\n\t ]+|[^\n\t ]+" minuter över "[^\n\t ]+|[^\n\t ]+" minuter över halv "{NUM}|{NUM}|{NUM}" i "{NUM}|{NUM}" över "{NUM}|[012][0-9]\.[0-9][0-9]|[1-9]|[^\n\t ]+" midnatt"|lunchtid)(" i "{NUM})?(" på eftermiddagen"|" på kvällen"|" på aftonen"|" på "[^\n\t ]*middagen|" prick")?
!A {printTME(yytext,2);}

Define TimexTmeDat005a
     [ [[{över} | {inte ens} | {strax före} | {strax efter} | {snart}
            | {nästan} | {runt} | {cirka} | {närmare} | {bara} | {lite över}
            | {nu}]
         { }]*
       ({halv })
       [Ins(Word) { minuter i } Word | Ins(Word) { minuter över } Word
          | Ins(Word) { minuter över halv } Ins(NUM) | Ins(NUM) | Ins(NUM) { i } Ins(NUM)
          | Ins(NUM) { över } Ins(NUM) | Ins(HhMm) | Num19 | Ins(Word) { midnatt} | {lunchtid}]
       ({ i } Ins(NUM))
       ({ p}
         [{å eftermiddagen} | {å kvällen} | {å aftonen}
            | {å } NS* {middagen} | {rick}]) ] ;
Define TimexTmeDat005
     [ TimexTmeDat005a
       LC(Kk {lockan } [{ä} | {va}] {r })
       EndTag(TimexTmeDat) ] ; 16

!R [Ee]n" minut före "{NUM}
!A {printTME(yytext,0);}

Define TimexTmeDat006a [ Ee {n minut före } Ins(NUM) ] ;
Define TimexTmeDat006 [ TimexTmeDat006a   EndTag(TimexTmeDat) ] ; 17

!R ([Ss]trax" ")?([Ee]fter" "|[Ff]öre" "|[Ff]rån" "|[Oo]"mkring "|{DAY}"dag "|"till ")?[Kk]lockan" "("halv "|"half "|precis" ")?([012][0-9]|[012][0-9]\.[0-9][0-9]|[0-9]\.[0-9][0-9]|[012][0-9]+\:[0-9][0-9]|{NUM}|ett" "ungefär)(" minuter över "{NUM})?(" om natten"|" svensk tid"|" på "[^\n\t ]*morgon|" lokal tid"|" denna kväll"|" denna dag"|" den dag"|" denna "{DAY}dag|" denna "{DAY}dagseftermiddag|" natten till "{DAY}dag|" på "[^\n\t ]*kväll|" dagen före"|" på "[^\n\t ]+dag|" på "[^\n\t ]+dag" morgon"|" "{DAY}dag" "[^\n\t ]*middag)*(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat007a
     [ (Ss {trax })
       (Ee {fter } | Ff {öre } | Ff {rån } | Oo {mkring } | Ins(DAYdag) { }
         | {till })
       Kk {lockan } ({halv } | {half } | {precis })
       [Num02X | Ins(HhMm) | Ins(NumDotNums2) | Num02 Ins(Nums) {:} Ins(Nums2) | Ins(NUM)
          | {ett ungefär}]
       ({ minuter över } Ins(NUM))
       [{ om natten} | { svensk tid} | { på } NS* {morgon} | { lokal tid}
         | { denna kväll} | { denna dag} | { den dag} | { denna } Ins(DAYdag)
         | { denna } Ins(DAYdag) {seftermiddag} | { natten till } Ins(DAYdag)
         | { på } NS* {kväll} | { dagen före} | { på } Word {dag}
         | { på } Word {dag morgon} | { } Ins(DAYdag) { } NS* {middag}]*
       ({en}) ] ;
Define TimexTmeDat007 [ TimexTmeDat007a   EndTag(TimexTmeDat) ] ; 18

!R ([Ss]"enast "|[Mm]ellan" ")?([Kk]l|{DAY}dag" "[Kk]l)" "[0-9]+\.[0-9]+(" \- "[0-9]+\.[0-9]+|"\-"[0-9]+\.[0-9]+)?(" "[^\n\t ]+tid|" lokal tid"|[^\n\t ]+tid)?
!A {printTME(yytext,0);}

Define TimexTmeDat008a
     [ (Ss {enast } | Mm {ellan }) [Kk {l} | Ins(DAYdag) { } Kk {l}] { }
       Ins(NumsDotNums) ({ - } Ins(NumsDotNums) | {-} Ins(NumsDotNums))
       ({ } Word {tid} | { lokal tid} | Word {tid}) ] ;
Define TimexTmeDat008 [ TimexTmeDat008a   EndTag(TimexTmeDat) ] ; 19

!R ([Ss]"enast ")?[Vv]id" "[^\n\t ]+(" \- "[0-9]+\.[0-9]+)?(" "[^\n\t ]+tid|" lokal tid"|[^\n\t ]+tid)
!A {printTME(yytext,0);}

Define TimexTmeDat009a
     [ (Ss {enast }) Vv {id } Word ({ - } Ins(NumsDotNums))
       [{ } Word {tid} | { lokal tid} | Word {tid}] ] ;
Define TimexTmeDat009 [ TimexTmeDat009a   EndTag(TimexTmeDat) ] ; 20

!R ([Nn]ågon" "|[Pp]å" "|[Ee]fter" "|I" "|[Ii]nom" "|[Uu]nder" "|[Oo]m" "|[Ii]nom" loppet av "|[Ii]" ytterligare ")?(nästan" "|ungefär" "|minst" "|mindre" än "|"någon ")*[Ee]n" "(kvarts" "|qvarts" "|"knappt "|"och en "|dryg" "|dryga" "|knapp" "|knappa" ")?(halv|half|"half "|"halv ")?timm[aern]+("s mellanrum"|"s tid"|" senare"|" längre")?
!A {printTME(yytext,0);}

Define TimexTmeDat010a
     [ (Nn {ågon } | Pp {å } | Ee {fter } | {I } | Ii {nom } | Uu {nder }
         | Oo {m } | Ii {nom loppet av } | Ii { ytterligare })
       [{nästan } | {ungefär } | {minst } | {mindre än } | {någon }]* Ee {n }
       ({kvarts } | {qvarts } | {knappt } | {och en } | {dryg } | {dryga }
         | {knapp } | {knappa })
       ({halv} | {half} | {half } | {halv }) {timm} ["a"|"e"|"r"|"n"]+
       ({s mellanrum} | {s tid} | { senare} | { längre}) ] ;
Define TimexTmeDat010 [ TimexTmeDat010a   EndTag(TimexTmeDat) ] ; 21

!R [Ii]" "[^\n\t ]+" och en halv "timm[ae]r?
!A {printTME(yytext,0);}

Define TimexTmeDat011a
     [ Ii { } Ins(Word) { och en halv timm} ["a"|"e"] ({r}) ] ;
Define TimexTmeDat011 [ TimexTmeDat011a   EndTag(TimexTmeDat) ] ; 22

!R [Mm]ellan" "[012][0-9]\.[012][0-9]" och "[012][0-9]\.[012][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat012a
     [ Mm {ellan } Num02X {.} Num02X { och } Num02X {.} Num02X ] ;
Define TimexTmeDat012 [ TimexTmeDat012a   EndTag(TimexTmeDat) ] ; 23

!R ([0-9]+" "till" "|[Pp]å" "|[Ee]fter" "|[Kk]nappt" "|[Ee]"ndast "|[Cc]irka" "|[Bb]ara" "|[Ii]" c:a "|[Ii]" ca "|[Cc]a" "|[Cc]"\:a ")?([Ee]tt" par \, "{NUM}|[0-9]+\-[0-9]+|{NUM}|[0-9]+|[0-9]+\.[0-9]+|[^\n\t ]+\-[^\n\t ]+)" "minuter(na)?(" senare")?
!A {printTME(yytext,0);}

Define TimexTmeDat013a
     [ (Ins(Nums) { till } | Pp {å } | Ee {fter } | Kk {nappt } | Ee {ndast }
         | Cc {irka } | Bb {ara } | Ii { c:a } | Ii { ca } | Cc {a } | Cc {:a })
       [Ee {tt par , } Ins(NUM) | Ins(NumRange) | Ins(NUM) | Ins(Nums) | Ins(NumsDotNums)
          | Word {-} Ins(Word)]
       { minuter} ({na}) ({ senare}) ] ;
Define TimexTmeDat013 [ TimexTmeDat013a   EndTag(TimexTmeDat) ] ; 24

!R ([Rr]"edan ")?([Ii]" "|[Ii]" den ")[^\n\t ]+[ea]" "[^\n\t ]*minut(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat014a
     [ (Rr {edan }) [Ii { } | Ii { den }] Word ["e"|"a"] { } NS* {minut}
       ({en}) ] ;
Define TimexTmeDat014 [ TimexTmeDat014a   EndTag(TimexTmeDat) ] ; 25

!R ([Rr]"edan ")?([Ii]" "|[Ii]" den ")?([Ss]ista|[0-9]+\:[ea]|[^\n\t ]+nde|[0-9]+)" "[^\n\t ]*minut(en|er)?
!A {printTME(yytext,0);}

Define TimexTmeDat015a
     [ (Rr {edan }) (Ii { } | Ii { den })
       [Ss {ista} | Ins(Nums) {:} ["e"|"a"] | Word {nde} | Ins(Nums)] { } NS* {minut}
       ({en} | {er}) ] ;
Define TimexTmeDat015 [ TimexTmeDat015a   EndTag(TimexTmeDat) ] ; 26

!R ([Tt]"idigare "|[Ss]"enare "|[Ss]"ent ")?([Kk]vart" över "[^\n\t ]+" "|[Kk]lockan" "[^\n\t ]+" ")?[Pp]å" "(kväll|natt|[a-zåäö]+middag|morgon)(en)?(" till "[^\n\t ]+dagen)?(" svensk tid"|" lokal tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat016a
     [ (Tt {idigare } | Ss {enare } | Ss {ent })
       (Kk {vart över } Ins(Word) { } | Kk {lockan } Ins(Word) { }) Pp {å }
       [{kväll} | {natt} | LowerWord {middag} | {morgon}] ({en})
       ({ till } Word {dagen}) ({ svensk tid} | { lokal tid}) ] ;
Define TimexTmeDat016 [ TimexTmeDat016a   EndTag(TimexTmeDat) ] ; 27

!R [Vv]id" "([^\n\t ]+\-tiden|{NUM}tiden|lunchtid|klockan" kvart "(över|i)" "[^\n\t ]+|halv" "{NUM})(" svensk tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat017a
     [ Vv {id }
       [Word {-tiden} | Ins(NUM) {tiden} | {lunchtid}
          | {klockan kvart } [{över} | {i}] { } Word | {halv } Ins(NUM)]
       ({ svensk tid}) ] ;
Define TimexTmeDat017 [ TimexTmeDat017a   EndTag(TimexTmeDat) ] ; 28

!R ([Mm]ellan" ")?[Kk]l("\. "|" "|\.)[0-9][0-9]?\.[0-9][0-9]\-[0-9][0-9]\.[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat018a
     [ (Mm {ellan }) Kk {l} [{. } | { } | {.}] Ins(Nums12DotNums2) {-}
       Ins(Nums2DotNums2) ] ;
Define TimexTmeDat018 [ TimexTmeDat018a   EndTag(TimexTmeDat) ] ; 29

!R ([Mm]ellan" ")?[Kk]l("\. "|" "|\.)[0-9][0-9]?\.[0-9][0-9]" \- "[0-9][0-9]\.[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat019a
     [ (Mm {ellan }) Kk {l} [{. } | { } | {.}] Ins(Nums12DotNums2) { - }
       Ins(Nums2DotNums2) ] ;
Define TimexTmeDat019 [ TimexTmeDat019a   EndTag(TimexTmeDat) ] ; 30

!R ([Ss]"enast "|[Ff]"rån "|{DAY}"dag "|{DAY}"dag eftermiddag "|{DAY}"dagseftermiddag ")?[Kk]l("\. "|" "|\.)[0-9][0-9]([\:\.\-][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat020a
     [ (Ss {enast } | Ff {rån } | Ins(DAYdag) { } | Ins(DAYdag) { eftermiddag }
         | Ins(DAYdag) {seftermiddag })
       Kk {l} [{. } | { } | {.}] Ins(Nums2) ([":"|"."|"-"] Ins(Nums2)) ] ;
Define TimexTmeDat020 [ TimexTmeDat020a   EndTag(TimexTmeDat) ] ; 31

!R [Kk]lockslaget" "[0-9][0-9]\.[0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat021a [ Ins(Nums2DotNums2) ] ;
Define TimexTmeDat021
     [ TimexTmeDat021a
       LC(Kk {lockslaget })
       EndTag(TimexTmeDat) ] ; 32

!R [Kk]lockan" "(blev|slog|slår)" "("nu ")?{NUM}
!A {printTME(yytext,2);}

Define TimexTmeDat022a [ ({nu }) Ins(NUM) ] ;
Define TimexTmeDat022
     [ TimexTmeDat022a
       LC(Kk {lockan } [{blev} | {slog} | {slår}] { })
       EndTag(TimexTmeDat) ] ; 33

!#  MOD (Jyrki Niemi): Rule was split by the number of context words.
!# 	   They could be recombined in Pmatch.
!# 	   [Kk]lockan" "(hade" "slagit|går" "mot|gick" på halv")" "{NUM}	{printTME(yytext,2);}
!# 	 

!R [Kk]lockan" "(hade" "slagit|går" "mot)" "{NUM}
!A {printTME(yytext,2);}

Define TimexTmeDat023a [ [[{hade slagi} | {går mo}] {t}] { } Ins(NUM) ] ;
Define TimexTmeDat023
     [ TimexTmeDat023a
       LC(Kk {lockan })
       EndTag(TimexTmeDat) ] ; 34

!R [Kk]lockan" "gick" på halv "{NUM}
!A {printTME(yytext,3);}

Define TimexTmeDat024a [ {halv } Ins(NUM) ] ;
Define TimexTmeDat024
     [ TimexTmeDat024a
       LC(Kk {lockan gick på })
       EndTag(TimexTmeDat) ] ; 35

!R [Kk]lockan" "[0-9]+[\:\,][0-9]+
!A {printTME(yytext,1);}

Define TimexTmeDat025a [ Ins(Nums) [":"|","] Ins(Nums) ] ;
Define TimexTmeDat025
     [ TimexTmeDat025a
       LC(Kk {lockan })
       EndTag(TimexTmeDat) ] ; 36

!#  MOD (Jyrki Niemi): Rule was split by the number of context words.
!# 	   They could be recombined in Pmatch.
!# 	   [Kk]lockan" "("är ju"|"på slaget"|"ha varit"|"närmar sig"|"hade passerat"|var)" "("över "|"nästan "|"blott ")?(midnatt|{NUM})	{printTME(yytext,3);}
!# 	 

!R [Kk]lockan" "("är ju"|"på slaget"|"ha varit"|"närmar sig"|"hade passerat")" "("över "|"nästan "|"blott ")?(midnatt|{NUM})
!A {printTME(yytext,3);}

Define TimexTmeDat026a
     [ ({över } | {nästan } | {blott }) [{midnatt} | Ins(NUM)] ] ;
Define TimexTmeDat026
     [ TimexTmeDat026a
       LC(Kk {lockan }
          [{är ju} | {på slaget} | {ha varit} | {närmar sig}
             | {hade passerat}]
          { })
       EndTag(TimexTmeDat) ] ; 37

!R [Kk]lockan" "var" "("över "|"nästan "|"blott ")?(midnatt|{NUM})
!A {printTME(yytext,2);}

Define TimexTmeDat027a
     [ ({över } | {nästan } | {blott }) [{midnatt} | Ins(NUM)] ] ;
Define TimexTmeDat027
     [ TimexTmeDat027a
       LC(Kk {lockan var })
       EndTag(TimexTmeDat) ] ; 38

!R [Kk]lockan" "("mellan ")?[0-9][0-9]?" och "[0-9][0-9]?
!A {printTME(yytext,1);}

Define TimexTmeDat028a [ ({mellan }) Ins(Nums12) { och } Ins(Nums12) ] ;
Define TimexTmeDat028
     [ TimexTmeDat028a
       LC(Kk {lockan })
       EndTag(TimexTmeDat) ] ; 39

!R [Kk]lockan" "[0-9][0-9]\.[0-9][0-9]\-[0-9][0-9]\.[0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat029a [ Ins(Nums2DotNums2) {-} Ins(Nums2DotNums2) ] ;
Define TimexTmeDat029
     [ TimexTmeDat029a
       LC(Kk {lockan })
       EndTag(TimexTmeDat) ] ; 40

!R "måste ha varit "("ungefär ")?halv" "{NUM}
!A {printTME(yytext,3);}

Define TimexTmeDat030a [ ({ungefär }) {halv } Ins(NUM) ] ;
Define TimexTmeDat030
     [ TimexTmeDat030a
       LC({måste ha varit })
       EndTag(TimexTmeDat) ] ; 41

!R ([Ee]fter" "|O"m ")?[Ee]"n stund "(under|på)" "[^\n\t ]*(morgon|[kq]väll|dag)(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat031a
     [ (Ee {fter } | {Om }) Ee {n stund } [{under} | {på}] { } NS*
       [{morgon} | ["k"|"q"] {väll} | {dag}] ({en}) ] ;
Define TimexTmeDat031 [ TimexTmeDat031a   EndTag(TimexTmeDat) ] ; 42

!R ([Ff]ör" korta"|[Ää]ven" kortare"|[Ff]ör|[Vv]id|[Ii]" sådana"|[Pp]å" timmar och"|[Pp]å)" "[a-z]*stunder(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat032a
     [ [Ff {ör korta} | ["Ä"|"ä"] {ven kortare} | Ff {ör} | Vv {id}
          | Ii { sådana} | Pp {å timmar och} | Pp {å}]
       { } Az* {stunder} ({na}) ] ;
Define TimexTmeDat032 [ TimexTmeDat032a   EndTag(TimexTmeDat) ] ; 43

!R ([Ee]fter" "|Om" "|[Ff]"ör ")?[Ee]n(" "[^\n\t ]+|ganska" "god)?" "stund(" senare"|" sedan"|" derefter"|" därefter")?
!A {printTME(yytext,0);}

Define TimexTmeDat033a
     [ (Ee {fter } | {Om } | Ff {ör }) Ee {n} ({ } Word | {ganska god})
       { stund} ({ senare} | { sedan} | { derefter} | { därefter}) ] ;
Define TimexTmeDat033 [ TimexTmeDat033a   EndTag(TimexTmeDat) ] ; 44

!R [Kk]l" "[0-9]+" och "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat034a [ Kk {l } Ins(Nums) { och } Ins(Nums) ] ;
Define TimexTmeDat034 [ TimexTmeDat034a   EndTag(TimexTmeDat) ] ; 45

!R [Kk]l"\. "[0-9]+":"[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat035a [ Kk {l. } Ins(Nums) {:} Ins(Nums) ] ;
Define TimexTmeDat035 [ TimexTmeDat035a   EndTag(TimexTmeDat) ] ; 46

!R [Kk]"l:"[012][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat036a [ Kk {l:} Num02X ] ;
Define TimexTmeDat036 [ TimexTmeDat036a   EndTag(TimexTmeDat) ] ; 47

!R [Kk]l" "[012][0-9]30
!A {printTME(yytext,0);}

Define TimexTmeDat037a [ Kk {l } Num02X {30} ] ;
Define TimexTmeDat037 [ TimexTmeDat037a   EndTag(TimexTmeDat) ] ; 48

!R [Kk]l" "[12][0-9][0-5][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat038a [ Kk {l } Num12X ["0"|"1"|"2"|"3"|"4"|"5"] Num ] ;
Define TimexTmeDat038 [ TimexTmeDat038a   EndTag(TimexTmeDat) ] ; 49

!R [Dd]en(" "[^\n\t ]+)?" "stunden
!A {printTME(yytext,0);}

Define TimexTmeDat039a [ Dd {en} ({ } Word) { stunden} ] ;
Define TimexTmeDat039 [ TimexTmeDat039a   EndTag(TimexTmeDat) ] ; 50

!R [Ll]ängre" än "[^\n ]+" "(sekunder|minuter)
!A {printTME(yytext,0);}

Define TimexTmeDat040a
     [ Ll {ängre än } Ins(Word) { } [{sekunder} | {minuter}] ] ;
Define TimexTmeDat040 [ TimexTmeDat040a   EndTag(TimexTmeDat) ] ; 51

!R ([Uu]ngefär" "|[Bb]ara" "|[Rr]edan" "|[Mm]ax" "|[Oo]ftast" ")?([Mm]ed|[Uu]nder|[Ee]fter" över"|[Ee]fter" "[0-9]" respektive"|"I över"|[Ee]fter|[Pp]å|[Ii]nom|[Mm]er" "än|[Öö]ver|till" cirka"|[Cc]a|[Ff]rån|[Ii]" knappa"|[Ii]" minst"|[Ii]" ca"|[Ii]" cirka")" "("minst "|"cirka "|"c\:a ")?(några|[0-9]+|[1-9]\,[0-9]+|[1-9]\.[0-9]+|{NUM}|"drygt "{NUM}|{NUM}" spelade"|[0-9]+" \- "[0-9]+|[0-9\,]+\-[0-9\,]+|[0-9]+\-[0-9]+|"drygt "[0-9]+|[Dd]"om "första" "{NUM}|[Dd]"e "första" "{NUM}|[Mm]"ellan "{NUM}" och"|[Dd]"om "första" "[0-9]+|[Dd]"e "första" "[0-9]+|följande" "[0-9]+|[Dd]"e "senaste" "[^\n\t ]+|"de "{NUM}" "första|dessa|"de första"|"några få"|[Ee]"tt antal"|{NUM}" och en halv till "{NUM}|[Ii]"nom de närmsta"|{NUM}" till "{NUM})" "[a-z]*(minuter|timmar|sekunder)(na)?(s" duration"|" eller längre"|"s mellanrum"|" "tidigare|" "senare|"s period"|" "mellanrum)?
!A {printTME(yytext,0);}

Define TimexTmeDat041a
     [ (Uu {ngefär } | Bb {ara } | Rr {edan } | Mm {ax } | Oo {ftast })
       [Mm {ed} | Uu {nder} | Ee {fter över} | Ee {fter } Num { respektive}
          | {I över} | Ee {fter} | Pp {å} | Ii {nom} | Mm {er än}
          | ["Ö"|"ö"] {ver} | {till cirka} | Cc {a} | Ff {rån} | Ii { knappa}
          | Ii { minst} | Ii { ca} | Ii { cirka}]
       { } ({minst } | {cirka } | {c:a })
       [{några} | Ins(Nums) | Num19 {,} Ins(Nums) | Num19 {.} Ins(Nums) | Ins(NUM)
          | {drygt } Ins(NUM) | Ins(NUM) { spelade} | Ins(NumsSpRange)
          | DigitCommas {-} DigitCommas | Ins(NumRange) | {drygt } Ins(Nums)
          | Dd {om första } Ins(NUM) | Dd {e första } Ins(NUM) | Mm {ellan } Ins(NUM) { och}
          | Dd {om första } Ins(Nums) | Dd {e första } Ins(Nums) | {följande } Ins(Nums)
          | Dd {e senaste } Ins(Word) | {de } Ins(NUM) { första} | {dessa} | {de första}
          | {några få} | Ee {tt antal} | Ins(NUM) { och en halv till } Ins(NUM)
          | Ii {nom de närmsta} | Ins(NUM) { till } Ins(NUM)]
       { } Az* [{minuter} | {timmar} | {sekunder}] ({na})
       ({s duration} | { eller längre} | {s mellanrum} | { tidigare}
         | { senare} | {s period} | { mellanrum}) ] ;
Define TimexTmeDat041 [ TimexTmeDat041a   EndTag(TimexTmeDat) ] ; 52

!R ([Ff]rån" "[0-9]+" till ")?[0-9]+(\,[0-9]+)?" timmar i veckan"
!A {printTME(yytext,0);}

Define TimexTmeDat042a
     [ (Ff {rån } Ins(Nums) { till }) Ins(Nums) ({,} Ins(Nums)) { timmar i veckan} ] ;
Define TimexTmeDat042 [ TimexTmeDat042a   EndTag(TimexTmeDat) ] ; 53

!R ([Rr]"edan ")?([Uu]nder|[Ee]fter|[Bb]ara)" "[^\n\t ]+" "(knapp|dryg)(a)?" "(sekund|kvart)(en)?(" senare")?
!A {printTME(yytext,0);}

Define TimexTmeDat043a
     [ (Rr {edan }) [Uu {nder} | Ee {fter} | Bb {ara}] { } Ins(Word) { }
       [{knapp} | {dryg}] ({a}) { } [{sekund} | {kvart}] ({en}) ({ senare}) ] ;
Define TimexTmeDat043 [ TimexTmeDat043a   EndTag(TimexTmeDat) ] ; 54

!R ([Rr]"edan "[Bb]"ara ")?[Ee]fter" "[^\n\t ]+" "kvart
!A {printTME(yytext,0);}

Define TimexTmeDat044a
     [ (Rr {edan } Bb {ara }) Ee {fter } Ins(Word) { kvart} ] ;
Define TimexTmeDat044 [ TimexTmeDat044a   EndTag(TimexTmeDat) ] ; 55

!R ([Rr]"edan "|[Bb]"ara ")?([Ee]fter" ")?[Ee]n" "("dryg ")?"kvart senare"
!A {printTME(yytext,0);}

Define TimexTmeDat045a
     [ (Rr {edan } | Bb {ara }) (Ee {fter }) Ee {n } ({dryg }) {kvart senare} ] ;
Define TimexTmeDat045 [ TimexTmeDat045a   EndTag(TimexTmeDat) ] ; 56

!R [Dd]en" "[^\n\t ]+" kvarten"
!A {printTME(yytext,0);}

Define TimexTmeDat046a [ Dd {en } Ins(Word) { kvarten} ] ;
Define TimexTmeDat046 [ TimexTmeDat046a   EndTag(TimexTmeDat) ] ; 57

!R "honom vecka "[0-9]+
!A {printTME(yytext,1);}

Define TimexTmeDat047a [ {vecka } Ins(Nums) ] ;
Define TimexTmeDat047
     [ TimexTmeDat047a
       LC({honom })
       EndTag(TimexTmeDat) ] ; 58

!R ([Bb]ara" ")?(En|[Nn]ågon|[Ff]ör" någon"|[Ff]rån" någon"|"till "någo[nt]|[Ee]n" och en halv"|[Mm]indre" än en"|[Ii]nom" en "hal[vf])" minut"(" senare")?
!A {printTME(yytext,0);}

Define TimexTmeDat048a
     [ (Bb {ara })
       [{En} | Nn {ågon} | Ff {ör någon} | Ff {rån någon}
          | {till någo} ["n"|"t"] | Ee {n och en halv} | Mm {indre än en}
          | Ii {nom en hal} ["v"|"f"]]
       { minut} ({ senare}) ] ;
Define TimexTmeDat048 [ TimexTmeDat048a   EndTag(TimexTmeDat) ] ; 59

!R Någon" vecka efter"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Någon vecka</TIMEX> efter");}

Define TimexTmeDat049
     [ {Någon vecka}
       RC({ efter})
       EndTag(TimexTmeDat) ] ; 60

!R ([Pp]å|[Mm]ed|[Uu]nder)" tiden "[0-9]+\.[0-9]+(\,[0-9]+|\.[0-9]+)
!A {printTME(yytext,1);}

Define TimexTmeDat050a [ {tiden } Ins(NumsDotNums) [{,} Ins(Nums) | {.} Ins(Nums)] ] ;
Define TimexTmeDat050
     [ TimexTmeDat050a
       LC([Pp {å} | Mm {ed} | Uu {nder}] { })
       EndTag(TimexTmeDat) ] ; 61

!#  MOD (Jyrki Niemi): Corrected [Ti]ill to [Tt]ill 

!R ([Pp]å" så kort tid som "|[Ss]å" sent som "|[Ee]fter" "|[Dd]ärefter" "|[Rr]edan" "|[Nn]"ästan ")?([Ii]nom" "|[Oo]m" "|[Ff]ör" "|[Ss]"edan "|[Ee]"fter "|[Aa]"lltifrån "|[Ff]"rån "|[Tt]"ill "|[Uu]"nder loppet av "|[Uu]"nder "|[Uu]"nder de första "|[Rr]edan" från första "|[Ii]"nom loppet av "|[Ii]nom" någon till ")?([Uu]"ngefär "|[Dd]"rygt "|[Yy]"tterligare "|[Bb]"ara "|[Mm]"indre än "|[Mm]er" än "|[Cc]"irka "|[Kk]"nappt ")?({NUM}" till "{NUM}|{NUM}|[Nn]ågra|[0-9]+|[0-9]+" "[0-9]+|[0-9]+\,[0-9]+|[0-9]+\-[0-9\,]+|[Ff]lera|[Nn]"ågra få"|"ett fåtal"|[Ee]"tt par"|"de senaste "[^\n\t ]+|[Dd]e" "första|I" "[^\nA-ZÅÄÖ ]+|[Ii]nom" loppet av "[^\n\t ]+|[Uu]"pp till "[^\n\t ]+|[Bb]ara|[Cc]irka" "[^\n\t ]+|[Ii]" slutet av de "{NUM}|{NUM}" första"|föregående)" "("extra ")?[a-zåäö]*(minuter|millisekunder|sekunder|timma|dagar|veckan|vecka|veckor|"en dag"|"en timma"|"en timme"|timme|timmar|semesterdagar|dag|dgr|dagen)(na)?(" eller någon vecka"|"s mellanrum"|"s tid"|" sedan"|" sen"|" senare"|" tillbaka"|" tidigare"|" i följd"|" eller mer"|" "framåt|" "d[äe]refter)?
!A {printTME(yytext,0);}

Define TimexTmeDat051a
     [ (Pp {å så kort tid som } | Ss {å sent som } | Ee {fter }
         | Dd {ärefter } | Rr {edan } | Nn {ästan })
       (Ii {nom } | Oo {m } | Ff {ör } | Ss {edan } | Ee {fter }
         | Aa {lltifrån } | Ff {rån } | Tt {ill } | Uu {nder loppet av }
         | Uu {nder } | Uu {nder de första } | Rr {edan från första }
         | Ii {nom loppet av } | Ii {nom någon till })
       (Uu {ngefär } | Dd {rygt } | Yy {tterligare } | Bb {ara }
         | Mm {indre än } | Mm {er än } | Cc {irka } | Kk {nappt })
       [Ins(NUM) { till } Ins(NUM) | Ins(NUM) | Nn {ågra} | Ins(Nums) | Ins(NumsSpNums)
          | Ins(NumsCommaNums) | Ins(Nums) {-} DigitCommas | Ff {lera} | Nn {ågra få}
          | {ett fåtal} | Ee {tt par} | {de senaste } Ins(Word) | Dd {e första}
          | {I } [NS - UppercaseAlpha]+ | Ii {nom loppet av } Ins(Word)
          | Uu {pp till } Ins(Word) | Bb {ara} | Cc {irka } Ins(Word)
          | Ii { slutet av de } Ins(NUM) | Ins(NUM) { första} | {föregående}]
       { } ({extra }) Lower*
       [{minuter} | {millisekunder} | {sekunder} | {timma} | {dagar}
          | {veckan} | {vecka} | {veckor} | {en dag} | {en timma} | {en timme}
          | {timme} | {timmar} | {semesterdagar} | {dag} | {dgr} | {dagen}]
       ({na})
       ({ eller någon vecka} | {s mellanrum} | {s tid} | { sedan} | { sen}
         | { senare} | { tillbaka} | { tidigare} | { i följd} | { eller mer}
         | { framåt} | { d} ["ä"|"e"] {refter}) ] ;
Define TimexTmeDat051 [ TimexTmeDat051a   EndTag(TimexTmeDat) ] ; 62

!R ([Vv]id" "kvällstid|[Vv]id" "middagstid|[Vv]id" "lunchtid|[Ff]örsta" halvtimman")(" på "{DAY}dagen" svensk tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat052a
     [ [Vv {id kvällstid} | Vv {id middagstid} | Vv {id lunchtid}
          | Ff {örsta halvtimman}]
       ({ på } Ins(DAYdag) {en svensk tid}) ] ;
Define TimexTmeDat052 [ TimexTmeDat052a   EndTag(TimexTmeDat) ] ; 63

!R [0-9]+\,[0-9]+" "(minuter|millisekunder|sekunder|sek\.|sek)
!A {printTME(yytext,0);}

Define TimexTmeDat053a
     [ Ins(NumsCommaNums) { }
       [{minuter} | {millisekunder} | {sekunder} | {sek.} | {sek}] ] ;
Define TimexTmeDat053 [ TimexTmeDat053a   EndTag(TimexTmeDat) ] ; 64

!R ([Ee]n" "halv|[Ee]n" "knapp|[Hh]undradelar" av en"|[Uu]"nder en"|[Uu]"nder första"|[Ii]" denna")" "[a-zåäö]*sekund(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat054a
     [ [Ee {n halv} | Ee {n knapp} | Hh {undradelar av en} | Uu {nder en}
          | Uu {nder första} | Ii { denna}]
       { } Lower* {sekund} ({en}) ] ;
Define TimexTmeDat054 [ TimexTmeDat054a   EndTag(TimexTmeDat) ] ; 65

!R ([Uu]nder" den "[^\n\t ]+|[Ii]|[Ff]örsta)" "[^\n\t ]*timm[ae]n
!A {printTME(yytext,0);}

Define TimexTmeDat055a
     [ [Uu {nder den } Ins(Word) | Ii | Ff {örsta}] { } NS* {timm} ["a"|"e"] {n} ] ;
Define TimexTmeDat055 [ TimexTmeDat055a   EndTag(TimexTmeDat) ] ; 66

!R ([Pp]er|[Pp]å" "en|[Ee]fter" "någon|[Pp]å" "någon|[0-9]+\:e|[Ss]jätte|[Ss]edan" en"|[Öö]ver" en"|En|[Ii]nom" någon enstaka"|"½"|[Ii]" samma")" "[a-zåäö]*(minut|sekund|timma|timme)
!A {printTME(yytext,0);}

Define TimexTmeDat056a
     [Pp {er} | Pp {å en} | Ee {fter någon} | Pp {å någon} | Ins(Nums) {:e}
        | Ss {jätte} | Ss {edan en} | ["Ö"|"ö"] {ver en} | {En}
        | Ii {nom någon enstaka} | {½} | Ii { samma}]
     { } Lower* [{minut} | {sekund} | {timma} | {timme}] ;
Define TimexTmeDat056 [ TimexTmeDat056a   EndTag(TimexTmeDat) ] ; 67

!R [Kk]"lockan "[1-9](\,[0-9]|\-[0-9]+|\/2" "1[012])?
!A {printTME(yytext,0);}

Define TimexTmeDat057a
     [ Kk {lockan } Num19 ({,} Num | {-} Ins(Nums) | {/2 1} Num02) ] ;
Define TimexTmeDat057 [ TimexTmeDat057a   EndTag(TimexTmeDat) ] ; 68

!R (ca|[Cc]irka|[Pp]"å minst"|[0-9]+" tim")" "[^\n\t ]+" min\."
!A {printTME(yytext,0);}

Define TimexTmeDat058a
     [ [{ca} | Cc {irka} | Pp {å minst} | Ins(Nums) { tim}] { } Ins(Word) { min.} ] ;
Define TimexTmeDat058 [ TimexTmeDat058a   EndTag(TimexTmeDat) ] ; 69

!R (ca|c\:a|[Cc]irka|[Pp]"å minst"|[0-9]+" tim"|[0-9]+" "respektive|[Ee]fter|[Dd]ärefter|"i "respektive)" "[^\n\t ]+" min "
!A {int i=0; printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">");	for(;i<yyleng-1;putchar(yytext[i++])); printf("</TIMEX> ");}

Define TimexTmeDat059a
     [ [{ca} | {c:a} | Cc {irka} | Pp {å minst} | Ins(Nums) { tim}
          | Ins(Nums) { respektive} | Ee {fter} | Dd {ärefter} | {i respektive}]
       { } Ins(Word) { min} ] ;
Define TimexTmeDat059 [ TimexTmeDat059a   RC({ })   EndTag(TimexTmeDat) ] ; 70

!R (I" "|[Ii]nom" "|[Ii]" minst "|"ca "|[Ii]" snitt "|[Tt]ill" ca ")?([0-9]+\-)?([0-9]+|[0-9]+\,[0-9]+|[1-9]½)" "(tim|min|sek)" "
!A {	int i=0; printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">"); for(;i<yyleng-1;putchar(yytext[i++])); printf("</TIMEX> ");}

Define TimexTmeDat060a
     [ ({I } | Ii {nom } | Ii { minst } | {ca } | Ii { snitt } | Tt {ill ca })
       (Ins(Nums) {-}) [Ins(Nums) | Ins(NumsCommaNums) | Num19 {½}] { }
       [{tim} | {min} | {sek}] ] ;
Define TimexTmeDat060 [ TimexTmeDat060a   RC({ })   EndTag(TimexTmeDat) ] ; 71

!R [Ee]n" "[^\n\< ]*dag" "(kl|klocka)" "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat061a [ Ee {n } NS* {dag } [{kl} | {klocka}] { } Ins(Nums) ] ;
Define TimexTmeDat061 [ TimexTmeDat061a   EndTag(TimexTmeDat) ] ; 72

!R [Kk]vart" "(i|över)" "{NUM}
!A {printTME(yytext,0);}

Define TimexTmeDat062a [ Kk {vart } [{i} | {över}] { } Ins(NUM) ] ;
Define TimexTmeDat062 [ TimexTmeDat062a   EndTag(TimexTmeDat) ] ; 73

!R (tar|överstigande)" "[0-9][0-9\-]*" timmar"(na)?
!A {printTME(yytext,1);}

Define TimexTmeDat063a [ Num DigitDash* { timmar} ({na}) ] ;
Define TimexTmeDat063
     [ TimexTmeDat063a
       LC([{tar} | {överstigande}] { })
       EndTag(TimexTmeDat) ] ; 74

!R målet" efter "[0-9]+\.[0-9]+
!A {printTME(yytext,1);}

Define TimexTmeDat064a [ {efter } Ins(NumsDotNums) ] ;
Define TimexTmeDat064
     [ TimexTmeDat064a
       LC({målet })
       EndTag(TimexTmeDat) ] ; 75

!R [Uu]"nder "[^\n\t ]+" minuters tid"
!A {printTME(yytext,0);}

Define TimexTmeDat065a [ Uu {nder } Ins(Word) { minuters tid} ] ;
Define TimexTmeDat065 [ TimexTmeDat065a   EndTag(TimexTmeDat) ] ; 76

!R [Ii]" "[^\n \<>]*(minut|sekund)(en|er|erna)
!A {printTME(yytext,0);}

Define TimexTmeDat066a
     [ Ii { } NS* [{minut} | {sekund}] [{en} | {er} | {erna}] ] ;
Define TimexTmeDat066 [ TimexTmeDat066a   EndTag(TimexTmeDat) ] ; 77

!#  MOD (Jyrki Niemi): Require word boundary on the right to avoid
!# 	   matching partial year ranges. 

!R [^\n\t ]*[Tt]iden" "[0-9][0-9\.]*([\,\-]|" "[\,\-]" ")[0-9][0-9](\.[0-9][0-9])?" "
!A {printTME(yytext,11);}

Define TimexTmeDat067a
     [ NS* Tt {iden } Num [Num|"."]* [[","|"-"] | { } [","|"-"] { }] Ins(Nums2)
       ({.} Ins(Nums2)) ] ;
Define TimexTmeDat067 [ TimexTmeDat067a   RC({ })   EndTag(TimexTmeDat) ] ; 78

!R [0-9]+\.[0-9]+\-[0-9]+\.[0-9]+" på vardagar"
!A {printTME(yytext,1);}

Define TimexTmeDat068a [ {på vardagar} ] ;
Define TimexTmeDat068
     [ TimexTmeDat068a
       LC(NumsDotNums {-} NumsDotNums { })
       EndTag(TimexTmeDat) ] ; 79

!R ([Öö]ppen|ankommer)" "[0-9]+\.[0-9]+
!A {printTME(yytext,1);}

Define TimexTmeDat069a [ Ins(NumsDotNums) ] ;
Define TimexTmeDat069
     [ TimexTmeDat069a
       LC([["Ö"|"ö"] {ppen} | {ankommer}] { })
       EndTag(TimexTmeDat) ] ; 80

!R [Ii]nkommer" "[0-9][0-9][0-9][0-9][0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat070a [ Ins(Nums6) ] ;
Define TimexTmeDat070
     [ TimexTmeDat070a
       LC(Ii {nkommer })
       EndTag(TimexTmeDat) ] ; 81

!R [Öö]ppet" till "[0-9][0-9][\.\,][0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat071a [ Ins(Nums2) ["."|","] Ins(Nums2) ] ;
Define TimexTmeDat071
     [ TimexTmeDat071a
       LC(["Ö"|"ö"] {ppet till })
       EndTag(TimexTmeDat) ] ; 82

!R [Öö]ppet" alla dagar till "[0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat072a [ {alla dagar till } Ins(Nums2) ] ;
Define TimexTmeDat072
     [ TimexTmeDat072a
       LC(["Ö"|"ö"] {ppet })
       EndTag(TimexTmeDat) ] ; 83

!R ([Bb]ara" "|[Ee]ndast" ")?({NUM}|[0-9]+)" "("futtiga ")?(tusen|hundra)delar
!A {printTME(yytext,0);}

Define TimexTmeDat073a
     [ (Bb {ara } | Ee {ndast }) [Ins(NUM) | Ins(Nums)] { } ({futtiga })
       [{tusen} | {hundra}] {delar} ] ;
Define TimexTmeDat073 [ TimexTmeDat073a   EndTag(TimexTmeDat) ] ; 84

!R [Ss]trax" "[^\n\t ]" gryningen"
!A {printTME(yytext,0);}

Define TimexTmeDat074a [ Ss {trax } NS { gryningen} ] ;
Define TimexTmeDat074 [ TimexTmeDat074a   EndTag(TimexTmeDat) ] ; 85

!R [Vv]id" "([0-9]+\-snåret|tolvsnåret|[^\n\t ]+tiden)
!A {printTME(yytext,0);}

Define TimexTmeDat075a
     [ Vv {id } [Ins(Nums) {-snåret} | {tolvsnåret} | Word {tiden}] ] ;
Define TimexTmeDat075 [ TimexTmeDat075a   EndTag(TimexTmeDat) ] ; 86

!R ([Ff]ram" "till|[Ff]öre|[Ee]fter)" "[0-9][0-9]\.[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat076a
     [ [Ff {ram till} | Ff {öre} | Ee {fter}] { } Ins(Nums2DotNums2) ] ;
Define TimexTmeDat076 [ TimexTmeDat076a   EndTag(TimexTmeDat) ] ; 87

!R ([Kk]ring|[Pp]å)" "(jul|midsommar|nyårs)(dag|afton)(en)?(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat077a
     [ [Kk {ring} | Pp {å}] { } [{jul} | {midsommar} | {nyårs}]
       [{dag} | {afton}] ({en}) ({ } Ins(YearNum)) ] ;
Define TimexTmeDat077 [ TimexTmeDat077a   EndTag(TimexTmeDat) ] ; 88

!R [Ss]trax" "(före|efter)" "[0-9][0-9]\.[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat078a
     [ Ss {trax } [{före} | {efter}] { } Ins(Nums2DotNums2) ] ;
Define TimexTmeDat078 [ TimexTmeDat078a   EndTag(TimexTmeDat) ] ; 89

!R [1-9]\,[1-9]\-[1-9]" timmar"
!A {printTME(yytext,0);}

Define TimexTmeDat079a [ Num19 {,} Num19 {-} Num19 { timmar} ] ;
Define TimexTmeDat079 [ TimexTmeDat079a   EndTag(TimexTmeDat) ] ; 90

!R ([Ff]rån" och med "detta|[Uu]nder" de där "sista|[Ee]tt" "kort|[Ll]ångt|[Ss]ådant" "tidens|[Ii]" "sista|[Nn]ågra|[Ii]" det "här|Ena|[Ii]" exakt "rätt|[Ii]" "ena|[Uu]nder" "dessa|[Uu]nder" de "[^\n\<\> ]+a|[Ee]fter" "ett|[Ii]" "varje|[Ii]" "samma|[Ii]" "det|[Ii]" detta"|[Ee]tt|[Nn]ästa|[Pp]å|[Ee]tt" "enda|[Ii]" det "[a-z]+görande|[Ii]|[Ee]fter" "några|[Ii]" ett "sådant|[Pp]å" ett "sådant|[Ii]" sådana"|[Ii]" det "[a-zåäö]+a|[Ff]rån" "första|[Ii]" "första|[Pp]å" detta "stora|[Ee]tt" "par|[Ee]tt" "lugnt|a[fv]görande)" "ögonblick(et|en)?(" "senare|" "tidigare|[Ee]fter" "några" "[a-zåäö]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat080a
     [ [Ff {rån och med detta} | Uu {nder de där sista} | Ee {tt kort}
          | Ll {ångt} | Ss {ådant tidens} | Ii { sista} | Nn {ågra}
          | Ii { det här} | {Ena} | Ii { exakt rätt} | Ii { ena}
          | Uu {nder dessa} | Uu {nder de } Word {a} | Ee {fter ett}
          | Ii { varje} | Ii { samma} | Ii { det} | Ii { detta} | Ee {tt}
          | Nn {ästa} | Pp {å} | Ee {tt enda} | Ii { det } LowerWord {görande}
          | Ii | Ee {fter några} | Ii { ett sådant} | Pp {å ett sådant}
          | Ii { sådana} | Ii { det } LowerWord {a} | Ff {rån första}
          | Ii { första} | Pp {å detta stora} | Ee {tt par} | Ee {tt lugnt}
          | {a} ["f"|"v"] {görande}]
       { ögonblick} ({et} | {en})
       ({ senare} | { tidigare} | Ee {fter några } LowerWord) ] ;
Define TimexTmeDat080 [ TimexTmeDat080a   EndTag(TimexTmeDat) ] ; 91

!R (högst" ")?"1 timme"(" "senare)?
!A {printTME(yytext,0);}

Define TimexTmeDat081a [ ({högst }) {1 timme} ({ senare}) ] ;
Define TimexTmeDat081 [ TimexTmeDat081a   EndTag(TimexTmeDat) ] ; 92

!R ([Mm]ellan|[Dd]agligen)" "[0-9][0-9]\.[0-9][0-9]\-[0-9][0-9]\.[0-9][0-9](" och sedan "[0-9][0-9]\.[0-9][0-9]\-[0-9][0-9]\.[0-9][0-9]|" och "[0-9][0-9]\.[0-9][0-9]\-[0-9][0-9]\.[0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat082a
     [ [Mm {ellan} | Dd {agligen}] { } Ins(Nums2DotNums2) {-} Ins(Nums2DotNums2)
       ({ och sedan } Ins(Nums2DotNums2) {-} Ins(Nums2DotNums2)
         | { och } Ins(Nums2DotNums2) {-} Ins(Nums2DotNums2)) ] ;
Define TimexTmeDat082 [ TimexTmeDat082a   EndTag(TimexTmeDat) ] ; 93

!R lyfte" "[0-9][0-9]\:[0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat083a [ Ins(Nums2) {:} Ins(Nums2) ] ;
Define TimexTmeDat083
     [ TimexTmeDat083a
       LC({lyfte })
       EndTag(TimexTmeDat) ] ; 94

!R [Ii]" "[1-9]" och 1\/2 "(tim|timma|timme)
!A {printTME(yytext,0);}

Define TimexTmeDat084a
     [ Ii { } Num19 { och 1/2 } [{tim} | {timma} | {timme}] ] ;
Define TimexTmeDat084 [ TimexTmeDat084a   EndTag(TimexTmeDat) ] ; 95

!R "1 1\/2 "(tim\.?|timme)
!A {printTME(yytext,0);}

Define TimexTmeDat085a [ {1 1/2 } [{tim} ({.}) | {timme}] ] ;
Define TimexTmeDat085 [ TimexTmeDat085a   EndTag(TimexTmeDat) ] ; 96

!R [0-9][0-9\,\/]*" miljoner "[^\n\t ]*timmar
!A {printTME(yytext,0);}

Define TimexTmeDat086a [ Num [Num|","|"/"]* { miljoner } NS* {timmar} ] ;
Define TimexTmeDat086 [ TimexTmeDat086a   EndTag(TimexTmeDat) ] ; 97

!R " 1 tim efter"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">1 tim</TIMEX> efter");}

Define TimexTmeDat087
     [ {1 tim}
       LC({ })
       RC({ efter})
       EndTag(TimexTmeDat) ] ; 98

!R " den dag det"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">den dag</TIMEX> det");}

Define TimexTmeDat088
     [ {den dag}
       LC({ })
       RC({ det})
       EndTag(TimexTmeDat) ] ; 99

!R ([Pp]å" "|[Uu]nder" ")?(bråkdelen" "av|[Ss]å" lite "som)" en "[a-zåäö]*sekund
!A {printTME(yytext,0);}

Define TimexTmeDat089a
     [ (Pp {å } | Uu {nder }) [{bråkdelen av} | Ss {å lite som}] { en } Lower*
       {sekund} ] ;
Define TimexTmeDat089 [ TimexTmeDat089a   EndTag(TimexTmeDat) ] ; 100

!R [Ss]edan" "[1-9]" "(tim|timmar)(" "tillbaka)?
!A {printTME(yytext,0);}

Define TimexTmeDat090a
     [ Ss {edan } Num19 { } [{tim} | {timmar}] ({ tillbaka}) ] ;
Define TimexTmeDat090 [ TimexTmeDat090a   EndTag(TimexTmeDat) ] ; 101

!R [Ee]fter" en kvart"[^\n\t ]+" minuter"
!A {printTME(yytext,0);}

Define TimexTmeDat091a [ Ee {fter en kvart} Ins(Word) { minuter} ] ;
Define TimexTmeDat091 [ TimexTmeDat091a   EndTag(TimexTmeDat) ] ; 102

!R ("ca "[1-9]|[1-9][0-9]\-[1-9][0-9]|[1-9][0-9])" "(min|tim)" "
!A {int i=0;printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">"); 	 for(;i<yyleng-1;putchar(yytext[i++])); printf("</TIMEX> ");}

Define TimexTmeDat092a
     [{ca } Num19 | Num19X {-} Num19X | Num19X] { } [{min} | {tim}] ;
Define TimexTmeDat092 [ TimexTmeDat092a   RC({ })   EndTag(TimexTmeDat) ] ; 103

!R ("ca "[1-9]|[1-9][0-9]\-[1-9][0-9]|[1-9][0-9])" "(min|tim)\n
!A {int i=0;printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">"); 	 for(;i<yyleng-1;putchar(yytext[i++])); printf("</TIMEX>\n");}

Define TimexTmeDat093a
     [ [{ca } Num19 | Num19X {-} Num19X | Num19X] { } [{min} | {tim}] "\n" ] ;
Define TimexTmeDat093 [ TimexTmeDat093a   EndTag(TimexTmeDat) ] ; 104

!R [Vv]id" "halv" "[^\n\t ]+tiden
!A {printTME(yytext,0);}

Define TimexTmeDat094a [ Vv {id halv } Word {tiden} ] ;
Define TimexTmeDat094 [ TimexTmeDat094a   EndTag(TimexTmeDat) ] ; 105

!R [Mm]orgon" och "(kväll|eftermiddag)(arna)?
!A {printTME(yytext,0);}

Define TimexTmeDat095a
     [ Mm {orgon och } [{kväll} | {eftermiddag}] ({arna}) ] ;
Define TimexTmeDat095 [ TimexTmeDat095a   EndTag(TimexTmeDat) ] ; 106

!R [Mm]ellan" halv "[a-zåäö]+" och halv "[a-zåäö]+" på "(för|efter)middagen
!A {printTME(yytext,0);}

Define TimexTmeDat096a
     [ Mm {ellan halv } Ins(LowerWord) { och halv } Ins(LowerWord) { på }
       [{för} | {efter}] {middagen} ] ;
Define TimexTmeDat096 [ TimexTmeDat096a   EndTag(TimexTmeDat) ] ; 107

!R [Uu]nder" de första "[^\n\t ]+" levnadstimmarna"
!A {printTME(yytext,0);}

Define TimexTmeDat097a [ Uu {nder de första } Ins(Word) { levnadstimmarna} ] ;
Define TimexTmeDat097 [ TimexTmeDat097a   EndTag(TimexTmeDat) ] ; 108

!R ([Ii]nom" "|[Pp]å" "|[Uu]nder" en ")?[12]?[1-9](\-)?[1-9]h(" eller "[0-9]+h|" resp\. "[0-9]+h)?(" period")?
!A {printTME(yytext,0);}

Define TimexTmeDat098a
     [ (Ii {nom } | Pp {å } | Uu {nder en }) (Num12) Num19 ({-}) Num19 {h}
       ({ eller } Ins(Nums) {h} | { resp. } Ins(Nums) {h}) ({ period}) ] ;
Define TimexTmeDat098 [ TimexTmeDat098a   EndTag(TimexTmeDat) ] ; 109

!R [0-9]+" eller "[0-9][\-0-9]+h
!A {printTME(yytext,0);}

Define TimexTmeDat099a [ Ins(Nums) { eller } Num DigitDashes {h} ] ;
Define TimexTmeDat099 [ TimexTmeDat099a   EndTag(TimexTmeDat) ] ; 110

!R [Ee]n" skön "[^\n ]*morgon" i "[a-zåäö]+" "månad
!A {printTME(yytext,0);}

Define TimexTmeDat100a
     [ Ee {n skön } NS* {morgon i } Ins(LowerWord) { månad} ] ;
Define TimexTmeDat100 [ TimexTmeDat100a   EndTag(TimexTmeDat) ] ; 111

!R (Om|Mot)" "aftonen
!A {printTME(yytext,0);}

Define TimexTmeDat101a [ [{Om} | {Mot}] { aftonen} ] ;
Define TimexTmeDat101 [ TimexTmeDat101a   EndTag(TimexTmeDat) ] ; 112

!R ([Dd]enna|[Ff]öljande)" "morgon(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat102a [ [Dd {enna} | Ff {öljande}] { morgon} ({en}) ] ;
Define TimexTmeDat102 [ TimexTmeDat102a   EndTag(TimexTmeDat) ] ; 113

!R [Pp]å" en "[a-zåäö]+" natt"
!A {printTME(yytext,0);}

Define TimexTmeDat103a [ Pp {å en } Ins(LowerWord) { natt} ] ;
Define TimexTmeDat103 [ TimexTmeDat103a   EndTag(TimexTmeDat) ] ; 114

!R ([Ii]nom|[Cc]\:a)" "[0-9]+" h"
!A {printTME(yytext,0);}

Define TimexTmeDat104a [ [Ii {nom} | Cc {:a}] { } Ins(Nums) { h} ] ;
Define TimexTmeDat104 [ TimexTmeDat104a   EndTag(TimexTmeDat) ] ; 115

!R (till" ")?([Ee]fter" "{NUM}|[Kk]l" "[1-9])" på "(kvällen|morgonen)
!A {printTME(yytext,0);}

Define TimexTmeDat105a
     [ ({till }) [Ee {fter } Ins(NUM) | Kk {l } Num19] { på }
       [{kvällen} | {morgonen}] ] ;
Define TimexTmeDat105 [ TimexTmeDat105a   EndTag(TimexTmeDat) ] ; 116

!R (till" ")?[Kk]l" "[1-9][0-9]00(" på "kvällen)?
!A {printTME(yytext,0);}

Define TimexTmeDat106a [ ({till }) Kk {l } Num19X {00} ({ på kvällen}) ] ;
Define TimexTmeDat106 [ TimexTmeDat106a   EndTag(TimexTmeDat) ] ; 117

!R [Cc]irka" "[^\n\<\> ]+" "tilläggsminuter
!A {printTME(yytext,0);}

Define TimexTmeDat107a [ Cc {irka } Ins(Word) { tilläggsminuter} ] ;
Define TimexTmeDat107 [ TimexTmeDat107a   EndTag(TimexTmeDat) ] ; 118

!R [Ee]n" tidig "[a-zåäö]*morgon
!A {printTME(yytext,0);}

Define TimexTmeDat108a [ Ee {n tidig } Lower* {morgon} ] ;
Define TimexTmeDat108 [ TimexTmeDat108a   EndTag(TimexTmeDat) ] ; 119

!R stod" en "[a-zåäö]*morgon
!A {printTME(yytext,1);}

Define TimexTmeDat109a [ {en } Lower* {morgon} ] ;
Define TimexTmeDat109
     [ TimexTmeDat109a
       LC({stod })
       EndTag(TimexTmeDat) ] ; 120

!R [Mm]ellan" half "[1-9][0-9]?
!A {printTME(yytext,1);}

Define TimexTmeDat110a [ {half } Num19x ] ;
Define TimexTmeDat110
     [ TimexTmeDat110a
       LC(Mm {ellan })
       EndTag(TimexTmeDat) ] ; 121

!R [Dd]e" sista "[^\n ]+" minuter"(na)?
!A {printTME(yytext,1);}

Define TimexTmeDat111a [ {sista } Ins(Word) { minuter} ({na}) ] ;
Define TimexTmeDat111
     [ TimexTmeDat111a
       LC(Dd {e })
       EndTag(TimexTmeDat) ] ; 122

!R Senaste" "timmen
!A {printTME(yytext,0);}

Define TimexTmeDat112a [ {Senaste timmen} ] ;
Define TimexTmeDat112 [ TimexTmeDat112a   EndTag(TimexTmeDat) ] ; 123

!R [Nn]"ågon timma"
!A {printTME(yytext,0);}

Define TimexTmeDat113a [ Nn {ågon timma} ] ;
Define TimexTmeDat113 [ TimexTmeDat113a   EndTag(TimexTmeDat) ] ; 124

!#  DAYS 

!R ([Rr]edan" "|[Ss]ent" om "|[Ss]ent" "|[Ss]enast" "|[Tt]"idigare "|[Tt]"idigt "|[Tt]"idigast ")?([Dd]"enna "|[Ii]" "|[Ff]rampå" "|[Pp][Åå]" "|[Uu]nder" "|[Tt]idigare" ")?{DAY}(dags|dag)(" "kväll|afton|natt|midnatt|snatt|eftermiddan|efternatten|seftermiddag|"morgon bitti"|morgon" "bittida|" "natt|[^\n\t ]*kväll|[^\n\t ]*kvällen" eller dagen"|[a-zö]+middag|morgon|" morse"|" och "{DAY}dags|" "[a-zö]+middag)(en)?(" den "[1-9]" "{MNH}|" den "[1-9][0-9]" "{MNH}|" "kl\.[0-9\.]+[0-9]|" svensk tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat114a
     [ (Rr {edan } | Ss {ent om } | Ss {ent } | Ss {enast } | Tt {idigare }
         | Tt {idigt } | Tt {idigast })
       (Dd {enna } | Ii { } | Ff {rampå } | Pp ["Å"|"å"] { } | Uu {nder }
         | Tt {idigare })
       Ins(DAY) [{dags} | {dag}]
       [{ kväll} | {afton} | {natt} | {midnatt} | {snatt} | {eftermiddan}
          | {efternatten} | {seftermiddag} | {morgon bitti} | {morgon bittida}
          | { natt} | NS* {kväll} | NS* {kvällen eller dagen}
          | ["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"|"ö"]+
            {middag}
          | {morgon} | { morse} | { och } Ins(DAYdag) {s}
          | { }
            ["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"|"ö"]+
            {middag}]
       ({en})
       ({ den } Num19 { } Ins(MNH) | { den } Num19X { } Ins(MNH)
         | { kl.} [Num|"."]+ Num | { svensk tid}) ] ;
Define TimexTmeDat114 [ TimexTmeDat114a   EndTag(TimexTmeDat) ] ; 125

!R ([Ff]rån|[Pp]å)" "{DAY}dag(seftermiddag|tid|en|ar|arna)?(" och "{DAY}dag[enar]*|" "kl" "[0-9\-\.]+|" "[1-9]\/1[0-2]|" "[1-9]\/[1-9]|" "[123][0-9]\/1[0-2]|" "[123][0-9]\/[1-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat115a
     [ [Ff {rån} | Pp {å}] { } Ins(DAYdag)
       ({seftermiddag} | {tid} | {en} | {ar} | {arna})
       ({ och } Ins(DAYdag) ["e"|"n"|"a"|"r"]* | { kl } [Num|"-"|"."]+
         | { } Num19 {/1} Num02 | { } Num19 {/} Num19 | { } Num13X {/1} Num02
         | { } Num13X {/} Num19) ] ;
Define TimexTmeDat115 [ TimexTmeDat115a   EndTag(TimexTmeDat) ] ; 126

!R ([^\n\t ]*tiden" "|[SRsr]edan" ")?([Ss]enast|[Ff]örra|[Nn]atten" till"|[Uu]nder" natten till"|[Nn]atten" mot"|[Ff]"ram till"|[SsRr]edan)" "(igår" natt"|igår" morse"|"dagens datum"|i" går afton"|i" går natt"|igår|i" "går|i" går eftermiddag"|{DAY}dagens" "[^\n\t ]+middag|{DAY}dagen|{DAY}dag|[Mm]idt" i natten")(" svensk tid"|" lokal tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat116a
     [ (NS* {tiden } | ["S"|"R"|"s"|"r"] {edan })
       [Ss {enast} | Ff {örra} | Nn {atten till} | Uu {nder natten till}
          | Nn {atten mot} | Ff {ram till} | ["S"|"s"|"R"|"r"] {edan}]
       { }
       [{igår natt} | {igår morse} | {dagens datum} | {i går afton}
          | {i går natt} | {igår} | {i går} | {i går eftermiddag}
          | Ins(DAYdag) {ens } Word {middag} | Ins(DAYdag) {en} | Ins(DAYdag)
          | Mm {idt i natten}]
       ({ svensk tid} | { lokal tid}) ] ;
Define TimexTmeDat116 [ TimexTmeDat116a   EndTag(TimexTmeDat) ] ; 127

!R ([SRsr]edan" "|[Jj]ust" ")?([Vv]id" "|[Ff]rån" och "med" "|[Ff]ramåt" "|[Ff]rån" "|[Ss]trax" före "|[Ss]trax" efter "|halv" "|"vid halv "|"fram till ")?[^\n\t ]+tiden" på "([^\n\t ]*morgonen|[^\n\t ]*natten|[^\n\t ]*kvällen|i" går afton"|i" går morse"|i" "går|"i kväll"|igår|igår" morse"|[^\n\t ]+dagen|ikväll|[^\n\t ]+dag)
!A {printTME(yytext,0);}

Define TimexTmeDat117a
     [ (["S"|"R"|"s"|"r"] {edan } | Jj {ust })
       (Vv {id } | Ff {rån och med } | Ff {ramåt } | Ff {rån }
         | Ss {trax före } | Ss {trax efter } | {halv } | {vid halv }
         | {fram till })
       Word {tiden på }
       [NS* {morgonen} | NS* {natten} | NS* {kvällen} | {i går afton}
          | {i går morse} | {i går} | {i kväll} | {igår} | {igår morse}
          | Word {dagen} | {ikväll} | Word {dag}] ] ;
Define TimexTmeDat117 [ TimexTmeDat117a   EndTag(TimexTmeDat) ] ; 128

!R ([Ss]"enast "|[Tt]idigare" "|[Ss]enare" "|[Tt]idigt" "|[Ss]"ent ")?([Ii]" "veckan|[Ii]" "dag|[Ii]" "morse|[Ii]" "förrgår|[Ii]"går natt"|[Ii]" går natt"|[Ii]" "går|[Ff]ramåt|[Ii]går|[Ss]amma|[Ff]öregående)(" morse"|" kväll"|" qväll"|" "eftermiddag|" "förmiddag)(en)?(" lokal tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat118a
     [ (Ss {enast } | Tt {idigare } | Ss {enare } | Tt {idigt } | Ss {ent })
       [Ii { veckan} | Ii { dag} | Ii { morse} | Ii { förrgår}
          | Ii {går natt} | Ii { går natt} | Ii { går} | Ff {ramåt} | Ii {går}
          | Ss {amma} | Ff {öregående}]
       [{ morse} | { kväll} | { qväll} | { eftermiddag} | { förmiddag}] ({en})
       ({ lokal tid}) ] ;
Define TimexTmeDat118 [ TimexTmeDat118a   EndTag(TimexTmeDat) ] ; 129

!R ([Hh]ögst" "[^\n\t ]+|[Uu]ngefär" "[^\n\t ]+" till "[^\n\t ]+|[Mm]inst" "[^\n\t ]+" till "[^\n\t ]+|[Ii]" "[0-9]+|[Ii]nom" "[^\n\t ]+|[Uu]nder" "[0-9]+|[Ii]ntill" "[^\n\t ]+|[Pp]å" "[^\n\t ]+|[0-9]+\-[0-9]+|[Ee]fter" "[^\n\t ]+|[Ii]" antalet"|[Ii]" dessa"|[Uu]"nder dessa"|[Uu]"nder dessa dystra")" "(arbets)?dagar
!A {printTME(yytext,0);}

Define TimexTmeDat119a
     [ [Hh {ögst } Ins(Word) | Uu {ngefär } Ins(Word) { till } Ins(Word)
          | Mm {inst } Ins(Word) { till } Ins(Word) | Ii { } Ins(Nums) | Ii {nom } Ins(Word)
          | Uu {nder } Ins(Nums) | Ii {ntill } Ins(Word) | Pp {å } Ins(Word) | Ins(NumRange)
          | Ee {fter } Ins(Word) | Ii { antalet} | Ii { dessa} | Uu {nder dessa}
          | Uu {nder dessa dystra}]
       { } ({arbets}) {dagar} ] ;
Define TimexTmeDat119 [ TimexTmeDat119a   EndTag(TimexTmeDat) ] ; 130

!R ([Uu]"nder "|[Ee]fter" "|[Pp]å" "|[Ii]" över "|[Ii]" "|[Ii]nom" "|[Mm]"er än "|[Mm]"inst ")?([Dd]rygt" "|[Ii]" c:a "|[Tt]vå)?([Tt]"idigast "[^\n\t ]+|[Mm]"indre än ett"|[Nn]ästan" "[^\n\t ]|[Ee]tt" till "[^\n\t ]+|[0-9]+" \- "[0-9]+|[Ff]ör" "[^\n\t ]+" eller "[^\n\t ]+|[0-9\-]+|[0-9\-]+\,[0-9]+|{NUM}|[Ee]tt|[Ee]tt" "knappt|[Ee]tt" "halvt|[Ee]tt" och ett "halvt|[Ee]tt" "par|[Ss]å" "många|per|[Ff]lera|[Ss]amma|[Ff]ler|[Nn]ågot|[Vv]arje|[Uu]pp" till "[^\n\t ]+|[Hh]alva|"sitt andra"|[Ee]"tt extra"|[Ee]"tt fåtal"|[Ll]"ängre än något"|[Ee]tt" "helt|symtomfria)" dygn"("s timmar"|" "framåt|" "senare|" tidigare"|" dessförinnan"|" tillbaka")?
!A {printTME(yytext,0);}

Define TimexTmeDat120a
     [ (Uu {nder } | Ee {fter } | Pp {å } | Ii { över } | Ii { } | Ii {nom }
         | Mm {er än } | Mm {inst })
       (Dd {rygt } | Ii { c:a } | Tt {vå})
       [Tt {idigast } Ins(Word) | Mm {indre än ett} | Nn {ästan } NS
          | Ee {tt till } Ins(Word) | Ins(NumsSpRange) | Ff {ör } Ins(Word) { eller } Ins(Word)
          | DigitDashes | DigitDashes {,} Ins(Nums) | Ins(NUM) | Ee {tt} | Ee {tt knappt}
          | Ee {tt halvt} | Ee {tt och ett halvt} | Ee {tt par} | Ss {å många}
          | {per} | Ff {lera} | Ss {amma} | Ff {ler} | Nn {ågot} | Vv {arje}
          | Uu {pp till } Ins(Word) | Hh {alva} | {sitt andra} | Ee {tt extra}
          | Ee {tt fåtal} | Ll {ängre än något} | Ee {tt helt} | {symtomfria}]
       { dygn}
       ({s timmar} | { framåt} | { senare} | { tidigare} | { dessförinnan}
         | { tillbaka}) ] ;
Define TimexTmeDat120 [ TimexTmeDat120a   EndTag(TimexTmeDat) ] ; 131

!R [Uu]nder" "(dagar" , "veckor|årets" "[^\t\n\< ]+)" "[^\n\t ]+" månader"
!A {printTME(yytext,0);}

Define TimexTmeDat121a
     [ Uu {nder } [{dagar , veckor} | {årets } Ins(Word)] { } Ins(Word) { månader} ] ;
Define TimexTmeDat121 [ TimexTmeDat121a   EndTag(TimexTmeDat) ] ; 132

!R ([SsRr]edan" "[Tt]idigare" "|[Ss]enare" "|[Tt]idigt" ")?([Vv]"id halv "[a-zåäö]+" i"|[Ff]"rån "[1-9]" på"|[Tt]"ill "[1-9]" på"|[Mm]"ellan "[^\n\t ]+" och "[^\n\t ]+" på"|"till sent på"|[Uu]"nder en"|[Uu]"nder hela"|[Vv]arje|[Pp]å|[Uu]nder|[Ii]|En|mot|[Hh]ela|[Nn]ästa|[Ff]örra|[Dd]"e närmaste"|[Dd]"e "{NUM}" sista"|"fram till"|[Ee]"n varm"|[^\n ]+"tiden i")" "("går natt"|långfredag|{DAY}dag|{DAY}dagskvällar|{DAY}dagsmorgarna|{DAY}dagsmorse|{MNH}kväll|dag|dagtid|midnatt|natt|kväll|försommarkväll|påskhelgen|helg|helger|morgon|"morgon bitti"|"morgon \( "{DAY}dag" \)"|nätter|[^\n\t ]*nätterna)(en|ar|arna)?(" och "[^\n\t ]+dagen|" och "[^\n\t ]+natten|" eftermiddag"|" morgon")?(" svensk tid"|" lokal tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat122a
     [ (["S"|"s"|"R"|"r"] {edan } Tt {idigare } | Ss {enare } | Tt {idigt })
       [Vv {id halv } Ins(LowerWord) { i} | Ff {rån } Num19 { på}
          | Tt {ill } Num19 { på} | Mm {ellan } Ins(Word) { och } Ins(Word) { på}
          | {till sent på} | Uu {nder en} | Uu {nder hela} | Vv {arje} | Pp {å}
          | Uu {nder} | Ii | {En} | {mot} | Hh {ela} | Nn {ästa} | Ff {örra}
          | Dd {e närmaste} | Dd {e } Ins(NUM) { sista} | {fram till} | Ee {n varm}
          | Word {tiden i}]
       { }
       [{går natt} | {långfredag} | Ins(DAYdag) | Ins(DAYdag) {skvällar}
          | Ins(DAYdag) {smorgarna} | Ins(DAYdag) {smorse} | Ins(MNH) {kväll} | {dag}
          | {dagtid} | {midnatt} | {natt} | {kväll} | {försommarkväll}
          | {påskhelgen} | {helg} | {helger} | {morgon} | {morgon bitti}
          | {morgon ( } Ins(DAYdag) { )} | {nätter} | NS* {nätterna}]
       ({en} | {ar} | {arna})
       ({ och } Word {dagen} | { och } Word {natten} | { eftermiddag}
         | { morgon})
       ({ svensk tid} | { lokal tid}) ] ;
Define TimexTmeDat122 [ TimexTmeDat122a   EndTag(TimexTmeDat) ] ; 133

!R ([Ee]fter" "|[Ff]öre" "|[Vv]id" ")?[Hh]"alv "[^\n\t ]+" på "(kväll|dag|middag|natt|morgon)en
!A {printTME(yytext,0);}

Define TimexTmeDat123a
     [ (Ee {fter } | Ff {öre } | Vv {id }) Hh {alv } Ins(Word) { på }
       [{kväll} | {dag} | {middag} | {natt} | {morgon}] {en} ] ;
Define TimexTmeDat123 [ TimexTmeDat123a   EndTag(TimexTmeDat) ] ; 134

!R ([Ss]trax" ")?([Ff]"öre och efter"|[Ii]nnan|[Ff]öre|[Ee]fter|[Vv]id|[Kk]ring|[Rr]unt|"förrän i")" "(jul" "[12][0-9][0-9][0-9]|jul|midnatt)
!A {printTME(yytext,0);}

Define TimexTmeDat124a
     [ (Ss {trax })
       [Ff {öre och efter} | Ii {nnan} | Ff {öre} | Ee {fter} | Vv {id}
          | Kk {ring} | Rr {unt} | {förrän i}]
       { } [{jul } Ins(YearNum) | {jul} | {midnatt}] ] ;
Define TimexTmeDat124 [ TimexTmeDat124a   EndTag(TimexTmeDat) ] ; 135

!R ([Ss]å" sent som"|[Ff]ram" till")" i "{DAY}dags
!A {printTME(yytext,0);}

Define TimexTmeDat125a
     [ [Ss {å sent som} | Ff {ram till}] { i } Ins(DAYdag) {s} ] ;
Define TimexTmeDat125 [ TimexTmeDat125a   EndTag(TimexTmeDat) ] ; 136

!R ([SRsr]edan" "|[Ss]ent" "|[Ss]enast" ")?[Ii]" "(mellandagarna|dagarna|{DAY}dags|eftermiddag|eftermiddagen)
!A {printTME(yytext,0);}

Define TimexTmeDat126a
     [ (["S"|"R"|"s"|"r"] {edan } | Ss {ent } | Ss {enast }) Ii { }
       [{mellandagarna} | {dagarna} | Ins(DAYdag) {s} | {eftermiddag}
          | {eftermiddagen}] ] ;
Define TimexTmeDat126 [ TimexTmeDat126a   EndTag(TimexTmeDat) ] ; 137

!R ([Ff]örrän" "till|[Pp]å" "julaftons|[Ff]rån" morgon till "sen|[Dd]en" här "sena|[Ii]" den "tidiga|[Ff]örrän" vid "[^\n ]+tiden" "på|[Hh]ela)" "[^\n\t ]*(efter|för)middag(ar|arna|en)
!A {printTME(yytext,0);}

Define TimexTmeDat127a
     [Ff {örrän till} | Pp {å julaftons} | Ff {rån morgon till sen}
        | Dd {en här sena} | Ii { den tidiga}
        | Ff {örrän vid } Word {tiden på} | Hh {ela}]
     { } NS* [{efter} | {för}] {middag} [{ar} | {arna} | {en}] ;
Define TimexTmeDat127 [ TimexTmeDat127a   EndTag(TimexTmeDat) ] ; 138

!R ([Mm]ot" slutet"|[Ii]" början")" av "[^\n\t ]*dagen
!A {printTME(yytext,0);}

Define TimexTmeDat128a
     [ [Mm {ot slutet} | Ii { början}] { av } NS* {dagen} ] ;
Define TimexTmeDat128 [ TimexTmeDat128a   EndTag(TimexTmeDat) ] ; 139

!R ([Hh]ittills" "|[Tt]"idigare "|[SRsr]"edan "|[Bb]"ara "|[Ff]"örst "|[Ff]"ortfarande "|[Nn]u" "|ännu" ")?(i" "kväll|i" "natt|i" "morse|i" "dag)(" svensk tid"|" \, "{DAY}dag)?
!A {printTME(yytext,0);}

Define TimexTmeDat129a
     [ (Hh {ittills } | Tt {idigare } | ["S"|"R"|"s"|"r"] {edan } | Bb {ara }
         | Ff {örst } | Ff {ortfarande } | Nn {u } | {ännu })
       [{i kväll} | {i natt} | {i morse} | {i dag}]
       ({ svensk tid} | { , } Ins(DAYdag)) ] ;
Define TimexTmeDat129 [ TimexTmeDat129a   EndTag(TimexTmeDat) ] ; 140

!R ([Dd]e" första ")?[1-9][0-9]+" "dagar(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat130a [ (Dd {e första }) Num19 Ins(Nums) { dagar} ({na}) ] ;
Define TimexTmeDat130 [ TimexTmeDat130a   EndTag(TimexTmeDat) ] ; 141

!R [0-9]+" jämfört med "[0-9]+" "dagar
!A {printTME(yytext,0);}

Define TimexTmeDat131a [ Ins(Nums) { jämfört med } Ins(Nums) { dagar} ] ;
Define TimexTmeDat131 [ TimexTmeDat131a   EndTag(TimexTmeDat) ] ; 142

!R [Ff]ör" bara några "[^\n\t ]+" sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat132a [ Ff {ör bara några } Ins(Word) { sedan} ] ;
Define TimexTmeDat132 [ TimexTmeDat132a   EndTag(TimexTmeDat) ] ; 143

!R [Ff]ör" "[^\n\t ]+" "[^\n\t ]+" dagar sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat133a [ Ff {ör } Ins(Word) { } Ins(Word) { dagar sedan} ] ;
Define TimexTmeDat133 [ TimexTmeDat133a   EndTag(TimexTmeDat) ] ; 144

!R ([Ss]enast|[Ff]ör)" "[^\n\t ]+" dagar "(sen|sedan)
!A {printTME(yytext,0);}

Define TimexTmeDat134a
     [Ss {enast} | Ff {ör}] { } Ins(Word) { dagar } [{sen} | {sedan}] ;
Define TimexTmeDat134 [ TimexTmeDat134a   EndTag(TimexTmeDat) ] ; 145

!R ([^\n\t ]+"dag morgon svensk"|[0-2][0-9]" "svensk)" tid"
!A {printTME(yytext,0);}

Define TimexTmeDat135a
     [ [Word {dag morgon svensk} | Num02X { svensk}] { tid} ] ;
Define TimexTmeDat135 [ TimexTmeDat135a   EndTag(TimexTmeDat) ] ; 146

!R [Ss]ista" dagen"
!A {printTME(yytext,0);}

Define TimexTmeDat136a [ Ss {ista dagen} ] ;
Define TimexTmeDat136 [ TimexTmeDat136a   EndTag(TimexTmeDat) ] ; 147

!R ([Rr]edan" "|[Ss]enare" "|[Tt]"idigare ")?([Ii]|[Ii]\_|[Ii]" "|[Ss]amma" "|[Ee]fter" en ")(morgon|[Dd][Aa][Gg])(" "{DAY}dag)?
!A {printTME(yytext,0);}

Define TimexTmeDat137a
     [ (Rr {edan } | Ss {enare } | Tt {idigare })
       [Ii | Ii {_} | Ii { } | Ss {amma } | Ee {fter en }]
       [{morgon} | Dd Aa Gg] ({ } Ins(DAYdag)) ] ;
Define TimexTmeDat137 [ TimexTmeDat137a   EndTag(TimexTmeDat) ] ; 148

!R {DAY}dag" "[0-9][0-9]([01][0-9][0-3][0-9]|\.[0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat138a
     [ Ins(DAYdag) { } Ins(Nums2) [Num01X Num03 Num | {.} Ins(Nums2)] ] ;
Define TimexTmeDat138 [ TimexTmeDat138a   EndTag(TimexTmeDat) ] ; 149

!R ([Hh]ittills" "|[Tt]"idigare "|[Tt]"idigt "|[RSrs]"edan "|[Bb]"ara "|[Ff]"örst "|[Ss]"ent "|[Ss]"enast "|[Ss]"enast nu ")?[Ii](går|går" "{DAY}dag|dag|morse|natt|kväll)
!A {printTME(yytext,0);}

Define TimexTmeDat139a
     [ (Hh {ittills } | Tt {idigare } | Tt {idigt }
         | ["R"|"S"|"r"|"s"] {edan } | Bb {ara } | Ff {örst } | Ss {ent }
         | Ss {enast } | Ss {enast nu })
       Ii [{går} | {går } Ins(DAYdag) | {dag} | {morse} | {natt} | {kväll}] ] ;
Define TimexTmeDat139 [ TimexTmeDat139a   EndTag(TimexTmeDat) ] ; 150

!R ([Dd]essa|[Vv]issa|[Aa]lla|ngr|[Uu]nder" årets alla")" "dagar(" och "nätter)?
!A {printTME(yytext,0);}

Define TimexTmeDat140a
     [ [Dd {essa} | Vv {issa} | Aa {lla} | {ngr} | Uu {nder årets alla}]
       { dagar} ({ och nätter}) ] ;
Define TimexTmeDat140 [ TimexTmeDat140a   EndTag(TimexTmeDat) ] ; 151

!R En" "[^\n\t ]+" "(kväll|dagar)
!A {printTME(yytext,0);}

Define TimexTmeDat141a [ {En } Ins(Word) { } [{kväll} | {dagar}] ] ;
Define TimexTmeDat141 [ TimexTmeDat141a   EndTag(TimexTmeDat) ] ; 152

!R [Mm]ellan" ett och "[^\n\<\> ]+" "dygn
!A {printTME(yytext,0);}

Define TimexTmeDat142a [ Mm {ellan ett och } Ins(Word) { dygn} ] ;
Define TimexTmeDat142 [ TimexTmeDat142a   EndTag(TimexTmeDat) ] ; 153

!R ([Uu]nder" "|[Ii]nom" "|[Rr]edan" ")?([Dd]"et sista"|[Dd]e[nt]" närmaste"|[Dd]e[nt]" senaste"|[Ff]"rån första"|[Dd]e[nt]" första"|[Oo]m|[Ff]rån|[Hh]ela|[Uu]nder|[Pp]å|[Ff]rån" och med "[^\n\t ]+|[Tt]ill" och med "[^\n\t ]+|[Rr]"edan första"|[Dd]et" "följande|[Dd]et" "föregående|[Ff]örsta|[Aa]ndra|"det första postoperativa"|"det första"|"viss del av"|[Ss]enaste|[Dd]e" "första)" "([a-zåäö0-9\-\/]*dygnet|dagen)("s mörka timmar")?
!A {printTME(yytext,0);}

Define TimexTmeDat143a
     [ (Uu {nder } | Ii {nom } | Rr {edan })
       [Dd {et sista} | Dd {e} ["n"|"t"] { närmaste}
          | Dd {e} ["n"|"t"] { senaste} | Ff {rån första}
          | Dd {e} ["n"|"t"] { första} | Oo {m} | Ff {rån} | Hh {ela}
          | Uu {nder} | Pp {å} | Ff {rån och med } Ins(Word) | Tt {ill och med } Ins(Word)
          | Rr {edan första} | Dd {et följande} | Dd {et föregående}
          | Ff {örsta} | Aa {ndra} | {det första postoperativa} | {det första}
          | {viss del av} | Ss {enaste} | Dd {e första}]
       { } [[LowercaseAlpha|Num|"-"|"/"]* {dygnet} | {dagen}]
       ({s mörka timmar}) ] ;
Define TimexTmeDat143 [ TimexTmeDat143a   EndTag(TimexTmeDat) ] ; 154

!R ([Ii]nom|[Uu]nder|[Ee]fter|[Ff]rån|[Pp]å)" "[^\n\t ]+" dygn"(et)?
!A {printTME(yytext,0);}

Define TimexTmeDat144a
     [ [Ii {nom} | Uu {nder} | Ee {fter} | Ff {rån} | Pp {å}] { } Ins(Word) { dygn}
       ({et}) ] ;
Define TimexTmeDat144 [ TimexTmeDat144a   EndTag(TimexTmeDat) ] ; 155

!R [Uu]"nder "[^\n\t ]+" "{DAY}dagar
!A {printTME(yytext,0);}

Define TimexTmeDat145a [ Uu {nder } Ins(Word) { } Ins(DAYdag) {ar} ] ;
Define TimexTmeDat145 [ TimexTmeDat145a   EndTag(TimexTmeDat) ] ; 156

!R [Ff]"ör "[^\n\t ]+e" "dagen
!A {printTME(yytext,0);}

Define TimexTmeDat146a [ Ff {ör } Word {e dagen} ] ;
Define TimexTmeDat146 [ TimexTmeDat146a   EndTag(TimexTmeDat) ] ; 157

!R [Vv]eckan" "[^\n\t ]+" midsommar"
!A {printTME(yytext,0);}

Define TimexTmeDat147a [ Vv {eckan } Ins(Word) { midsommar} ] ;
Define TimexTmeDat147 [ TimexTmeDat147a   EndTag(TimexTmeDat) ] ; 158

!R {DAY}dag" "(och|till)" "{DAY}dag(" kl "[0-9\-]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat148a
     [ Ins(DAYdag) { } [{och} | {till}] { } Ins(DAYdag) ({ kl } DigitDashes) ] ;
Define TimexTmeDat148 [ TimexTmeDat148a   EndTag(TimexTmeDat) ] ; 159

!R ([Dd]en" här"|[Ss]edan|[Ss]törre" delen "av)" "{DAY}dagen
!A {printTME(yytext,0);}

Define TimexTmeDat149a
     [ [Dd {en här} | Ss {edan} | Ss {törre delen av}] { } Ins(DAYdag) {en} ] ;
Define TimexTmeDat149 [ TimexTmeDat149a   EndTag(TimexTmeDat) ] ; 160

!R ([Ss]enast" ")?{DAY}dagen" den "[^\n\t ]+" "{MNH}(" "[12][\-0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat150a
     [ (Ss {enast }) Ins(DAYdag) {en den } Ins(Word) { } Ins(MNH) ({ } Num12DigitDashes) ] ;
Define TimexTmeDat150 [ TimexTmeDat150a   EndTag(TimexTmeDat) ] ; 161

!R ([Pp]åföljande|[Nn]ästföljande|[Jj]"ust den"|på" "en|[Ff]öljande)" "(dag|{DAY}dag)
!A {printTME(yytext,0);}

Define TimexTmeDat151a
     [Pp {åföljande} | Nn {ästföljande} | Jj {ust den} | {på en}
        | Ff {öljande}]
     { } [{dag} | Ins(DAYdag)] ;
Define TimexTmeDat151 [ TimexTmeDat151a   EndTag(TimexTmeDat) ] ; 162

!R {DAY}dag(en)" den "[1-9][0-9]?" "({MNH}|okt|jan|feb|apr|aug|sep|nov|dec)\.
!A {printTME(yytext,0);}

Define TimexTmeDat152a
     [ Ins(DAYdag) {en den } Num19x { }
       [Ins(MNH) | {okt} | {jan} | {feb} | {apr} | {aug} | {sep} | {nov} | {dec}]
       {.} ] ;
Define TimexTmeDat152 [ TimexTmeDat152a   EndTag(TimexTmeDat) ] ; 163

!R {DAY}dag(en)?" den "[1-9][0-9]?" "({MNH}|okt|jan|feb|apr|aug|sep|nov|dec)" "
!A {int i=0; 	printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">");	for(;i<yyleng-1;putchar(yytext[i++])); printf("</TIMEX> ");}

Define TimexTmeDat153a
     [ Ins(DAYdag) ({en}) { den } Num19x { }
       [Ins(MNH) | {okt} | {jan} | {feb} | {apr} | {aug} | {sep} | {nov} | {dec}] ] ;
Define TimexTmeDat153 [ TimexTmeDat153a   RC({ })   EndTag(TimexTmeDat) ] ; 164

!R {DAY}dagen" den "[1-9][0-9]?\/[1-9][012]?
!A {printTME(yytext,0);}

Define TimexTmeDat154a [ Ins(DAYdag) {en den } Num19x {/} Num19 (Num02) ] ;
Define TimexTmeDat154 [ TimexTmeDat154a   EndTag(TimexTmeDat) ] ; 165

!R {DAY}dag" "(natt|morgon|kväll|dag)(" svensk tid"|" lokal tid")?
!A {printTME(yytext,0);}

Define TimexTmeDat155a
     [ Ins(DAYdag) { } [{natt} | {morgon} | {kväll} | {dag}]
       ({ svensk tid} | { lokal tid}) ] ;
Define TimexTmeDat155 [ TimexTmeDat155a   EndTag(TimexTmeDat) ] ; 166

!R [^\n\t ]+" över "[^\n\t ]+" "(svensk|lokal)" "tid
!A {printTME(yytext,0);}

Define TimexTmeDat156a
     [ Ins(Word) { över } Ins(Word) { } [{svensk} | {lokal}] { tid} ] ;
Define TimexTmeDat156 [ TimexTmeDat156a   EndTag(TimexTmeDat) ] ; 167

!R (tillbringat|inledde)" "({DAY}dag|{DAY}dags)?(natten|morgonen|kvällen|dagen)
!A {printTME(yytext,1);}

Define TimexTmeDat157a
     [ (Ins(DAYdag) | Ins(DAYdag) {s}) [{natten} | {morgonen} | {kvällen} | {dagen}] ] ;
Define TimexTmeDat157
     [ TimexTmeDat157a
       LC([{tillbringat} | {inledde}] { })
       EndTag(TimexTmeDat) ] ; 168

!R [Rr]edan" första "{DAY}dag(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat158a [ Rr {edan första } Ins(DAYdag) ({en}) ] ;
Define TimexTmeDat158 [ TimexTmeDat158a   EndTag(TimexTmeDat) ] ; 169

!R " en "(helgdag|{DAY}dag|{MNH}kväll|dag|natt|[^\n\t ]*kväll|morgon)
!A {int i=1; printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">");	for(;i<yyleng;putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat159a
     [ {en }
       [{helgdag} | Ins(DAYdag) | Ins(MNH) {kväll} | {dag} | {natt} | NS* {kväll}
          | {morgon}] ] ;
Define TimexTmeDat159 [ TimexTmeDat159a   LC({ })   EndTag(TimexTmeDat) ] ; 170

!R Det" var en"(" "[^\n\t ]+)?" tidig morgon"
!A {printTME(yytext,2);}

Define TimexTmeDat160a [ {en} ({ } Word) { tidig morgon} ] ;
Define TimexTmeDat160
     [ TimexTmeDat160a
       LC({Det var })
       EndTag(TimexTmeDat) ] ; 171

!R {DAY}dag\-{DAY}dag
!A {printTME(yytext,0);}

Define TimexTmeDat161a [ Ins(DAYdag) {-} Ins(DAYdag) ] ;
Define TimexTmeDat161 [ TimexTmeDat161a   EndTag(TimexTmeDat) ] ; 172

!R Må\-(fre|to|lö|sö)
!A {printTME(yytext,0);}

Define TimexTmeDat162a [ {Må-} [{fre} | {to} | {lö} | {sö}] ] ;
Define TimexTmeDat162 [ TimexTmeDat162a   EndTag(TimexTmeDat) ] ; 173

!R ([Uu]nder" ")?{DAY}dag" \, "{DAY}dag" och "{DAY}dag
!A {printTME(yytext,0);}

Define TimexTmeDat163a
     [ (Uu {nder }) Ins(DAYdag) { , } Ins(DAYdag) { och } Ins(DAYdag) ] ;
Define TimexTmeDat163 [ TimexTmeDat163a   EndTag(TimexTmeDat) ] ; 174

!R ([Uu]nder|[Mm]"ellan "|[Nn]"atten mellan ")?{DAY}dagen" och "{DAY}dagen
!A {printTME(yytext,0);}

Define TimexTmeDat164a
     [ (Uu {nder} | Mm {ellan } | Nn {atten mellan }) Ins(DAYdag) {en och } Ins(DAYdag)
       {en} ] ;
Define TimexTmeDat164 [ TimexTmeDat164a   EndTag(TimexTmeDat) ] ; 175

!R ([Uu]nder|[Mm]"ellan "|[Nn]"atten mellan ")?{DAY}dag" och "{DAY}dag
!A {printTME(yytext,0);}

Define TimexTmeDat165a
     [ (Uu {nder} | Mm {ellan } | Nn {atten mellan }) Ins(DAYdag) { och } Ins(DAYdag) ] ;
Define TimexTmeDat165 [ TimexTmeDat165a   EndTag(TimexTmeDat) ] ; 176

!R [Ee]n" sen "[^\n\t ]*(kväll|eftermiddag)
!A {printTME(yytext,0);}

Define TimexTmeDat166a [ Ee {n sen } NS* [{kväll} | {eftermiddag}] ] ;
Define TimexTmeDat166 [ TimexTmeDat166a   EndTag(TimexTmeDat) ] ; 177

!R [Ee]n" "[^\n\t ]*(kväll|eftermiddag)
!A {printTME(yytext,0);}

Define TimexTmeDat167a [ Ee {n } NS* [{kväll} | {eftermiddag}] ] ;
Define TimexTmeDat167 [ TimexTmeDat167a   EndTag(TimexTmeDat) ] ; 178

!R ({DAY}|går)dags(kväll|natt|morgon|förmiddag|eftermiddag)(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat168a
     [ [Ins(DAY) | {går}] {dags}
       [{kväll} | {natt} | {morgon} | {förmiddag} | {eftermiddag}] ({en}) ] ;
Define TimexTmeDat168 [ TimexTmeDat168a   EndTag(TimexTmeDat) ] ; 179

!R ^{DAY}dagen
!A {printTME(yytext,0);}

Define TimexTmeDat169a [ # Ins(DAYdag) {en} ] ;
Define TimexTmeDat169 [ TimexTmeDat169a   EndTag(TimexTmeDat) ] ; 180

!R (En|[Dd]enna)" "[a-zåäö]+" "(sommar|{MNH})(kväll|dag)
!A {printTME(yytext,0);}

Define TimexTmeDat170a
     [{En} | Dd {enna}] { } Ins(LowerWord) { } [{sommar} | Ins(MNH)] [{kväll} | {dag}] ;
Define TimexTmeDat170 [ TimexTmeDat170a   EndTag(TimexTmeDat) ] ; 181

!R [0-9]+dgr
!A {printTME(yytext,0);}

Define TimexTmeDat171a [ Ins(Nums) {dgr} ] ;
Define TimexTmeDat171 [ TimexTmeDat171a   EndTag(TimexTmeDat) ] ; 182

!R (c\:a" "[0-9]+\-|[0-9]+" \- "|ca" "[0-9]+\-|[0-9]+" \- ")?[0-9]+" dgr"
!A {printTME(yytext,0);}

Define TimexTmeDat172a
     [ ({c:a } Ins(Nums) {-} | Ins(Nums) { - } | {ca } Ins(Nums) {-}) Ins(Nums) { dgr} ] ;
Define TimexTmeDat172 [ TimexTmeDat172a   EndTag(TimexTmeDat) ] ; 183

!R [Dd]enna" "{MNH}dag
!A {printTME(yytext,0);}

Define TimexTmeDat173a [ Dd {enna } Ins(MNH) {dag} ] ;
Define TimexTmeDat173 [ TimexTmeDat173a   EndTag(TimexTmeDat) ] ; 184

!R [0-9]+" "(nätter|jorddagar)
!A {printTME(yytext,0);}

Define TimexTmeDat174a [ Ins(Nums) { } [{nätter} | {jorddagar}] ] ;
Define TimexTmeDat174 [ TimexTmeDat174a   EndTag(TimexTmeDat) ] ; 185

!R {DAY}dagar(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat175a [ Ins(DAYdag) {ar} ({na}) ] ;
Define TimexTmeDat175 [ TimexTmeDat175a   EndTag(TimexTmeDat) ] ; 186

!R (vardagar|helger)" "([Kk]l\.|kl)" "[0-9\-]+(\.[0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat176a
     [ [{vardagar} | {helger}] { } [Kk {l.} | {kl}] { } DigitDashes ({.} Ins(Nums)) ] ;
Define TimexTmeDat176 [ TimexTmeDat176a   EndTag(TimexTmeDat) ] ; 187

!R ([Pp]å|[Uu]nder|[Tt]ill)" "helger(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat177a
     [ [Pp {å} | Uu {nder} | Tt {ill}] { helger} ({na}) ] ;
Define TimexTmeDat177 [ TimexTmeDat177a   EndTag(TimexTmeDat) ] ; 188

!R Dagen" före hade"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Dagen före</TIMEX> hade");}

Define TimexTmeDat178
     [ {Dagen före}
       RC({ hade})
       EndTag(TimexTmeDat) ] ; 189

!R ([Ff]rån|till|[Jj]ust|[Uu]nder)" den dagen"
!A {printTME(yytext,0);}

Define TimexTmeDat179a
     [ [Ff {rån} | {till} | Jj {ust} | Uu {nder}] { den dagen} ] ;
Define TimexTmeDat179 [ TimexTmeDat179a   EndTag(TimexTmeDat) ] ; 190

!R Dagen" före "[A-Z]
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Dagen före</TIMEX> "); putchar(yytext[yyleng-1]);}

Define TimexTmeDat180 [ {Dagen före}   RC({ } AZ)   EndTag(TimexTmeDat) ] ; 191

!R "på till "{DAY}dag
!A {printTME(yytext,1);}

Define TimexTmeDat181a [ {till } Ins(DAYdag) ] ;
Define TimexTmeDat181
     [ TimexTmeDat181a
       LC({på })
       EndTag(TimexTmeDat) ] ; 192

!R Det" "(är|var)" "{DAY}dag(" "[^\n\t ]*middag)?
!A {printTME(yytext,2);}

Define TimexTmeDat182a [ Ins(DAYdag) ({ } NS* {middag}) ] ;
Define TimexTmeDat182
     [ TimexTmeDat182a
       LC({Det } [{är} | {var}] { })
       EndTag(TimexTmeDat) ] ; 193

!R Natten(" till "[0-9][0-9]\.[0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat183a [ {Natten till } Ins(Nums2DotNums2) ] ;
Define TimexTmeDat183 [ TimexTmeDat183a   EndTag(TimexTmeDat) ] ; 194

!R ([Pp]å|[Uu]nder|[Ss]törsta" delen "av|[Dd]elen" "av|[Hh]alva|[Hh]alfva|över|[Ff]örsta|Om|[Öö]fver)" "(efternatt|dag|natt)en
!A {printTME(yytext,0);}

Define TimexTmeDat184a
     [ [Pp {å} | Uu {nder} | Ss {törsta delen av} | Dd {elen av} | Hh {alva}
          | Hh {alfva} | {över} | Ff {örsta} | {Om} | ["Ö"|"ö"] {fver}]
       { } [{efternatt} | {dag} | {natt}] {en} ] ;
Define TimexTmeDat184 [ TimexTmeDat184a   EndTag(TimexTmeDat) ] ; 195

!R [Ii]"morgon em "[1-9][0-9]?\/[1-9][0-9]?
!A {printTME(yytext,0);}

Define TimexTmeDat185a [ Ii {morgon em } Num19x {/} Num19x ] ;
Define TimexTmeDat185 [ TimexTmeDat185a   EndTag(TimexTmeDat) ] ; 196

!R " om dan "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">om dan</TIMEX> ");}

Define TimexTmeDat186
     [ {om dan}
       LC({ })
       RC({ })
       EndTag(TimexTmeDat) ] ; 197

!R "dagen efter då"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">dagen efter</TIMEX> då");}

Define TimexTmeDat187 [ {dagen efter}   RC({ då})   EndTag(TimexTmeDat) ] ; 198

!R [Tt]"ill midnatt"
!A {printTME(yytext,0);}

Define TimexTmeDat188a [ Tt {ill midnatt} ] ;
Define TimexTmeDat188 [ TimexTmeDat188a   EndTag(TimexTmeDat) ] ; 199

!R " stället för "{DAY}dag
!A {printTME(yytext,2);}

Define TimexTmeDat189a [ {för } Ins(DAYdag) ] ;
Define TimexTmeDat189
     [ TimexTmeDat189a
       LC({ stället })
       EndTag(TimexTmeDat) ] ; 200

!R [0-9]"\,"[0-9]" dagar"
!A {printTME(yytext,0);}

Define TimexTmeDat190a [ Num {,} Num { dagar} ] ;
Define TimexTmeDat190 [ TimexTmeDat190a   EndTag(TimexTmeDat) ] ; 201

!R [Ee]"fter "[^\n\t ]+" intensiva dagar"
!A {printTME(yytext,0);}

Define TimexTmeDat191a [ Ee {fter } Ins(Word) { intensiva dagar} ] ;
Define TimexTmeDat191 [ TimexTmeDat191a   EndTag(TimexTmeDat) ] ; 202

!R ([Bb]"åde ")?[Ff]örmiddag" och "("en ")?[^\n\t ]*(eftermiddag|kväll|tid)
!A {printTME(yytext,0);}

Define TimexTmeDat192a
     [ (Bb {åde }) Ff {örmiddag och } ({en }) NS*
       [{eftermiddag} | {kväll} | {tid}] ] ;
Define TimexTmeDat192 [ TimexTmeDat192a   EndTag(TimexTmeDat) ] ; 203

!R ([Ii]" "|[Uu]nder" "|[Ff]ramåt" "|[Dd]enna" "|[Nn]ästa" "|[Ff]öljande" ")(efter|för)middag(en|s|arna)?
!A {printTME(yytext,0);}

Define TimexTmeDat193a
     [ [Ii { } | Uu {nder } | Ff {ramåt } | Dd {enna } | Nn {ästa }
          | Ff {öljande }]
       [{efter} | {för}] {middag} ({en} | {s} | {arna}) ] ;
Define TimexTmeDat193 [ TimexTmeDat193a   EndTag(TimexTmeDat) ] ; 204

!R [Ee]"n "(lång" "|tidig" "|hel" ")?(efter|för)middag
!A {printTME(yytext,0);}

Define TimexTmeDat194a
     [ Ee {n } ({lång } | {tidig } | {hel }) [{efter} | {för}] {middag} ] ;
Define TimexTmeDat194 [ TimexTmeDat194a   EndTag(TimexTmeDat) ] ; 205

!R "Redan dagen efter"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Redan dagen</TIMEX> efter");}

Define TimexTmeDat195
     [ {Redan dagen}
       RC({ efter})
       EndTag(TimexTmeDat) ] ; 206

!R [Ff]"rån och med "{DAY}dagen
!A {printTME(yytext,0);}

Define TimexTmeDat196a [ Ff {rån och med } Ins(DAYdag) {en} ] ;
Define TimexTmeDat196 [ TimexTmeDat196a   EndTag(TimexTmeDat) ] ; 207

!R [Dd]ag" "[1-9]" och dag "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat197a [ Dd {ag } Num19 { och dag } Ins(Nums) ] ;
Define TimexTmeDat197 [ TimexTmeDat197a   EndTag(TimexTmeDat) ] ; 208

!R " med dygnet \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">med dygnet</TIMEX> .");}

Define TimexTmeDat198
     [ {med dygnet}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 209

!R Dag" "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat199a [ {Dag } Ins(Nums) ] ;
Define TimexTmeDat199 [ TimexTmeDat199a   EndTag(TimexTmeDat) ] ; 210

!R "\( "[0-9]+" dagar\-"[0-9]+" månader \)"
!A {printTME(yytext,0);}

Define TimexTmeDat200a [ {( } Ins(Nums) { dagar-} Ins(Nums) { månader )} ] ;
Define TimexTmeDat200 [ TimexTmeDat200a   EndTag(TimexTmeDat) ] ; 211

!R "\( 1 dag\-"[0-9]+" månader \)"
!A {printTME(yytext,0);}

Define TimexTmeDat201a [ {( 1 dag-} Ins(Nums) { månader )} ] ;
Define TimexTmeDat201 [ TimexTmeDat201a   EndTag(TimexTmeDat) ] ; 212

!R "tors "[12][0-9]\/[1-9]
!A {printTME(yytext,0);}

Define TimexTmeDat202a [ {tors } Num12X {/} Num19 ] ;
Define TimexTmeDat202 [ TimexTmeDat202a   EndTag(TimexTmeDat) ] ; 213

!R " den dagen \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">den dagen</TIMEX> .");}

Define TimexTmeDat203
     [ {den dagen}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 214

!R [SsRr]edan" dag "[1-9]
!A {printTME(yytext,0);}

Define TimexTmeDat204a [ ["S"|"s"|"R"|"r"] {edan dag } Num19 ] ;
Define TimexTmeDat204 [ TimexTmeDat204a   EndTag(TimexTmeDat) ] ; 215

!R [Uu]nder" dag "[1-9](\-[0-9]+|och" "[1-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat205a [ Uu {nder dag } Num19 ({-} Ins(Nums) | {och } Num19) ] ;
Define TimexTmeDat205 [ TimexTmeDat205a   EndTag(TimexTmeDat) ] ; 216

!R (var" "det|det" "var|det" "kanske|Är" "det|det" "är)" "dax
!A {printTME(yytext,2);}

Define TimexTmeDat206a [ {dax} ] ;
Define TimexTmeDat206
     [ TimexTmeDat206a
       LC([{var det} | {det var} | {det kanske} | {Är det} | {det är}] { })
       EndTag(TimexTmeDat) ] ; 217

!R [Tt]ill" "([qk]vällen|vardags)
!A {printTME(yytext,0);}

Define TimexTmeDat207a [ Tt {ill } [["q"|"k"] {vällen} | {vardags}] ] ;
Define TimexTmeDat207 [ TimexTmeDat207a   EndTag(TimexTmeDat) ] ; 218

!R ute" den kvällen"
!A {printTME(yytext,1);}

Define TimexTmeDat208a [ {den kvällen} ] ;
Define TimexTmeDat208
     [ TimexTmeDat208a
       LC({ute })
       EndTag(TimexTmeDat) ] ; 219

!R helst" om "kvällarna
!A {printTME(yytext,1);}

Define TimexTmeDat209a [ {om kvällarna} ] ;
Define TimexTmeDat209
     [ TimexTmeDat209a
       LC({helst })
       EndTag(TimexTmeDat) ] ; 220

!R [Pp]"å den "[a-zåäö]+a" "(morgonen|[qk]vällen)
!A {printTME(yytext,0);}

Define TimexTmeDat210a
     [ Pp {å den } Ins(LowerWord%_a) { } [{morgonen} | ["q"|"k"] {vällen}] ] ;
Define TimexTmeDat210 [ TimexTmeDat210a   EndTag(TimexTmeDat) ] ; 221

!R till" "{NUM}" på qvällen"
!A {printTME(yytext,0);}

Define TimexTmeDat211a [ {till } Ins(NUM) { på qvällen} ] ;
Define TimexTmeDat211 [ TimexTmeDat211a   EndTag(TimexTmeDat) ] ; 222

!R [Ee]n" "[^\n ]+dagsafton
!A {printTME(yytext,0);}

Define TimexTmeDat212a [ Ee {n } Word {dagsafton} ] ;
Define TimexTmeDat212 [ TimexTmeDat212a   EndTag(TimexTmeDat) ] ; 223

!R [Dd]om" "(sista|första)" "[0-9]+" "(dagarna|nätterna)
!A {printTME(yytext,0);}

Define TimexTmeDat213a
     [ Dd {om } [{sista} | {första}] { } Ins(Nums) { } [{dagarna} | {nätterna}] ] ;
Define TimexTmeDat213 [ TimexTmeDat213a   EndTag(TimexTmeDat) ] ; 224

!R [Ii]" den klara \, kalla "[^\n ]+dagen
!A {printTME(yytext,0);}

Define TimexTmeDat214a [ Ii { den klara , kalla } Word {dagen} ] ;
Define TimexTmeDat214 [ TimexTmeDat214a   EndTag(TimexTmeDat) ] ; 225

!R [Ee]n" "(bit" "in|{DAY}dagskväll)" i "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat215a [ Ee {n } [{bit in} | Ins(DAYdag) {skväll}] { i } Ins(MNH) ] ;
Define TimexTmeDat215 [ TimexTmeDat215a   EndTag(TimexTmeDat) ] ; 226

!R [Pp]å" den "[a-zåäö]+onde" dagen"
!A {printTME(yytext,0);}

Define TimexTmeDat216a [ Pp {å den } LowerWord {onde dagen} ] ;
Define TimexTmeDat216 [ TimexTmeDat216a   EndTag(TimexTmeDat) ] ; 227

!R [Ii]" en "[^\n ]+natt
!A {printTME(yytext,0);}

Define TimexTmeDat217a [ Ii { en } Word {natt} ] ;
Define TimexTmeDat217 [ TimexTmeDat217a   EndTag(TimexTmeDat) ] ; 228

!R [Uu]nder" de "[^\n ]+" "[a-zåäö]+" "dagarna
!A {printTME(yytext,0);}

Define TimexTmeDat218a [ Uu {nder de } Ins(Word) { } Ins(LowerWord) { dagarna} ] ;
Define TimexTmeDat218 [ TimexTmeDat218a   EndTag(TimexTmeDat) ] ; 229

!R [^\n ]+dag\-" och "[^\n ]+dagkvällar(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat219a [ Word {dag- och } Word {dagkvällar} ({na}) ] ;
Define TimexTmeDat219 [ TimexTmeDat219a   EndTag(TimexTmeDat) ] ; 230

!R [^\n ]+[Dd][Aa][Gg][Ss]" morgonen den "[0-9]+" "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat220a [ Word Dd Aa Gg Ss { morgonen den } Ins(Nums) { } Ins(MNH) ] ;
Define TimexTmeDat220 [ TimexTmeDat220a   EndTag(TimexTmeDat) ] ; 231

!R {DAY}dags" "afton
!A {printTME(yytext,0);}

Define TimexTmeDat221a [ Ins(DAYdag) {s afton} ] ;
Define TimexTmeDat221 [ TimexTmeDat221a   EndTag(TimexTmeDat) ] ; 232

!R [Nn]atten" "(mellan|emellan)" den "[1-9][0-9]?" och "[1-9][0-9]?(" "{MNH})?
!A {printTME(yytext,0);}

Define TimexTmeDat222a
     [ Nn {atten } [{mellan} | {emellan}] { den } Num19x { och } Num19x
       ({ } Ins(MNH)) ] ;
Define TimexTmeDat222 [ TimexTmeDat222a   EndTag(TimexTmeDat) ] ; 233

!R [Nn]atten" "(mellan|emellan)" "[1-9][0-9]?" och "[1-9][0-9]?(" "{MNH})?
!A {printTME(yytext,0);}

Define TimexTmeDat223a
     [ Nn {atten } [{mellan} | {emellan}] { } Num19x { och } Num19x ({ } Ins(MNH)) ] ;
Define TimexTmeDat223 [ TimexTmeDat223a   EndTag(TimexTmeDat) ] ; 234

!R [Mm]orgonen" "a[vf]" den "[a-zåäö]+a" "[1-9][0-9]?" "(Mars|{MNH})
!A {printTME(yytext,0);}

Define TimexTmeDat224a
     [ Mm {orgonen a} ["v"|"f"] { den } Ins(LowerWord%_a) { } Num19x { }
       [{Mars} | Ins(MNH)] ] ;
Define TimexTmeDat224 [ TimexTmeDat224a   EndTag(TimexTmeDat) ] ; 235

!R {NUM}" "korta" "dagarne
!A {printTME(yytext,0);}

Define TimexTmeDat225a [ Ins(NUM) { korta dagarne} ] ;
Define TimexTmeDat225 [ TimexTmeDat225a   EndTag(TimexTmeDat) ] ; 236

!R [Mm]ellan" nyårs\- och "[^\n ]+dagen
!A {printTME(yytext,0);}

Define TimexTmeDat226a [ Mm {ellan nyårs- och } Word {dagen} ] ;
Define TimexTmeDat226 [ TimexTmeDat226a   EndTag(TimexTmeDat) ] ; 237

!R [Uu]nder" en vår\- eller "[^\n ]+dag
!A {printTME(yytext,0);}

Define TimexTmeDat227a [ Uu {nder en vår- eller } Word {dag} ] ;
Define TimexTmeDat227 [ TimexTmeDat227a   EndTag(TimexTmeDat) ] ; 238

!R ([Tt]refaldighetssöndagen|[Ss]öndagarne|[Mm]idsommaraftnarne|[^\n\< ]+dagsmorgnarne)
!A {printTME(yytext,0);}

Define TimexTmeDat228a
     [ Tt {refaldighetssöndagen} | Ss {öndagarne} | Mm {idsommaraftnarne}
       | Word {dagsmorgnarne} ] ;
Define TimexTmeDat228 [ TimexTmeDat228a   EndTag(TimexTmeDat) ] ; 239

!R [Uu]nder" en av årets sista "[a-zåäö]+dagar
!A {printTME(yytext,0);}

Define TimexTmeDat229a [ Uu {nder en av årets sista } LowerWord {dagar} ] ;
Define TimexTmeDat229 [ TimexTmeDat229a   EndTag(TimexTmeDat) ] ; 240

!R [Jj]ämfört" med "undersökn(ingen|ing)?" "([1-9][0-9]?\/[0-9][0-9]?|[0-9]+|[1-9][0-9]?\/[0-9][0-9]?\-[0-9]+)
!A {printTME(yytext,3);}

Define TimexTmeDat230a
     [ Num19x {/} Ins(Nums12) | Ins(Nums) | Num19x {/} Ins(Nums12) {-} Ins(Nums) ] ;
Define TimexTmeDat230
     [ TimexTmeDat230a
       LC(Jj {ämfört med undersökn} ({ingen} | {ing}) { })
       EndTag(TimexTmeDat) ] ; 241

!R [Ee]n" "[a-zåäö]+dag" e m"
!A {printTME(yytext,0);}

Define TimexTmeDat231a [ Ee {n } LowerWord {dag e m} ] ;
Define TimexTmeDat231 [ TimexTmeDat231a   EndTag(TimexTmeDat) ] ; 242

!R första" "kvällen
!A {printTME(yytext,0);}

Define TimexTmeDat232a [ {första kvällen} ] ;
Define TimexTmeDat232 [ TimexTmeDat232a   EndTag(TimexTmeDat) ] ; 243

!R Kväll" "[012][0-9]\.[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat233a [ {Kväll } Ins(HhMm) ] ;
Define TimexTmeDat233 [ TimexTmeDat233a   EndTag(TimexTmeDat) ] ; 244

!#  VECKA 

!R ({DAY}en" i förra "|[Ss]enare" "|[Rr]edan" ")?([Uu]nder" ")?([Ii]" början av"|[Vv]id" slutet av"|[Ii]" slutet av"|[Ii]" mitten av nästa"|[Ss]å" sent som i förra"|[Ff]örsta|[Pp]å" "en|[Ii]" förra"|[Ii]" mitten av"|[Ii]" mitten"|[Ii]" nästa"|[Ff]örra|[Nn]ästa|[Uu]nder|[Uu]nder" någon"|[Ii]nom" någon"|[Vv]arje|[Ii]" slutet av förra"|[Ii]" början av"|[Dd]en" senaste"|[Dd]en" här"|[Ii]|[Dd]enna)(" "nästa)?" "(arbets)?vecka(n)?(" "[1-5][0-9]?)?
!A {printTME(yytext,0);}

Define TimexTmeDat234a
     [ (Ins(DAY) {en i förra } | Ss {enare } | Rr {edan }) (Uu {nder })
       [Ii { början av} | Vv {id slutet av} | Ii { slutet av}
          | Ii { mitten av nästa} | Ss {å sent som i förra} | Ff {örsta}
          | Pp {å en} | Ii { förra} | Ii { mitten av} | Ii { mitten}
          | Ii { nästa} | Ff {örra} | Nn {ästa} | Uu {nder} | Uu {nder någon}
          | Ii {nom någon} | Vv {arje} | Ii { slutet av förra} | Dd {en senaste}
          | Dd {en här} | Ii | Dd {enna}]
       ({ nästa}) { } ({arbets}) {vecka} ({n})
       ({ } ["1"|"2"|"3"|"4"|"5"] (Num)) ] ;
Define TimexTmeDat234 [ TimexTmeDat234a   EndTag(TimexTmeDat) ] ; 245

!R ([Uu]nder" "|[Ii]"nom "|[Ee]"fter "|[Ff]ör" "|[Pp]å" ")?[Dd]e" "(följande|närmaste|närmsta|[^\n\t ]+" "senaste|[^\n\t ]+" "sista|senaste|sista|[^\n\t ]+" "första|första)" "({NUM}" till "{NUM}" "|{NUM}" "|{NUM}"\-"{NUM}" "|{NUM}" \- "{NUM}" "|{NUM}\-{NUM}" "|[0-9]+" "|[0-9]+\.[0-9]+" "|{MNH}\-)?[^\n\t ]*(dagar|veckor|månader|kvällar|åren|dygnen|dagarne)(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat235a
     [ (Uu {nder } | Ii {nom } | Ee {fter } | Ff {ör } | Pp {å }) Dd {e }
       [{följande} | {närmaste} | {närmsta} | Ins(Word) { senaste}
          | Ins(Word) { sista} | {senaste} | {sista} | Ins(Word) { första} | {första}]
       { }
       (Ins(NUM) { till } Ins(NUM) { } | Ins(NUM) { } | Ins(NUM) {-} Ins(NUM) { } | Ins(NUM) { - } Ins(NUM) { }
         | Ins(Nums) { } | Ins(NumsDotNums) { } | Ins(MNH) {-})
       NS*
       [{dagar} | {veckor} | {månader} | {kvällar} | {åren} | {dygnen}
          | {dagarne}]
       ({na}) ] ;
Define TimexTmeDat235 [ TimexTmeDat235a   EndTag(TimexTmeDat) ] ; 246

!R ([Ii]" minst"|[Ii]" nästan"|Om|[Uu]nder|[Pp]å)" "(en|{NUM})" "veck(a|or)
!A {printTME(yytext,0);}

Define TimexTmeDat236a
     [Ii { minst} | Ii { nästan} | {Om} | Uu {nder} | Pp {å}] { }
     [{en} | Ins(NUM)] { veck} [{a} | {or}] ;
Define TimexTmeDat236 [ TimexTmeDat236a   EndTag(TimexTmeDat) ] ; 247

!R ([Ss]å" sent som ")?([Ss]edan|Sen|[Ii]|[Ff]ör|[Ii]nom|[Uu]nder|[Ee]fter|[Bb]ara|[Tt]ill|En" eller"|[Pp]å|Knappt|[Nn]ästan|[Oo]m)" "("dryga "|"nästan "|"drygt "|"dryg "|"ca "|"maximalt "|"c\:a "|"ca "[1-9]|"cirka "|"minst "|"högst "|"nästan "|"snart "|"knappt ")?([a-zåäö]+" och en halv"|"ett par"|"den gångna"|"bara några"|några|"bara en"|"mer än "[a-zåäö0-9\:]+|"en dryg"|flera|{NUM}|[0-9]+|[0-9]+\-[0-9]+)" "("en vecka"|månad|veckan|vecka|veckor|månader)(na)?("s intervall"|"s mellanrum"|"s tid"|" "tidigare|" "tillbaka|" "därpå|" "sen|" "sedan|" i rad"|" senare")?
!A {printTME(yytext,0);}

Define TimexTmeDat237a
     [ (Ss {å sent som })
       [Ss {edan} | {Sen} | Ii | Ff {ör} | Ii {nom} | Uu {nder} | Ee {fter}
          | Bb {ara} | Tt {ill} | {En eller} | Pp {å} | {Knappt} | Nn {ästan}
          | Oo {m}]
       { }
       ({dryga } | {nästan } | {drygt } | {dryg } | {ca } | {maximalt }
         | {c:a } | {ca } Num19 | {cirka } | {minst } | {högst } | {snart }
         | {knappt })
       [Ins(LowerWord) { och en halv} | {ett par} | {den gångna} | {bara några}
          | {några} | {bara en} | {mer än } [Whitespace|LowercaseAlpha|Num|":"]+
          | {endryg} | {flera} | Ins(NUM) | Ins(Nums) | Ins(NumRange)]
       { } [{en vecka} | {månad} | {veckan} | {vecka} | {veckor} | {månader}]
       ({na})
       ({s intervall} | {s mellanrum} | {s tid} | { tidigare} | { tillbaka}
         | { därpå} | { sen} | { sedan} | { i rad} | { senare}) ] ;
Define TimexTmeDat237 [ TimexTmeDat237a   EndTag(TimexTmeDat) ] ; 248

!R ([Tt]idigare" "denna|[Dd]enna|[Ee]fter" en dryg"|[Yy]tterligare" en"|[Ee]fter" en"|[Oo]m" en dryg"|[Uu]nder" en dryg"|per|[Cc]irka" 1"|[Vv]arje|En|[Mm]indre" än en"|[Ff]"ör en knapp"|[Ee]fter" c\:a 1"|[Uu]pp" till 1"|[Ss]edan" 1")" "(mån|månad|[^\n\t ]*vecka)(" tillbaka")?
!A {printTME(yytext,0);}

Define TimexTmeDat238a
     [ [Tt {idigare denna} | Dd {enna} | Ee {fter en dryg}
          | Yy {tterligare en} | Ee {fter en} | Oo {m en dryg}
          | Uu {nder en dryg} | {per} | Cc {irka 1} | Vv {arje} | {En}
          | Mm {indre än en} | Ff {ör en knapp} | Ee {fter c:a 1}
          | Uu {pp till 1} | Ss {edan 1}]
       { } [{mån} | {månad} | NS* {vecka}] ({ tillbaka}) ] ;
Define TimexTmeDat238 [ TimexTmeDat238a   EndTag(TimexTmeDat) ] ; 249

!R [Vv]ecka" "[1-5][0-9]?(" och "[1-5][0-9]?)
!A {printTME(yytext,0);}

Define TimexTmeDat239a
     [ Vv {ecka } ["1"|"2"|"3"|"4"|"5"] (Num) { och } ["1"|"2"|"3"|"4"|"5"]
       (Num) ] ;
Define TimexTmeDat239 [ TimexTmeDat239a   EndTag(TimexTmeDat) ] ; 250

!R [Åå]"rets första "[^\n\t ]+" månader"(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat240a
     [ ["Å"|"å"] {rets första } Ins(Word) { månader} ({na}) ] ;
Define TimexTmeDat240 [ TimexTmeDat240a   EndTag(TimexTmeDat) ] ; 251

!R ([0-9]+" \- "[0-9]+|[Öö]ver" "[0-9]+|[Cc]a" "[0-9]+|med" "[0-9]+|[Cc]irka" "[0-9]+|[Yy]tterligare" "[0-9]+|[0-9]+" och "[0-9]+|[Ee]fter" "[0-9]+|{NUM}\-{NUM}|med" "[a-zåäö]+|[Ii]" maximalt "[0-9]+|Nästan" "[0-9]+)" "(dagar|veckor|månader)(na)?("s mellanrum"|"s intervall")?
!A {printTME(yytext,0);}

Define TimexTmeDat241a
     [ [Ins(NumsSpRange) | ["Ö"|"ö"] {ver } Ins(Nums) | Cc {a } Ins(Nums) | {med } Ins(Nums)
          | Cc {irka } Ins(Nums) | Yy {tterligare } Ins(Nums) | Ins(Nums) { och } Ins(Nums)
          | Ee {fter } Ins(Nums) | Ins(NUM) {-} Ins(NUM) | {med } Ins(LowerWord)
          | Ii { maximalt } Ins(Nums) | {Nästan } Ins(Nums)]
       { } [{dagar} | {veckor} | {månader}] ({na})
       ({s mellanrum} | {s intervall}) ] ;
Define TimexTmeDat241 [ TimexTmeDat241a   EndTag(TimexTmeDat) ] ; 252

!R ([Bb]ara|[Nn]ågra|[1-9]+|{NUM})" "(månader|veckor)" "("för sent"|innan|senare|tidigare)
!A {printTME(yytext,0);}

Define TimexTmeDat242a
     [Bb {ara} | Nn {ågra} | Num19+ | Ins(NUM)] { } [{månader} | {veckor}] { }
     [{för sent} | {innan} | {senare} | {tidigare}] ;
Define TimexTmeDat242 [ TimexTmeDat242a   EndTag(TimexTmeDat) ] ; 253

!R (De" "|[Dd]en" "|[RrSs]edan" ")?(förra|andra|kommande|härom|[Nn]ärmaste)(" ")?(natten|dagen|kvällen|veckan|vecka)
!A {printTME(yytext,0);}

Define TimexTmeDat243a
     [ ({De } | Dd {en } | ["R"|"r"|"S"|"s"] {edan })
       [{förra} | {andra} | {kommande} | {härom} | Nn {ärmaste}] ({ })
       [{natten} | {dagen} | {kvällen} | {veckan} | {vecka}] ] ;
Define TimexTmeDat243 [ TimexTmeDat243a   EndTag(TimexTmeDat) ] ; 254

!R [Ii]" början av "(den|denna)" "(laparoskopiska" "eran|härpå" "följande" "veckan|andra" "trimestern|nära" "framtiden)
!A {printTME(yytext,0);}

Define TimexTmeDat244a
     [ Ii { början av } [{den} | {denna}] { }
       [{laparoskopiska eran} | {härpå följande veckan} | {andra trimestern}
          | {nära framtiden}] ] ;
Define TimexTmeDat244 [ TimexTmeDat244a   EndTag(TimexTmeDat) ] ; 255

!R [Ii]" början av "(den|denna)" "[^\n\< ]+" "vecka(n)?
!A {printTME(yytext,0);}

Define TimexTmeDat245a
     [ Ii { början av } [{den} | {denna}] { } Ins(Word) { vecka} ({n}) ] ;
Define TimexTmeDat245 [ TimexTmeDat245a   EndTag(TimexTmeDat) ] ; 256

!R [Uu]nder" den "[^\n\< ]+" "levnadsveckan
!A {printTME(yytext,0);}

Define TimexTmeDat246a [ Uu {nder den } Ins(Word) { levnadsveckan} ] ;
Define TimexTmeDat246 [ TimexTmeDat246a   EndTag(TimexTmeDat) ] ; 257

!R "Veckan efter"
!A {printTME(yytext,0);}

Define TimexTmeDat247a [ {Veckan efter} ] ;
Define TimexTmeDat247 [ TimexTmeDat247a   EndTag(TimexTmeDat) ] ; 258

!R [Pp]åskveckan" "[1-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat248a [ Pp {åskveckan } Num19X ] ;
Define TimexTmeDat248 [ TimexTmeDat248a   EndTag(TimexTmeDat) ] ; 259

!R ([Ss]enaste|[Uu]nder|[Ss]ista)" "([^\n\<]+" ")?veckorna
!A {printTME(yytext,0);}

Define TimexTmeDat249a
     [ [Ss {enaste} | Uu {nder} | Ss {ista}] { } (NoTags { }) {veckorna} ] ;
Define TimexTmeDat249 [ TimexTmeDat249a   EndTag(TimexTmeDat) ] ; 260

!R ([1-9][0-9]?\,[1-9][0-9]?|[1-9][0-9]?)" "[a-z]*veckor
!A {printTME(yytext,0);}

Define TimexTmeDat250a [ [Num19x {,} Num19x | Num19x] { } Az* {veckor} ] ;
Define TimexTmeDat250 [ TimexTmeDat250a   EndTag(TimexTmeDat) ] ; 261

!R [1-9][0-9]?\-[1-9][0-9]?" "[a-z]*veckor
!A {printTME(yytext,0);}

Define TimexTmeDat251a [ Num19x {-} Num19x { } Az* {veckor} ] ;
Define TimexTmeDat251 [ TimexTmeDat251a   EndTag(TimexTmeDat) ] ; 262

!R "1\/2 veckan sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat252a [ {1/2 veckan sedan} ] ;
Define TimexTmeDat252 [ TimexTmeDat252a   EndTag(TimexTmeDat) ] ; 263

!R ([Ii]|för|med)" vecka "([0-9]+|[0-9]+\-[0-9]+)
!A {printTME(yytext,1);}

Define TimexTmeDat253a [ {vecka } [Ins(Nums) | Ins(NumRange)] ] ;
Define TimexTmeDat253
     [ TimexTmeDat253a
       LC([Ii | {för} | {med}] { })
       EndTag(TimexTmeDat) ] ; 264

!R [Ss]å" kort "(tid" ")?som" "[0-9\-]+" veckor"
!A {printTME(yytext,0);}

Define TimexTmeDat254a
     [ Ss {å kort } ({tid }) {som } DigitDashes { veckor} ] ;
Define TimexTmeDat254 [ TimexTmeDat254a   EndTag(TimexTmeDat) ] ; 265

!R [Ff]rån" vecka "[0-9]+" till "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat255a [ Ff {rån vecka } Ins(Nums) { till } Ins(Nums) ] ;
Define TimexTmeDat255 [ TimexTmeDat255a   EndTag(TimexTmeDat) ] ; 266

!R [Ii]" så litet som "[^\n\t ]+" veckor"
!A {printTME(yytext,0);}

Define TimexTmeDat256a [ Ii { så litet som } Ins(Word) { veckor} ] ;
Define TimexTmeDat256 [ TimexTmeDat256a   EndTag(TimexTmeDat) ] ; 267

!R [Ee]fter" den "[0-9]+"\:a vecka"(n)?
!A {printTME(yytext,0);}

Define TimexTmeDat257a [ Ee {fter den } Ins(Nums) {:a vecka} ({n}) ] ;
Define TimexTmeDat257 [ TimexTmeDat257a   EndTag(TimexTmeDat) ] ; 268

!R [Pp]å" typ "[^\n ]+" "månader
!A {printTME(yytext,0);}

Define TimexTmeDat258a [ Pp {å typ } Ins(Word) { månader} ] ;
Define TimexTmeDat258 [ TimexTmeDat258a   EndTag(TimexTmeDat) ] ; 269

!R någon" vecka till \,"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">någon vecka till</TIMEX> ,");}

Define TimexTmeDat259
     [ {någon vecka till}
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 270

!R ([Ff]öre" "|[Ee]"fter ")?[0-9]+"\:e graviditestvecka"(n)?
!A {printTME(yytext,0);}

Define TimexTmeDat260a
     [ (Ff {öre } | Ee {fter }) Ins(Nums) {:e graviditestvecka} ({n}) ] ;
Define TimexTmeDat260 [ TimexTmeDat260a   EndTag(TimexTmeDat) ] ; 271

!R ([Ff]rån|[Uu]nder|[Ii])" "graviditetsvecka" "[1-9][0-9]?([\+\-][1-9][0-9]?)?
!A {printTME(yytext,0);}

Define TimexTmeDat261a
     [ [Ff {rån} | Uu {nder} | Ii] { graviditetsvecka } Num19x
       (["+"|"-"] Num19x) ] ;
Define TimexTmeDat261 [ TimexTmeDat261a   EndTag(TimexTmeDat) ] ; 272

!R ([Ff]rån|[Uu]nder|[Ii])" "graviditetsvecka" "{NUM}
!A {printTME(yytext,0);}

Define TimexTmeDat262a
     [ [Ff {rån} | Uu {nder} | Ii] { graviditetsvecka } Ins(NUM) ] ;
Define TimexTmeDat262 [ TimexTmeDat262a   EndTag(TimexTmeDat) ] ; 273

!R [Öö]ver" "[^\n\t ]+vekorsintervall
!A {printTME(yytext,0);}

Define TimexTmeDat263a [ ["Ö"|"ö"] {ver } Word {vekorsintervall} ] ;
Define TimexTmeDat263 [ TimexTmeDat263a   EndTag(TimexTmeDat) ] ; 274

!R [Ee]fter" ca "[^\n ]+" veckors fritt intervall"
!A {printTME(yytext,0);}

Define TimexTmeDat264a [ Ee {fter ca } Ins(Word) { veckors fritt intervall} ] ;
Define TimexTmeDat264 [ TimexTmeDat264a   EndTag(TimexTmeDat) ] ; 275

!R [Vv]ecka" "[0-9]+(" \, "[0-9]+)+" och "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat265a [ Vv {ecka } Ins(Nums) [{ , } Ins(Nums)]+ { och } Ins(Nums) ] ;
Define TimexTmeDat265 [ TimexTmeDat265a   EndTag(TimexTmeDat) ] ; 276

!R [Gg]ravititestvecka" "[0-9]+(" och "[0-9]+|\+[1-9])
!A {printTME(yytext,1);}

Define TimexTmeDat266a [ Ins(Nums) [{ och } Ins(Nums) | {+} Num19] ] ;
Define TimexTmeDat266
     [ TimexTmeDat266a
       LC(Gg {ravititestvecka })
       EndTag(TimexTmeDat) ] ; 277

!R ([Pp]åföljande|[Nn]ästa|[Ss]enaste|[Ss]ista)" vecka"(n)?
!A {printTME(yytext,0);}

Define TimexTmeDat267a
     [ [Pp {åföljande} | Nn {ästa} | Ss {enaste} | Ss {ista}] { vecka} ({n}) ] ;
Define TimexTmeDat267 [ TimexTmeDat267a   EndTag(TimexTmeDat) ] ; 278

!R " en vecka"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">en vecka</TIMEX>");}

Define TimexTmeDat268 [ {en vecka}   LC({ })   EndTag(TimexTmeDat) ] ; 279

!R ([Hh]ela|[Ss]enaste)" dagarna"
!A {printTME(yytext,0);}

Define TimexTmeDat269a [ [Hh {ela} | Ss {enaste}] { dagarna} ] ;
Define TimexTmeDat269 [ TimexTmeDat269a   EndTag(TimexTmeDat) ] ; 280

!#  -TALET 

!R [Ff]rån" "[0-9]+\-" till "[0-9]+\-talet
!A {printTME(yytext,0);}

Define TimexTmeDat270a [ Ff {rån } Ins(Nums) {- till } Ins(Nums) {-talet} ] ;
Define TimexTmeDat270 [ TimexTmeDat270a   EndTag(TimexTmeDat) ] ; 281

!R ([Rr]edan" ")?([Aa]lltsedan|[Ss]en|[Ss]edan|[Uu]nder|[Ff]rån|[Pp]å|[Ii]|[Mm]ot|[Ff]ram" "till|[Vv]id|[Ff]"rån i")" "("senare hälften"|"senare delen"|"första hälften"|början|mitten|slutet|"andra hälft"|"andra halvan"|"första början"|"första halvan"|inledningsskedet)" "a[vf]" "[^\n\t ]+tale(t|n|ets)(" ingång"|" andra hälft"|" slut och framåt"|" och framåt"|" "slut|" "mitt|" "början|e\.Kr\.)?
!A {printTME(yytext,0);}

Define TimexTmeDat271a
     [ (Rr {edan })
       [Aa {lltsedan} | Ss {en} | Ss {edan} | Uu {nder} | Ff {rån} | Pp {å}
          | Ii | Mm {ot} | Ff {ram till} | Vv {id} | Ff {rån i}]
       { }
       [{senare hälften} | {senare delen} | {första hälften} | {början}
          | {mitten} | {slutet} | {andra hälft} | {andra halvan}
          | {första början} | {första halvan} | {inledningsskedet}]
       { a} ["v"|"f"] { } Word {tale} [{t} | {n} | {ets}]
       ({ ingång} | { andra hälft} | { slut och framåt} | { och framåt}
         | { slut} | { mitt} | { början} | {e.Kr.}) ] ;
Define TimexTmeDat271 [ TimexTmeDat271a   EndTag(TimexTmeDat) ] ; 282

!R ([Rr]"edan ")?([Ee]"n kort period på"|[Aa]lltsedan|[Tt]ill|[Ss]en|[Ss]edan|[Uu]nder|[Ff]rån|[Pp]å|[Ii]|[Mm]ot|[Ff]ram" "till|[Vv]id|[Ff]"rån i")" "("mitten på "|"slutet på "|"slutet av "|början\/mitten" av "|tidigt" "|sent" "|"hela "|[Ää]"nda till "|"början på "|"det sena "|[Ee]"n bit in på "|[Aa]"lltsedan ")?([^\n\t ]+tio|[^\n\t ]+hundra|[0-9]+\-|[0-9]\-" och "[0-9]+\-)tal(et|en|ets)(" slut och framåt"|" "slut|" "mitt|" midt"|" "början|" och tidigt "[0-9]+\-tal)?
!A {printTME(yytext,0);}

Define TimexTmeDat272a
     [ (Rr {edan })
       [Ee {n kort period på} | Aa {lltsedan} | Tt {ill} | Ss {en}
          | Ss {edan} | Uu {nder} | Ff {rån} | Pp {å} | Ii | Mm {ot}
          | Ff {ram till} | Vv {id} | Ff {rån i}]
       { }
       ({mitten på } | {slutet på } | {slutet av } | {början/mitten av }
         | {tidigt } | {sent } | {hela } | ["Ä"|"ä"] {nda till } | {början på }
         | {det sena } | Ee {n bit in på } | Aa {lltsedan })
       [Word {tio} | Word {hundra} | Ins(Nums) {-} | Num {- och } Ins(Nums) {-}] {tal}
       [{et} | {en} | {ets}]
       ({ slut och framåt} | { slut} | { mitt} | { midt} | { början}
         | { och tidigt } Ins(Nums) {-tal}) ] ;
Define TimexTmeDat272 [ TimexTmeDat272a   EndTag(TimexTmeDat) ] ; 283

!R ([Uu]nder" första delen av"|[Vv]id" ingången "av|[Ff]ortfarande" in på"|[Hh]ela|[Ss]"å sent som på"|"början på"|"början av"|"hälften av")" "[^\n\t ]+talet(" och "[^\n ]+talets" början"|"s andra hälft")?
!A {printTME(yytext,0);}

Define TimexTmeDat273a
     [ [Uu {nder första delen av} | Vv {id ingången av}
          | Ff {ortfarande in på} | Hh {ela} | Ss {å sent som på} | {början på}
          | {början av} | {hälften av}]
       { } Word {talet} ({ och } Word {talets början} | {s andra hälft}) ] ;
Define TimexTmeDat273 [ TimexTmeDat273a   EndTag(TimexTmeDat) ] ; 284

!R ([Rr]"edan ")?([Ss]en|[Ss]edan|[Uu]nder|[Ff]rån|[Pp]å|[Ii]|[Mm]ot|[Ff]ram" "till|[Vv]id)(" "[0-9\-]+" \, "[0-9\-]+)+" och "[0-9]+\-talen
!A {printTME(yytext,0);}

Define TimexTmeDat274a
     [ (Rr {edan })
       [Ss {en} | Ss {edan} | Uu {nder} | Ff {rån} | Pp {å} | Ii | Mm {ot}
          | Ff {ram till} | Vv {id}]
       [{ } DigitDashes { , } DigitDashes]+ { och } Ins(Nums) {-talen} ] ;
Define TimexTmeDat274 [ TimexTmeDat274a   EndTag(TimexTmeDat) ] ; 285

!R ([Rr]"edan ")?([Ss]en|[Ss]edan|[Uu]nder|[Ff]rån|[Pp]å|[Ii]|[Mm]ot|[Ff]ram" "till|[Vv]id)" "[0-9]+\-" "(resp|resp\.|och)" "[0-9]+\-talen
!A {printTME(yytext,0);}

Define TimexTmeDat275a
     [ (Rr {edan })
       [Ss {en} | Ss {edan} | Uu {nder} | Ff {rån} | Pp {å} | Ii | Mm {ot}
          | Ff {ram till} | Vv {id}]
       { } Ins(Nums) {- } [{resp} | {resp.} | {och}] { } Ins(Nums) {-talen} ] ;
Define TimexTmeDat275 [ TimexTmeDat275a   EndTag(TimexTmeDat) ] ; 286

!R ([Rr]"edan ")?([Ee]"n kort period på"|[Tt]ill|[Ss]en|[Ss]edan|[Uu]nder|[Ff]rån|[Rr]unt|[Pp]å|[Ii]|[Mm]ot|[Ff]ram" "till|[Vv]id)" "("mitten på "|"slutet på "|tidigt" "|sent" "|"hela "|[Ää]"nda till "|"början på "|"det sena "|"slutet af "|tidigt" ")?([^\n\t ]+hundra|[^\n\t ]+tio|[0-9]+\-)tal
!A {printTME(yytext,0);}

Define TimexTmeDat276a
     [ (Rr {edan })
       [Ee {n kort period på} | Tt {ill} | Ss {en} | Ss {edan} | Uu {nder}
          | Ff {rån} | Rr {unt} | Pp {å} | Ii | Mm {ot} | Ff {ram till}
          | Vv {id}]
       { }
       ({mitten på } | {slutet på } | {tidigt } | {sent } | {hela }
         | ["Ä"|"ä"] {nda till } | {början på } | {det sena } | {slutet af })
       [Word {hundra} | Word {tio} | Ins(Nums) {-}] {tal} ] ;
Define TimexTmeDat276 [ TimexTmeDat276a   EndTag(TimexTmeDat) ] ; 287

!R [0-9]+\-talets" slut och "[0-9]+"\-"talets" "början
!A {printTME(yytext,0);}

Define TimexTmeDat277a [ Ins(Nums) {-talets slut och } Ins(Nums) {-talets början} ] ;
Define TimexTmeDat277 [ TimexTmeDat277a   EndTag(TimexTmeDat) ] ; 288

!R [12][0-9][0-9][0-9]" och början a"[vf]" "[0-9]+"\-"tale[tn]
!A {printTME(yytext,0);}

Define TimexTmeDat278a
     [ Ins(YearNum) { och början a} ["v"|"f"] { } Ins(Nums) {-tale} ["t"|"n"] ] ;
Define TimexTmeDat278 [ TimexTmeDat278a   EndTag(TimexTmeDat) ] ; 289

!R [12][0-9][0-9][0-9]\-tal" till "[0-9]+"\-"tal[etn]*
!A {printTME(yytext,0);}

Define TimexTmeDat279a
     [ Ins(YearNum) {-tal till } Ins(Nums) {-tal} ["e"|"t"|"n"]* ] ;
Define TimexTmeDat279 [ TimexTmeDat279a   EndTag(TimexTmeDat) ] ; 290

!R [Ii]" svenskt "[0-9]+\-tal(et)?
!A {printTME(yytext,0);}

Define TimexTmeDat280a [ Ii { svenskt } Ins(Nums) {-tal} ({et}) ] ;
Define TimexTmeDat280 [ TimexTmeDat280a   EndTag(TimexTmeDat) ] ; 291

!R [Uu]nder" "[0-9]+"\-"[0-9]+"\-"tale[tn]
!A {printTME(yytext,0);}

Define TimexTmeDat281a [ Uu {nder } Ins(Nums) {-} Ins(Nums) {-tale} ["t"|"n"] ] ;
Define TimexTmeDat281 [ TimexTmeDat281a   EndTag(TimexTmeDat) ] ; 292

!R ([Tt]idigt|[Ff]öre|[Uu]nder)" "[0-9]+"\-"tal(et|en)?
!A {printTME(yytext,0);}

Define TimexTmeDat282a
     [ [Tt {idigt} | Ff {öre} | Uu {nder}] { } Ins(Nums) {-tal} ({et} | {en}) ] ;
Define TimexTmeDat282 [ TimexTmeDat282a   EndTag(TimexTmeDat) ] ; 293

!R [0-9]+tale[tn]
!A {printTME(yytext,0);}

Define TimexTmeDat283a [ Ins(Nums) {tale} ["t"|"n"] ] ;
Define TimexTmeDat283 [ TimexTmeDat283a   EndTag(TimexTmeDat) ] ; 294

!R [Pp]å" "[0-9]+" "talet
!A {printTME(yytext,0);}

Define TimexTmeDat284a [ Pp {å } Ins(Nums) { talet} ] ;
Define TimexTmeDat284 [ TimexTmeDat284a   EndTag(TimexTmeDat) ] ; 295

!R 60\-talet" "prägla
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">60-talet</TIMEX> prägla");}

Define TimexTmeDat285a [ {60-talet} ] ;
Define TimexTmeDat285
     [ TimexTmeDat285a
       RC({ prägla})
       EndTag(TimexTmeDat) ] ; 296

!R prägla" "[0-9]+\-talet
!A {printTME(yytext,1);}

Define TimexTmeDat286a [ Ins(Nums) {-talet} ] ;
Define TimexTmeDat286
     [ TimexTmeDat286a
       LC({prägla })
       EndTag(TimexTmeDat) ] ; 297

!#  MONTHS 

!R [Ii]" gryningen den "[^\n\<\> ]+" "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat287a [ Ii { gryningen den } Ins(Word) { } Ins(MNH) ] ;
Define TimexTmeDat287 [ TimexTmeDat287a   EndTag(TimexTmeDat) ] ; 298

!R ([SRsr]"edan "|[Ff]"örrän ")?([Tt]ill|[Ii]|[Ff]rån|[Ss]edan|[Vv]id)" "(mitten\-slutet|mitten|slutet|början)" "(på|av|af)" "(Mars|{MNH})(" "månad)?(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat288a
     [ (["S"|"R"|"s"|"r"] {edan } | Ff {örrän })
       [Tt {ill} | Ii | Ff {rån} | Ss {edan} | Vv {id}] { }
       [{mitten-slutet} | {mitten} | {slutet} | {början}] { }
       [{på} | {av} | {af}] { } [{Mars} | Ins(MNH)] ({ månad}) ({ } Ins(YearNum)) ] ;
Define TimexTmeDat288 [ TimexTmeDat288a   EndTag(TimexTmeDat) ] ; 299

!R ([Ii]|[Uu]nder|[Mm]ellan|[Ff]rån|[Uu]nder" "tiden)" "{MNH}(" \- "|" och "|" till "|\-){MNH}(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat289a
     [ [Ii | Uu {nder} | Mm {ellan} | Ff {rån} | Uu {nder tiden}] { } Ins(MNH)
       [{ - } | { och } | { till } | {-}] Ins(MNH) ({ } Ins(YearNum)) ] ;
Define TimexTmeDat289 [ TimexTmeDat289a   EndTag(TimexTmeDat) ] ; 300

!R ([Ii]|[Uu]nder|[Uu]nder" "tiden)" "([0-9]+" "{MNH}" "[12][0-9\-]+" "{MNH}" "[12][0-9\-]+|{MNH}" "månad|{MNH}månad|{MNH}" "[12][0-9]+|{MNH}" \-"[12][0-9]+|{MNH}" "\-[1-9][0-9]|" till och med "{MNH}" "[12][0-9]+|"andra halvan av "{MNH}" "[12][0-9]+|"första halvan av "{MNH}" "[12][0-9]+)
!A {printTME(yytext,0);}

Define TimexTmeDat290a
     [Ii | Uu {nder} | Uu {nder tiden}] { }
     [Ins(Nums) { } Ins(MNH) { } Num12DigitDashes { } Ins(MNH) { } Num12DigitDashes
        | Ins(MNH) { månad} | Ins(MNH) {månad} | Ins(MNH) { } Ins(Num12Nums) | Ins(MNH) { -} Ins(Num12Nums)
        | Ins(MNH) { -} Num19X | { till och med } Ins(MNH) { } Ins(Num12Nums)
        | {andra halvan av } Ins(MNH) { } Ins(Num12Nums)
        | {första halvan av } Ins(MNH) { } Ins(Num12Nums)] ;
Define TimexTmeDat290 [ TimexTmeDat290a   EndTag(TimexTmeDat) ] ; 301

!R ([Ii]|[Uu]nder)" "({MNH}månad|{MNH}" "månad|{MNH})" år "[12][0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat291a
     [ [Ii | Uu {nder}] { } [Ins(MNH) {månad} | Ins(MNH) { månad} | Ins(MNH)] { år }
       Ins(Num12Nums) ] ;
Define TimexTmeDat291 [ TimexTmeDat291a   EndTag(TimexTmeDat) ] ; 302

!R ([Ii]|[Uu]nder)" "({MNH}månad|{MNH}" "månad|{MNH})" "[12][0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat292a
     [ [Ii | Uu {nder}] { } [Ins(MNH) {månad} | Ins(MNH) { månad} | Ins(MNH)] { } Ins(Num12Nums) ] ;
Define TimexTmeDat292 [ TimexTmeDat292a   EndTag(TimexTmeDat) ] ; 303

!R ([Ii]" kommande "|[Ii]" "|[Vv]id" "|[Ff]rån" "|[Ss]edan" "|[Kk]"ring ")?[^\n\t ]*skiftet" "([^\n\t ]\/{MNH}|{MNH}" \- "{MNH}|{MNH}" "{MNH}|{MNH}\/{MNH}|{MNH}\-{MNH})
!A {printTME(yytext,0);}

Define TimexTmeDat293a
     [ (Ii { kommande } | Ii { } | Vv {id } | Ff {rån } | Ss {edan }
         | Kk {ring })
       NS* {skiftet }
       [NS {/} Ins(MNH) | Ins(MNH) { - } Ins(MNH) | Ins(MNH) { } Ins(MNH) | Ins(MNH) {/} Ins(MNH) | Ins(MNH) {-} Ins(MNH)] ] ;
Define TimexTmeDat293 [ TimexTmeDat293a   EndTag(TimexTmeDat) ] ; 304

!R ([Ss]edan" "|[Ff]"rån och med "|[Ss]enast" ")?([^\n\t ]*[Mm]"orgonen "|[^\n\t ]*"kvällen "|[^\n\t ]*"dagen ")?([Ff]rån|[Ss]edan|[Dd]en" "[0-9]+\:[ae]|[Dd]en" "[a-zåäö]+e|[Dd]en" "[a-zåäö]+a|{DAY}dag" "den" "[^\n\t ]+nde|[Dd]en" "[^\n\t ]+nde|[Dd]en" "[0-9]+" till den "[0-9]+|[Dd]en" "[0-9]+|{DAY}dag" den "[0-9]+|[Dd]en" "[0-9]+" och "[0-9]+|[Dd]en" "[0-9]+\-[0-9]+|[0-9]+|före|[Ff]rån|[Ff]"ram till"|[Ff]rån" och med"|I|{DAY}dag" \, "[1-9][0-9]?)" "(Mars|{MNH})(" "månad)?(" "[0-9][0-9]+|" \-"[0-9][0-9]+)?(" till "{MNH})?
!A {printTME(yytext,0);}

Define TimexTmeDat294a
     [ (Ss {edan } | Ff {rån och med } | Ss {enast })
       (NS* Mm {orgonen } | NS* {kvällen } | NS* {dagen })
       [Ff {rån} | Ss {edan} | Dd {en } Ins(Nums) {:} ["a"|"e"]
          | Dd {en } LowerWord {e} | Dd {en } LowerWord {a}
          | Ins(DAYdag) { den } Word {nde} | Dd {en } Word {nde}
          | Dd {en } Ins(Nums) { till den } Ins(Nums) | Dd {en } Ins(Nums)
          | Ins(DAYdag) { den } Ins(Nums) | Dd {en } Ins(Nums) { och } Ins(Nums) | Dd {en } Ins(NumRange)
          | Ins(Nums) | {före} | Ff {ram till} | Ff {rån och med} | {I}
          | Ins(DAYdag) { , } Num19x]
       { } [{Mars} | Ins(MNH)] ({ månad}) ({ } Num Ins(Nums) | { -} Num Ins(Nums))
       ({ till } Ins(MNH)) ] ;
Define TimexTmeDat294 [ TimexTmeDat294a   EndTag(TimexTmeDat) ] ; 305

!R ([Ee]fter|[Uu]nder|[Ii]nom|[Ii])" "(ytterligare" "|ungefär" "|"upp till "|"minst "|"högst "|{NUM}" till "|[0-9]+" till "|{NUM}" och ")?[^\n\t ]+" "månader(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat295a
     [ [Ee {fter} | Uu {nder} | Ii {nom} | Ii] { }
       ({ytterligare } | {ungefär } | {upp till } | {minst } | {högst }
         | Ins(NUM) { till } | Ins(Nums) { till } | Ins(NUM) { och })
       Ins(Word) { månader} ({na}) ] ;
Define TimexTmeDat295 [ TimexTmeDat295a   EndTag(TimexTmeDat) ] ; 306

!R ([Ll]ängre" "än|[Mm]inst|[Vv]id)" "[^\n ]+" "månader
!A {printTME(yytext,0);}

Define TimexTmeDat296a
     [ [Ll {ängre än} | Mm {inst} | Vv {id}] { } Ins(Word) { månader} ] ;
Define TimexTmeDat296 [ TimexTmeDat296a   EndTag(TimexTmeDat) ] ; 307

!R ([Mm]ellan" "[^\n\t ]+" "|[Ee]n" "|{NUM}" ")?"till "[^\n\t ]+" månader"
!A {printTME(yytext,0);}

Define TimexTmeDat297a
     [ (Mm {ellan } Ins(Word) { } | Ee {n } | Ins(NUM) { }) {till } Ins(Word) { månader} ] ;
Define TimexTmeDat297 [ TimexTmeDat297a   EndTag(TimexTmeDat) ] ; 308

!R ([Ss]enare" "denna|[Ss]"edan i "{MNH}|[Ii]"nom loppet av en"|[Uu]"nder loppet av en"|[Öö]"ver en")" "[^\n\t ]*månad(" "[12][\-0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat298a
     [ [Ss {enare denna} | Ss {edan i } Ins(MNH) | Ii {nom loppet av en}
          | Uu {nder loppet av en} | ["Ö"|"ö"] {ver en}]
       { } NS* {månad} ({ } Num12DigitDashes) ] ;
Define TimexTmeDat298 [ TimexTmeDat298a   EndTag(TimexTmeDat) ] ; 309

!R [^\n\t ]+sta" "{DAY}dagen" i "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat299a [ Word {sta } Ins(DAYdag) {en i } Ins(MNH) ] ;
Define TimexTmeDat299 [ TimexTmeDat299a   EndTag(TimexTmeDat) ] ; 310

!R ([Pp]å" ")?[1-9]+[\-\,][1-9]+" "(dagar|veckor|månader)(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat300a
     [ (Pp {å }) Num19+ ["-"|","] Num19+ { } [{dagar} | {veckor} | {månader}]
       ({na}) ] ;
Define TimexTmeDat300 [ TimexTmeDat300a   EndTag(TimexTmeDat) ] ; 311

!R [Uu]nder" de"("gångna "|"första ")?(två|tre|fyra|fem|sex|[1-9]\-[1-9])" månaderna"
!A {printTME(yytext,0);}

Define TimexTmeDat301a
     [ Uu {nder de} ({gångna } | {första })
       [{två} | {tre} | {fyra} | {fem} | {sex} | Num19 {-} Num19] { månaderna} ] ;
Define TimexTmeDat301 [ TimexTmeDat301a   EndTag(TimexTmeDat) ] ; 312

!R [Uu]nder" den nu "[a-zåäö]+" "[^\n\t ]*perioden" "[0-9]+(" "\-" "|" "och" "|" "till" "|\-)" "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat302a
     [ Uu {nder den nu } Ins(LowerWord) { } NS* {perioden } Ins(Nums)
       [{ - } | { och } | { till } | {-}] { } Ins(Nums) ] ;
Define TimexTmeDat302 [ TimexTmeDat302a   EndTag(TimexTmeDat) ] ; 313

!R [Uu]nder" den "[a-zåäö]+" "[^\n\t ]*perioden" "[0-9]+(" "\-" "|" "och" "|" "till" "|\-)" "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat303a
     [ Uu {nder den } Ins(LowerWord) { } NS* {perioden } Ins(Nums)
       [{ - } | { och } | { till } | {-}] { } Ins(Nums) ] ;
Define TimexTmeDat303 [ TimexTmeDat303a   EndTag(TimexTmeDat) ] ; 314

!R ([Uu]"nder perioden ")?[Dd]en" "[1-9][0-9]?" "{MNH}(\-|" "och" "|" "till" "|" \- ")[1-9][0-9]?" "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat304a
     [ (Uu {nder perioden }) Dd {en } Num19x { } Ins(MNH)
       [{-} | { och } | { till } | { - }] Num19x { } Ins(MNH) ] ;
Define TimexTmeDat304 [ TimexTmeDat304a   EndTag(TimexTmeDat) ] ; 315

!R ([Ff]"ör perioden "|[Uu]"nder perioden "|[^\n\t ]*perioden" ")?{MNH}(" "\-" "|" "och" "|" till_och_med "|" "till" "|" fram till "|\-)(idag|{MNH})(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat305a
     [ (Ff {ör perioden } | Uu {nder perioden } | NS* {perioden }) Ins(MNH)
       [{ - } | { och } | { till_och_med } | { till } | { fram till } | {-}]
       [{idag} | Ins(MNH)] ({ } Ins(YearNum)) ] ;
Define TimexTmeDat305 [ TimexTmeDat305a   EndTag(TimexTmeDat) ] ; 316

!R ([Ff]ör" "|[Uu]nder" ")?[^\n\t ]*[Pp]erioden" "[123][0-9]?" "{MNH}" "[12][0-9][0-9][0-9](" till"|" till_och_med"|" till och med"|" "och)" "[123][0-9]?" "{MNH}" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat306a
     [ (Ff {ör } | Uu {nder }) NS* Pp {erioden } Num13 (Num) { } Ins(MNH) { }
       Ins(YearNum) [{ till} | { till_och_med} | { till och med} | { och}] { }
       Num13 (Num) { } Ins(MNH) { } Ins(YearNum) ] ;
Define TimexTmeDat306 [ TimexTmeDat306a   EndTag(TimexTmeDat) ] ; 317

!R ([Ff]"ör perioden "|[Uu]"nder perioden "|[^\n\t ]*[Pp]erioden" ")?{MNH}" "[12][0-9][0-9][0-9](" "\-" "|" till och med "|" "och" "|" till_och_med "|" "till" "|\-){MNH}" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat307a
     [ (Ff {ör perioden } | Uu {nder perioden } | NS* Pp {erioden }) Ins(MNH) { }
       Ins(YearNum)
       [{ - } | { till och med } | { och } | { till_och_med } | { till }
          | {-}]
       Ins(MNH) { } Ins(YearNum) ] ;
Define TimexTmeDat307 [ TimexTmeDat307a   EndTag(TimexTmeDat) ] ; 318

!R ([Uu]nder" "|[Ff]ör" ")?[^\n\t ]*perioden" "([12][0-9\-]+|till|[Tt]"ill och med")" "{MNH}(" "[12][\-0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat308a
     [ (Uu {nder } | Ff {ör }) NS* {perioden }
       [Num12DigitDashes | {till} | Tt {ill och med}] { } Ins(MNH)
       ({ } Num12DigitDashes) ] ;
Define TimexTmeDat308 [ TimexTmeDat308a   EndTag(TimexTmeDat) ] ; 319

!R ([Nn]"ågon gång ")?([Uu]nder|[Ii])" "{MNH}(" "[12][\-0-9]+|" \-"[0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat309a
     [ (Nn {ågon gång }) [Uu {nder} | Ii] { } Ins(MNH)
       ({ } Num12DigitDashes | { -} Ins(Nums2)) ] ;
Define TimexTmeDat309 [ TimexTmeDat309a   EndTag(TimexTmeDat) ] ; 320

!R ([Ii]" ")?[1-9][0-9]?(e|\:e)" "({DAY}dag|sekund|minut|timme|timma|timmar|dag|vecka|månad|år)(en|n|et)?
!A {printTME(yytext,0);}

Define TimexTmeDat310a
     [ (Ii { }) Num19x [{e} | {:e}] { }
       [Ins(DAYdag) | {sekund} | {minut} | {timme} | {timma} | {timmar} | {dag}
          | {vecka} | {månad} | {år}]
       ({en} | {n} | {et}) ] ;
Define TimexTmeDat310 [ TimexTmeDat310a   EndTag(TimexTmeDat) ] ; 321

!R ([Ff]"ör omkring en"|[Ee]n" och en halv"|[Ee]n" dryg"|"c:a "[^\n\t ]+)" "(vecka|veckan|månad|månaden)(" "senare|" "sen|" "sedan)?
!A {printTME(yytext,0);}

Define TimexTmeDat311a
     [ [Ff {ör omkring en} | Ee {n och en halv} | Ee {n dryg} | {c:a } Ins(Word)]
       { } [{vecka} | {veckan} | {månad} | {månaden}]
       ({ senare} | { sen} | { sedan}) ] ;
Define TimexTmeDat311 [ TimexTmeDat311a   EndTag(TimexTmeDat) ] ; 322

!R ([SRsr]"edan "|[Tt]"idigare "|[Rr]"edan till ")?[Ii]" "({MNH}|{MNH}\-{MNH})(" nästa år"|" samma år"|" i år"|" förra året"|" ifjol"|" i fjol"|" "[12][0-9][0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat312a
     [ (["S"|"R"|"s"|"r"] {edan } | Tt {idigare } | Rr {edan till }) Ii { }
       [Ins(MNH) | Ins(MNH) {-} Ins(MNH)]
       [{ nästa år} | { samma år} | { i år} | { förra året} | { ifjol}
          | { i fjol} | { } Ins(YearNum)] ] ;
Define TimexTmeDat312 [ TimexTmeDat312a   EndTag(TimexTmeDat) ] ; 323

!R ([SRsr]"edan "|[Tt]"idigare "|[Rr]"edan till ")?[Ii]" "({MNH}|{MNH}\-{MNH})(" nästa år"|" samma år"|" i år"|" förra året"|" ifjol"|" i fjol"|" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat313a
     [ (["S"|"R"|"s"|"r"] {edan } | Tt {idigare } | Rr {edan till }) Ii { }
       [Ins(MNH) | Ins(MNH) {-} Ins(MNH)]
       ({ nästa år} | { samma år} | { i år} | { förra året} | { ifjol}
         | { i fjol} | { } Ins(YearNum)) ] ;
Define TimexTmeDat313 [ TimexTmeDat313a   EndTag(TimexTmeDat) ] ; 324

!R (pågått|låg)" en "(vecka|månad)
!A {printTME(yytext,1);}

Define TimexTmeDat314a [ {en } [{vecka} | {månad}] ] ;
Define TimexTmeDat314
     [ TimexTmeDat314a
       LC([{pågått} | {låg}] { })
       EndTag(TimexTmeDat) ] ; 325

!R [^\n\t ]+" respektive "[^\n\t ]+" "(dagar|veckor|månader)(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat315a
     [ Ins(Word) { respektive } Ins(Word) { } [{dagar} | {veckor} | {månader}] ({na}) ] ;
Define TimexTmeDat315 [ TimexTmeDat315a   EndTag(TimexTmeDat) ] ; 326

!R [Mm]ellan" "[a-zåäö]+" och "{NUM}" månader"(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat316a
     [ Mm {ellan } Ins(LowerWord) { och } Ins(NUM) { månader} ({na}) ] ;
Define TimexTmeDat316 [ TimexTmeDat316a   EndTag(TimexTmeDat) ] ; 327

!R ([Uu]"ppemot ")?{NUM}" "(dagar|veckor|månader|nätter)(" dessförinnan"|" senare")?
!A {printTME(yytext,0);}

Define TimexTmeDat317a
     [ (Uu {ppemot }) Ins(NUM) { } [{dagar} | {veckor} | {månader} | {nätter}]
       ({ dessförinnan} | { senare}) ] ;
Define TimexTmeDat317 [ TimexTmeDat317a   EndTag(TimexTmeDat) ] ; 328

!R [^\n\t ]*tiden" var "[0-9]+" "(dagar|veckor|månader)(na)?
!A {printTME(yytext,2);}

Define TimexTmeDat318a
     [ Ins(Nums) { } [{dagar} | {veckor} | {månader}] ({na}) ] ;
Define TimexTmeDat318
     [ TimexTmeDat318a
       LC({tiden var })
       EndTag(TimexTmeDat) ] ; 329

!R ([Ee]n" eller ")?[Ee]tt" "(par|antal)" "(dagar|veckor|månader)(na)?(" senare"|" tidigare")?
!A {printTME(yytext,0);}

Define TimexTmeDat319a
     [ (Ee {n eller }) Ee {tt } [{par} | {antal}] { }
       [{dagar} | {veckor} | {månader}] ({na}) ({ senare} | { tidigare}) ] ;
Define TimexTmeDat319 [ TimexTmeDat319a   EndTag(TimexTmeDat) ] ; 330

!R ([Ff]örra|[Ff]örsta|[Ii]|[Ss]ista|Senaste|[Ii]" "[^\n< ]+nde|[Ii]" "[a-zåäö]+te)" "månaden
!A {printTME(yytext,0);}

Define TimexTmeDat320a
     [ [Ff {örra} | Ff {örsta} | Ii | Ss {ista} | {Senaste}
          | Ii { } Word {nde} | Ii { } LowerWord {te}]
       { månaden} ] ;
Define TimexTmeDat320 [ TimexTmeDat320a   EndTag(TimexTmeDat) ] ; 331

!R ([Bb]örjan|[Ss]lutet)" "(af|av)" "{MNH}(" "[12][\-0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat321a
     [ [Bb {örjan} | Ss {lutet}] { } [{af} | {av}] { } Ins(MNH)
       ({ } Num12DigitDashes) ] ;
Define TimexTmeDat321 [ TimexTmeDat321a   EndTag(TimexTmeDat) ] ; 332

!R ([Nn]atten" till den"|[Dd]en)" "(sista|första|[1-9][0-9]?)" "({MNH}|{MNH}veckan)(" förra året"|" "[12][\-0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat322a
     [ [Nn {atten till den} | Dd {en}] { } [{sista} | {första} | Num19x] { }
       [Ins(MNH) | Ins(MNH) {veckan}] ({ förra året} | { } Num12DigitDashes) ] ;
Define TimexTmeDat322 [ TimexTmeDat322a   EndTag(TimexTmeDat) ] ; 333

!R [Dd]en" "(sista|första|andra|tredje|[0-9]+\:e)" månaden"(" på raken")?
!A {printTME(yytext,0);}

Define TimexTmeDat323a
     [ Dd {en } [{sista} | {första} | {andra} | {tredje} | Ins(Nums) {:e}]
       { månaden} ({ på raken}) ] ;
Define TimexTmeDat323 [ TimexTmeDat323a   EndTag(TimexTmeDat) ] ; 334

!R [Uu]nder" "[a-zåäö]+" till "[a-zåäö]+" "graviditetsmånad(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat324a
     [ Uu {nder } Ins(LowerWord) { till } Ins(LowerWord) { graviditetsmånad} ({en}) ] ;
Define TimexTmeDat324 [ TimexTmeDat324a   EndTag(TimexTmeDat) ] ; 335

!R ([Uu]nder|[Öö]ver)" en "[^\n ]+månaders" "period
!A {printTME(yytext,0);}

Define TimexTmeDat325a
     [ [Uu {nder} | ["Ö"|"ö"] {ver}] { en } Word {månaders period} ] ;
Define TimexTmeDat325 [ TimexTmeDat325a   EndTag(TimexTmeDat) ] ; 336

!R ([Ss]enaste|[Uu]nder|[Uu]nder" de sista"|[Dd]"e kommande"|[Dd]"e sista "[^\n\t ]+|[Ff]"örsta "[a-zåäö]+)" "[^\n\t ]*månader(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat326a
     [ [Ss {enaste} | Uu {nder} | Uu {nder de sista} | Dd {e kommande}
          | Dd {e sista } Ins(Word) | Ff {örsta } Ins(LowerWord)]
       { } NS* {månader} ({na}) ] ;
Define TimexTmeDat326 [ TimexTmeDat326a   EndTag(TimexTmeDat) ] ; 337

!R [1-9][0-9]?\-[1-9][0-9]" "{MNH}(" "[0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat327a [ Num19x {-} Num19X { } Ins(MNH) ({ } Ins(Nums)) ] ;
Define TimexTmeDat327 [ TimexTmeDat327a   EndTag(TimexTmeDat) ] ; 338

!R (Mån|Tis|Ons|Tors|Fre|Lör|Sön)dag(en)?" "([1-3][0-9]|[1-9])" "{MNH}(" "[0-9][0-9]\:[0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat328a
     [ [{Mån} | {Tis} | {Ons} | {Tors} | {Fre} | {Lör} | {Sön}] {dag} ({en})
       { } [Num13X | Num19] { } Ins(MNH) ({ } Ins(Nums2) {:} Ins(Nums2)) ] ;
Define TimexTmeDat328 [ TimexTmeDat328a   EndTag(TimexTmeDat) ] ; 339

!R ([1-3][0-9]|[1-9])" "{MNH}(" "[0-9][0-9]\:[0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat329a [ [Num13X | Num19] { } Ins(MNH) ({ } Ins(Nums2) {:} Ins(Nums2)) ] ;
Define TimexTmeDat329 [ TimexTmeDat329a   EndTag(TimexTmeDat) ] ; 340

!R ([Ss]enast" ")?(Januari|Februari|Augusti|September|Oktober|November|December)(" "[0-9][0-9]|" \-"[0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat330a
     [ (Ss {enast })
       [{Januari} | {Februari} | {Augusti} | {September} | {Oktober}
          | {November} | {December}]
       ({ } Ins(Nums2) | { -} Ins(Nums2)) ] ;
Define TimexTmeDat330 [ TimexTmeDat330a   EndTag(TimexTmeDat) ] ; 341

!R ([Ff]lera|[0-9]+\-[0-9]+)" månader"(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat331a [ [Ff {lera} | Ins(NumRange)] { månader} ({na}) ] ;
Define TimexTmeDat331 [ TimexTmeDat331a   EndTag(TimexTmeDat) ] ; 342

!R (Mån|Tis|Ons|Tors|Fre|Lör|Sön)dag(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat332a
     [ [{Mån} | {Tis} | {Ons} | {Tors} | {Fre} | {Lör} | {Sön}] {dag} ({en}) ] ;
Define TimexTmeDat332 [ TimexTmeDat332a   EndTag(TimexTmeDat) ] ; 343

!R debut" "[123][0-9]\/[1-9][0-9]?
!A {printTME(yytext,1);}

Define TimexTmeDat333a [ Num13X {/} Num19x ] ;
Define TimexTmeDat333
     [ TimexTmeDat333a
       LC({debut })
       EndTag(TimexTmeDat) ] ; 344

!R {DAY}dag" "[1-9][0-9]?" "(jan|feb|feb|mars|apr|maj|jun|jul|aug|sep|sept|okt|nov|dec)" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat334a
     [ Ins(DAYdag) { } Num19x { }
       [{jan} | {feb} | {mars} | {apr} | {maj} | {jun} | {jul} | {aug}
          | {sep} | {sept} | {okt} | {nov} | {dec}]
       { } Ins(YearNum) ] ;
Define TimexTmeDat334 [ TimexTmeDat334a   EndTag(TimexTmeDat) ] ; 345

!R [1-9][0-9]?" "(jan|feb|febr|mars|apr|maj|jun|jul|aug|sep|sept|[Oo]kt|nov|dec)" kl "[012][0-9]\:[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat335a
     [ Num19x { }
       [{jan} | {feb} | {febr} | {mars} | {apr} | {maj} | {jun} | {jul}
          | {aug} | {sep} | {sept} | Oo {kt} | {nov} | {dec}]
       { kl } Num02X {:} Ins(Nums2) ] ;
Define TimexTmeDat335 [ TimexTmeDat335a   EndTag(TimexTmeDat) ] ; 346

!R [1-9][0-9]?" "(jan|feb|febr|mars|apr|maj|jun|jul|aug|sep|sept|[Oo]kt|nov|dec)\.?" "([12][0-9][0-9][0-9]|\-[0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat336a
     [ Num19x { }
       [{jan} | {feb} | {febr} | {mars} | {apr} | {maj} | {jun} | {jul}
          | {aug} | {sep} | {sept} | Oo {kt} | {nov} | {dec}]
       ({.}) { } [Ins(YearNum) | {-} Ins(Nums2)] ] ;
Define TimexTmeDat336 [ TimexTmeDat336a   EndTag(TimexTmeDat) ] ; 347

!R [1-9][0-9]?" "(jan|feb|febr|mars|apr|maj|jun|jul|aug|sep|sept|[Oo]kt|nov|dec)" "
!A {int i=0; printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">");	for(;i<yyleng-1;putchar(yytext[i++])); printf("</TIMEX> ");}

Define TimexTmeDat337a
     [ Num19x { }
       [{jan} | {feb} | {febr} | {mars} | {apr} | {maj} | {jun} | {jul}
          | {aug} | {sep} | {sept} | Oo {kt} | {nov} | {dec}] ] ;
Define TimexTmeDat337 [ TimexTmeDat337a   RC({ })   EndTag(TimexTmeDat) ] ; 348

!R [Ii]" "[a-zåäö]+" af "[^\n ]+ii" månad"
!A {printTME(yytext,0);}

Define TimexTmeDat338a [ Ii { } Ins(LowerWord) { af } Word {ii månad} ] ;
Define TimexTmeDat338 [ TimexTmeDat338a   EndTag(TimexTmeDat) ] ; 349

!R ([Uu]nder|I" "|[Ss]edan" "|[Ss]enast" "|[Ss]enaste" ")("slutet av "|"början av "|"slutet af "|"början af ")?([a-z]+\-)?(jan|feb|febr|mars|apr|maj|jun|jul|aug|sep|sept|okt|nov|dec)[a-zåäö]*("\-"[0-9][0-9]|" \-"[0-9][0-9]|" "[12][0-9][0-9][0-9]|" förra året")?
!A {printTME(yytext,0);}

Define TimexTmeDat339a
     [ [Uu {nder} | {I } | Ss {edan } | Ss {enast } | Ss {enaste }]
       ({slutet av } | {början av } | {slutet af } | {början af })
       (LowerWord {-})
       [{jan} | {feb} | {febr} | {mars} | {apr} | {maj} | {jun} | {jul}
          | {aug} | {sep} | {sept} | {okt} | {nov} | {dec}]
       Lower* ({-} Ins(Nums2) | { -} Ins(Nums2) | { } Ins(YearNum) | { förra året}) ] ;
Define TimexTmeDat339 [ TimexTmeDat339a   EndTag(TimexTmeDat) ] ; 350

!R (jan|feb|[Ff]ebr|mars|apr|maj|jun|jul|julii|aug|sep|sept|okt|nov|dec)(" "[12][0-9][0-9][0-9]|" "\-[0-9][0-9]|\-[0-9][0-9]|\-[0-9][0-9][0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat340a
     [{jan} | {feb} | Ff {ebr} | {mars} | {apr} | {maj} | {jun} | {jul}
        | {julii} | {aug} | {sep} | {sept} | {okt} | {nov} | {dec}]
     [{ } Ins(YearNum) | { -} Ins(Nums2) | {-} Ins(Nums2) | {-} Ins(Nums4)] ;
Define TimexTmeDat340 [ TimexTmeDat340a   EndTag(TimexTmeDat) ] ; 351

!R [Ff]"ör "[^\n\t ]+" mån sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat341a [ Ff {ör } Ins(Word) { mån sedan} ] ;
Define TimexTmeDat341 [ TimexTmeDat341a   EndTag(TimexTmeDat) ] ; 352

!R [Ss]"edan "[^\n\t ]+" mån tillbaka"
!A {printTME(yytext,0);}

Define TimexTmeDat342a [ Ss {edan } Ins(Word) { mån tillbaka} ] ;
Define TimexTmeDat342 [ TimexTmeDat342a   EndTag(TimexTmeDat) ] ; 353

!R "den "[12][0-9]\.1[012]
!A {printTME(yytext,1);}

Define TimexTmeDat343a [ Num12X {.1} Num02 ] ;
Define TimexTmeDat343
     [ TimexTmeDat343a
       LC({den })
       EndTag(TimexTmeDat) ] ; 354

!R [Ff]rån" "[12][0-9][0-9][0-9]" till "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat344a [ Ff {rån } Ins(YearNum) { till } Ins(YearNum) ] ;
Define TimexTmeDat344 [ TimexTmeDat344a   EndTag(TimexTmeDat) ] ; 355

!R [1-9]\-[1-9]" mån\."
!A {printTME(yytext,0);}

Define TimexTmeDat345a [ Num19 {-} Num19 { mån.} ] ;
Define TimexTmeDat345 [ TimexTmeDat345a   EndTag(TimexTmeDat) ] ; 356

!R senaste" "[1-9]" mån\."
!A {printTME(yytext,0);}

Define TimexTmeDat346a [ {senaste } Num19 { mån.} ] ;
Define TimexTmeDat346 [ TimexTmeDat346a   EndTag(TimexTmeDat) ] ; 357

!R [0-9]+" månader\-"[0-9]+" år"
!A {printTME(yytext,0);}

Define TimexTmeDat347a [ Ins(Nums) { månader-} Ins(Nums) { år} ] ;
Define TimexTmeDat347 [ TimexTmeDat347a   EndTag(TimexTmeDat) ] ; 358

!R [Uu]nder" "{MNH}" "[12][0-9][0-9][0-9]"\-"{MNH}" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat348a [ Uu {nder } Ins(MNH) { } Ins(YearNum) {-} Ins(MNH) { } Ins(YearNum) ] ;
Define TimexTmeDat348 [ TimexTmeDat348a   EndTag(TimexTmeDat) ] ; 359

!R {NUM}" mån sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat349a [ Ins(NUM) { mån sedan} ] ;
Define TimexTmeDat349 [ TimexTmeDat349a   EndTag(TimexTmeDat) ] ; 360

!R ([Mm]ed|[Vv]id|[Mm]inst|[Mm]indre" än"|[Uu]nder|[Ee]fter)" "[^\n\t ]+" "(halvårs|års|månaders|veckors)" "(uppföljning|intervall|duration)(stid)?
!A {printTME(yytext,0);}

Define TimexTmeDat350a
     [ [Mm {ed} | Vv {id} | Mm {inst} | Mm {indre än} | Uu {nder}
          | Ee {fter}]
       { } Ins(Word) { } [{halvårs} | {års} | {månaders} | {veckors}] { }
       [{uppföljning} | {intervall} | {duration}] ({stid}) ] ;
Define TimexTmeDat350 [ TimexTmeDat350a   EndTag(TimexTmeDat) ] ; 361

!R ([Mm]ed|[Vv]id|[Mm]inst|[Uu]nder|[Ee]fter)" "[^\n\t ]+" "uppföljningstid" "(på|av)" "([a-zåäö]+" ")?[0-9][0-9\,]+" "år
!A {printTME(yytext,0);}

Define TimexTmeDat351a
     [ [Mm {ed} | Vv {id} | Mm {inst} | Uu {nder} | Ee {fter}] { } Ins(Word)
       { uppföljningstid } [{på} | {av}] { } (Ins(LowerWord) { }) Num DigitCommas
       { år} ] ;
Define TimexTmeDat351 [ TimexTmeDat351a   EndTag(TimexTmeDat) ] ; 362

!R [Tt]ill" och med "{MNH}" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat352a [ Tt {ill och med } Ins(MNH) { } Ins(YearNum) ] ;
Define TimexTmeDat352 [ TimexTmeDat352a   EndTag(TimexTmeDat) ] ; 363

!R ([Dd]ec|[Jj]an|{MNH})" "([12][\-0-9]+|\-[0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat353a
     [Dd {ec} | Jj {an} | Ins(MNH)] { } [Num12DigitDashes | {-} Ins(Nums2)] ;
Define TimexTmeDat353 [ TimexTmeDat353a   EndTag(TimexTmeDat) ] ; 364

!R ([123][0-9]" och ")?[123][0-9]" "{MNH}" "[12][0-9][0-9][0-9]" "[012][0-9]\:[0-5][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat354a
     [ (Num13X { och }) Num13X { } Ins(MNH) { } Ins(YearNum) { } Num02X {:}
       ["0"|"1"|"2"|"3"|"4"|"5"] Num ] ;
Define TimexTmeDat354 [ TimexTmeDat354a   EndTag(TimexTmeDat) ] ; 365

!R [Mm]ellan" månad "[a-zåäö]+" och "[a-zåäö]+
!A {printTME(yytext,0);}

Define TimexTmeDat355a [ Mm {ellan månad } Ins(LowerWord) { och } LowerWord ] ;
Define TimexTmeDat355 [ TimexTmeDat355a   EndTag(TimexTmeDat) ] ; 366

!R [Uu]nder" den andra och tredje trimester"(n)?
!A {printTME(yytext,0);}

Define TimexTmeDat356a [ Uu {nder den andra och tredje trimester} ({n}) ] ;
Define TimexTmeDat356 [ TimexTmeDat356a   EndTag(TimexTmeDat) ] ; 367

!R ([Uu]nder" "|[Ii]" första respektive ")?(den" ")?(sista|första|andra|tredje)" "("och andra ")?trimestern
!A {printTME(yytext,0);}

Define TimexTmeDat357a
     [ (Uu {nder } | Ii { första respektive }) ({den })
       [{sista} | {första} | {andra} | {tredje}] { } ({och andra })
       {trimestern} ] ;
Define TimexTmeDat357 [ TimexTmeDat357a   EndTag(TimexTmeDat) ] ; 368

!R (Första|Andra|Tredje)" "trimestern
!A {printTME(yytext,0);}

Define TimexTmeDat358a [ [{Första} | {Andra} | {Tredje}] { trimestern} ] ;
Define TimexTmeDat358 [ TimexTmeDat358a   EndTag(TimexTmeDat) ] ; 369

!R Kvällen" före kom"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Kvällen före</TIMEX> kom");}

Define TimexTmeDat359
     [ {Kvällen före}
       RC({ kom})
       EndTag(TimexTmeDat) ] ; 370

!R Kvällen" före blev"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Kvällen före</TIMEX> blev");}

Define TimexTmeDat360
     [ {Kvällen före}
       RC({ blev})
       EndTag(TimexTmeDat) ] ; 371

!R " en månad efter"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">en månad</TIMEX> efter");}

Define TimexTmeDat361
     [ {en månad}
       LC({ })
       RC({ efter})
       EndTag(TimexTmeDat) ] ; 372

!R [Mm]ånadsskiftet" "[a-z]+" \/ "[a-z]+(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat362a
     [ Mm {ånadsskiftet } Ins(LowerWord) { / } LowerWord ({ } Ins(YearNum)) ] ;
Define TimexTmeDat362 [ TimexTmeDat362a   EndTag(TimexTmeDat) ] ; 373

!R [Mm]ånadsskiftet" "[a-z]+\/[a-z]+(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat363a
     [ Mm {ånadsskiftet } LowerWord {/} LowerWord ({ } Ins(YearNum)) ] ;
Define TimexTmeDat363 [ TimexTmeDat363a   EndTag(TimexTmeDat) ] ; 374

!R (jan|feb|febr|mars|apr|maj|jun|jul|aug|sep|sept|okt|nov|dec)" "(\-[0-9][0-9]|[12][0-9][0-9][0-9]|\-[12][0-9][0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat364a
     [{jan} | {feb} | {febr} | {mars} | {apr} | {maj} | {jun} | {jul}
        | {aug} | {sep} | {sept} | {okt} | {nov} | {dec}]
     { } [{-} Ins(Nums2) | Ins(YearNum) | {-} Ins(YearNum)] ;
Define TimexTmeDat364 [ TimexTmeDat364a   EndTag(TimexTmeDat) ] ; 375

!R [Aa]v" dessa "[0-9]+" månader"
!A {printTME(yytext,0);}

Define TimexTmeDat365a [ Aa {v dessa } Ins(Nums) { månader} ] ;
Define TimexTmeDat365 [ TimexTmeDat365a   EndTag(TimexTmeDat) ] ; 376

!R [0-9]+" månader \, "[0-9]+" månader och därefter varje år"
!A {printTME(yytext,0);}

Define TimexTmeDat366a
     [ Ins(Nums) { månader , } Ins(Nums) { månader och därefter varje år} ] ;
Define TimexTmeDat366 [ TimexTmeDat366a   EndTag(TimexTmeDat) ] ; 377

!R [Ss]enast" "[1-9]\/[1-9]([012])?
!A {printTME(yytext,0);}

Define TimexTmeDat367a [ Ss {enast } Num19 {/} Num19 (Num02) ] ;
Define TimexTmeDat367 [ TimexTmeDat367a   EndTag(TimexTmeDat) ] ; 378

!R {MNH}" \-"[7890][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat368a [ Ins(MNH) { -} ["7"|"8"|"9"|"0"] Num ] ;
Define TimexTmeDat368 [ TimexTmeDat368a   EndTag(TimexTmeDat) ] ; 379

!R ([Ff]örst" ")?[Ee]fter" "[0-9]+" mån"(ader|\.|aders" "tid)?
!A {printTME(yytext,0);}

Define TimexTmeDat369a
     [ (Ff {örst }) Ee {fter } Ins(Nums) { mån} ({ader} | {.} | {aders tid}) ] ;
Define TimexTmeDat369 [ TimexTmeDat369a   EndTag(TimexTmeDat) ] ; 380

!R "tid är "[0-9]+" månader"
!A {printTME(yytext,2);}

Define TimexTmeDat370a [ Ins(Nums) { månader} ] ;
Define TimexTmeDat370
     [ TimexTmeDat370a
       LC({tid är })
       EndTag(TimexTmeDat) ] ; 381

!R [Nn]u" i "[0-9]+\:e" "[^\n ]*månaden
!A {printTME(yytext,0);}

Define TimexTmeDat371a [ Nn {u i } Ins(Nums) {:e } NS* {månaden} ] ;
Define TimexTmeDat371 [ TimexTmeDat371a   EndTag(TimexTmeDat) ] ; 382

!R ([Tt]idigast" ")?([Ff]rån|[Ee]fter)" "[^\n ]+årsmånaden
!A {printTME(yytext,0);}

Define TimexTmeDat372a
     [ (Tt {idigast }) [Ff {rån} | Ee {fter}] { } Word {årsmånaden} ] ;
Define TimexTmeDat372 [ TimexTmeDat372a   EndTag(TimexTmeDat) ] ; 383

!R ([Dd]e" sista"|[Ss]enaste)" "[^\n ]+" månaderna"
!A {printTME(yytext,0);}

Define TimexTmeDat373a
     [ [Dd {e sista} | Ss {enaste}] { } Ins(Word) { månaderna} ] ;
Define TimexTmeDat373 [ TimexTmeDat373a   EndTag(TimexTmeDat) ] ; 384

!R [Dd]en" "[^\n ]+" "(februarii|Mars|[Jj]ulii)(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat374a
     [ Dd {en } Ins(Word) { } [{februarii} | {Mars} | Jj {ulii}] ({ } Ins(YearNum)) ] ;
Define TimexTmeDat374 [ TimexTmeDat374a   EndTag(TimexTmeDat) ] ; 385

!R [Ii]" "(februarii|Mars|[Jj]ulii)" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat375a
     [ Ii { } [{februarii} | {Mars} | Jj {ulii}] { } Ins(YearNum) ] ;
Define TimexTmeDat375 [ TimexTmeDat375a   EndTag(TimexTmeDat) ] ; 386

!R [Ss]enast" "[0-9][0-9]"\:e "{MNH}" påföljande år"
!A {printTME(yytext,0);}

Define TimexTmeDat376a [ Ss {enast } Ins(Nums2) {:e } Ins(MNH) { påföljande år} ] ;
Define TimexTmeDat376 [ TimexTmeDat376a   EndTag(TimexTmeDat) ] ; 387

!R ([Ii]nom" ")?[0-9]+" månaders väntetid"
!A {printTME(yytext,0);}

Define TimexTmeDat377a [ (Ii {nom }) Ins(Nums) { månaders väntetid} ] ;
Define TimexTmeDat377 [ TimexTmeDat377a   EndTag(TimexTmeDat) ] ; 388

!R [Ee]n" och en halv månad "(sen|sedan)
!A {printTME(yytext,0);}

Define TimexTmeDat378a [ Ee {n och en halv månad } [{sen} | {sedan}] ] ;
Define TimexTmeDat378 [ TimexTmeDat378a   EndTag(TimexTmeDat) ] ; 389

!R [Uu]nder" "[12][0-9][0-9][0-9]" månad för månad"
!A {printTME(yytext,0);}

Define TimexTmeDat379a [ Uu {nder } Ins(YearNum) { månad för månad} ] ;
Define TimexTmeDat379 [ TimexTmeDat379a   EndTag(TimexTmeDat) ] ; 390

!R [Uu]nder" "(de|den)" "(första)" "[^\n\t ]+a" "månade[nr](na)?
!A {printTME(yytext,0);}

Define TimexTmeDat380a
     [ Uu {nder } [{de} | {den}] { första } Word {a månade} ["n"|"r"] ({na}) ] ;
Define TimexTmeDat380 [ TimexTmeDat380a   EndTag(TimexTmeDat) ] ; 391

!R [Uu]nder" "de" "({NUM}|[^\n\t ]+a|närmaste|föregående|senaste|gångna|närmast" "föregående)" "[^\n\t ]+" "månader(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat381a
     [ Uu {nder de }
       [Ins(NUM) | Word {a} | {närmaste} | {föregående} | {senaste} | {gångna}
          | {närmast föregående}]
       { } Ins(Word) { månader} ({na}) ] ;
Define TimexTmeDat381 [ TimexTmeDat381a   EndTag(TimexTmeDat) ] ; 392

!R ([Öö]ver|[Uu]töver|[Ee]fter)" "de" "[^\n\< ]+" "månader(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat382a
     [ [["Ö"|"ö"] {ver} | Uu {töver} | Ee {fter}] { de } Ins(Word) { månader}
       ({na}) ] ;
Define TimexTmeDat382 [ TimexTmeDat382a   EndTag(TimexTmeDat) ] ; 393

!R [Uu]nder" "(årets|fjolårets)" "[a-zåäö]+" sista "månader
!A {printTME(yytext,0);}

Define TimexTmeDat383a
     [ Uu {nder } [{årets} | {fjolårets}] { } Ins(LowerWord) { sista månader} ] ;
Define TimexTmeDat383 [ TimexTmeDat383a   EndTag(TimexTmeDat) ] ; 394

!R [Dd]e" "(första|kommande|sista)" "[^\n\< ]+" "månader(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat384a
     [ Dd {e } [{första} | {kommande} | {sista}] { } Ins(Word) { månader} ({na}) ] ;
Define TimexTmeDat384 [ TimexTmeDat384a   EndTag(TimexTmeDat) ] ; 395

!R [0-9]+" år och "[0-9]+" "månader
!A {printTME(yytext,0);}

Define TimexTmeDat385a [ Ins(Nums) { år och } Ins(Nums) { månader} ] ;
Define TimexTmeDat385 [ TimexTmeDat385a   EndTag(TimexTmeDat) ] ; 396

!R [0-9]+" år \, "[0-9]+" "månader
!A {printTME(yytext,0);}

Define TimexTmeDat386a [ Ins(Nums) { år , } Ins(Nums) { månader} ] ;
Define TimexTmeDat386 [ TimexTmeDat386a   EndTag(TimexTmeDat) ] ; 397

!R (Sista|Första)" "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat387a [ [{Sista} | {Första}] { } Ins(MNH) ] ;
Define TimexTmeDat387 [ TimexTmeDat387a   EndTag(TimexTmeDat) ] ; 398

!R [Kk]l\." ½ "[1-9][0-9]?
!A {printTME(yytext,0);}

Define TimexTmeDat388a [ Kk {l. ½ } Num19x ] ;
Define TimexTmeDat388 [ TimexTmeDat388a   EndTag(TimexTmeDat) ] ; 399

!R [Tt]ill" och med "{MNH}" i somras"
!A {printTME(yytext,0);}

Define TimexTmeDat389a [ Tt {ill och med } Ins(MNH) { i somras} ] ;
Define TimexTmeDat389 [ TimexTmeDat389a   EndTag(TimexTmeDat) ] ; 400

!R {MNH}" "([12][0-9][0-9][0-9]|\-[0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat390a [ Ins(MNH) { } [Ins(YearNum) | {-} Ins(Nums2)] ] ;
Define TimexTmeDat390 [ TimexTmeDat390a   EndTag(TimexTmeDat) ] ; 401

!R {MNH}" nästa år"
!A {printTME(yytext,0);}

Define TimexTmeDat391a [ Ins(MNH) { nästa år} ] ;
Define TimexTmeDat391 [ TimexTmeDat391a   EndTag(TimexTmeDat) ] ; 402

!R {MNH}" förra året"
!A {printTME(yytext,0);}

Define TimexTmeDat392a [ Ins(MNH) { förra året} ] ;
Define TimexTmeDat392 [ TimexTmeDat392a   EndTag(TimexTmeDat) ] ; 403

!R {MNH}" "\-[012][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat393a [ Ins(MNH) { -} Num02X ] ;
Define TimexTmeDat393 [ TimexTmeDat393a   EndTag(TimexTmeDat) ] ; 404

!R [0-9]+" "{MNH}\-[0-9]+" "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat394a [ Ins(Nums) { } Ins(MNH) {-} Ins(Nums) { } Ins(MNH) ] ;
Define TimexTmeDat394 [ TimexTmeDat394a   EndTag(TimexTmeDat) ] ; 405

!R [Ii]\_början\_av" "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat395a [ Ii {_början_av } Ins(MNH) ] ;
Define TimexTmeDat395 [ TimexTmeDat395a   EndTag(TimexTmeDat) ] ; 406

!R [Nn]u" i "{MNH}
!A {printTME(yytext,0);}

Define TimexTmeDat396a [ Nn {u i } Ins(MNH) ] ;
Define TimexTmeDat396 [ TimexTmeDat396a   EndTag(TimexTmeDat) ] ; 407

!#  YEARS 

!R [Pp]erioden" "[0-9]+" "{MNH}" "[0-9]+\-[0-9]+" "{MNH}" "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat397a
     [ Pp {erioden } Ins(Nums) { } Ins(MNH) { } Ins(NumRange) { } Ins(MNH) { } Ins(Nums) ] ;
Define TimexTmeDat397 [ TimexTmeDat397a   EndTag(TimexTmeDat) ] ; 408

!R " är det ett år "
!A {printf(" är det <TIMEX TYPE=\"TME\" SBT=\"DAT\">ett år</TIMEX> ");}

Define TimexTmeDat398
     [ {ett år}
       LC({ är det })
       RC({ })
       EndTag(TimexTmeDat) ] ; 409

!R ([Ss]edan|[Åå]r|[^\n\t ]*[Åå]ret|[Rr]edan|"fram till"|[Ff]rån" och med"|[Tt]ill" och med"|förrän" omkring"|[Ff]örrän)" "[12][0-9][0-9][0-9](\/[0-9]+|\-[0-9][0-9]\-[0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat399a
     [ [Ss {edan} | ["Å"|"å"] {r} | NS* ["Å"|"å"] {ret} | Rr {edan}
          | {fram till} | Ff {rån och med} | Tt {ill och med} | {förrän omkring}
          | Ff {örrän}]
       { } Ins(YearNum) ({/} Ins(Nums) | {-} Ins(Nums2Range)) ] ;
Define TimexTmeDat399 [ TimexTmeDat399a   EndTag(TimexTmeDat) ] ; 410

!R [Pp]å" "nyårsdagen(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat400a [ Pp {å nyårsdagen} ({ } Ins(YearNum)) ] ;
Define TimexTmeDat400 [ TimexTmeDat400a   EndTag(TimexTmeDat) ] ; 411

!R ([Uu]ngefär" ")?([Åå]"ren runt "|[Ff]"ram till och efter "|[Vv]id" varje "|[Vv]id" "|[Kk]"ring "|[Ff]"rån "|[Ss]"edan "|[Rr]unt" "|[Uu]"nder "|[Ff]öre" "|[Tt]"ill "|[Ee]"fter "|[Ff]"örra "|Sen" ")?[^\n\t ]*(illenie|illennie|års|sekel|månads)skiftet(" "[012][0-9][0-9][0-9\/\-]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat401a
     [ (Uu {ngefär })
       (["Å"|"å"] {ren runt } | Ff {ram till och efter } | Vv {id varje }
         | Vv {id } | Kk {ring } | Ff {rån } | Ss {edan } | Rr {unt }
         | Uu {nder } | Ff {öre } | Tt {ill } | Ee {fter } | Ff {örra } | {Sen })
       NS* [{illenie} | {illennie} | {års} | {sekel} | {månads}] {skiftet}
       ({ } Num02 Ins(Nums2) [Num|"/"|"-"]+) ] ;
Define TimexTmeDat401 [ TimexTmeDat401a   EndTag(TimexTmeDat) ] ; 412

!R (Först" "|[Pp]å" "[Rr]unt" "|[Oo]mkring" "|[Ff]ram" till ")år" "[0-9]+" "[EeFf](" \."[Kk]r|" "[Kk]r|\.[Kk]r\.|\.[Kk]r|\." "[Kk]r)
!A {printTME(yytext,0);}

Define TimexTmeDat402a
     [{Först } | Pp {å } Rr {unt } | Oo {mkring } | Ff {ram till }] {år }
     Ins(Nums) { } ["E"|"e"|"F"|"f"]
     [{ .} Kk {r} | { } Kk {r} | {.} Kk {r.} | {.} Kk {r} | {. } Kk {r}] ;
Define TimexTmeDat402 [ TimexTmeDat402a   EndTag(TimexTmeDat) ] ; 413

!R (Först" "|[Pp]å" "[Rr]unt" "|[Oo]mkring" "|[Ff]ram" till ")?[1-9][0-9\-]+(\-talet)?" "("år ")?[EeFf](" \."[Kk]r|" "[Kk]r|\.[Kk]r\.|\.[Kk]r|\." "[Kk]r)
!A {printTME(yytext,0);}

Define TimexTmeDat403a
     [ ({Först } | Pp {å } Rr {unt } | Oo {mkring } | Ff {ram till }) Num19
       DigitDashes ({-talet}) { } ({år }) ["E"|"e"|"F"|"f"]
       [{ .} Kk {r} | { } Kk {r} | {.} Kk {r.} | {.} Kk {r} | {. } Kk {r}] ] ;
Define TimexTmeDat403 [ TimexTmeDat403a   EndTag(TimexTmeDat) ] ; 414

!#  MOD (Jyrki Niemi): Allow "års": this makes the result slightly
!# 	   different from that of the original recognizer but includes a NE
!# 	   that would otherwise have been removed by the correction filter.
!# 	   Also require a word boundary as the right context. 

!R ([Ii]" mer än "|[Pp]å" över "|[Uu]nder" mer än "|[Pp]å" "|[Ff]ör" ungefär "|[Ff]ör" nästan "|[Ff]ör" ett "|[Ff]ör" "|[Ff]ör" snart "|[Ee]fter" "|[Ii]" "|[Öö]ver" "|[Nn]"ästan ")?(ytterligare" "|minst" "|ca" "|"c\:a "|[Cc]irka" "|"mer än "|"drygt "|snart" "|knappt" ")?([Nn]ågra|flera|[Tt]vå|[Ee]tt|ett" knappt"|[Tt]re|[Ff]yra|[^\n\t ]*[Ff]em|[Ss]ex|[Ss]ju|[Åå]tta|[Nn]io|[Tt]io|[Tt]jugo|[1-9]" 1\/2"|[1-9]" och 1\/2"|[0-9]+|[0-9]+\-[0-9]+|[^\n\t ]*[Hh]undra|[^\n\t ]+ton|[^\n\t ]+" och ett halvt"|"ett halvt"|[Ff]ör" "[^\n\t ]+|[Ee]"tt par"|{NUM})(" hundra"|" miljoner"|" tusen")?" år"(" framåt i tiden"|" tillbaka i tiden"|ssikt|s" "sikt|s" "tid|" "sedan|" "tidigare|" tillbaka"|" eller mer"|" "senare|" "sen|" senare "[12][0-9][0-9][0-9]|" senare \, "[12][0-9][0-9][0-9]|s)?" "
!A {printTME(yytext,11);}

Define TimexTmeDat404a
     [ (Ii { mer än } | Pp {å över } | Uu {nder mer än } | Pp {å }
         | Ff {ör ungefär } | Ff {ör nästan } | Ff {ör ett } | Ff {ör }
         | Ff {ör snart } | Ee {fter } | Ii { } | ["Ö"|"ö"] {ver } | Nn {ästan })
       ({ytterligare } | {minst } | {ca } | {c:a } | Cc {irka } | {mer än }
         | {drygt } | {snart } | {knappt })
       [Nn {ågra} | {flera} | Tt {vå} | Ee {tt} | {ett knappt} | Tt {re}
          | Ff {yra} | NS* Ff {em} | Ss {ex} | Ss {ju} | ["Å"|"å"] {tta}
          | Nn {io} | Tt {io} | Tt {jugo} | Num19 { 1/2} | Num19 { och 1/2}
          | Ins(Nums) | Ins(NumRange) | NS* Hh {undra} | Word {ton}
          | Ins(Word) { och ett halvt} | {ett halvt} | Ff {ör } Word | Ee {tt par}
          | Ins(NUM)]
       ({ hundra} | { miljoner} | { tusen}) { år}
       ({ framåt i tiden} | { tillbaka i tiden} | {ssikt} | {s sikt}
         | {s tid} | { sedan} | { tidigare} | { tillbaka} | { eller mer}
         | { senare} | { sen} | { senare } Ins(YearNum) | { senare , } Ins(YearNum) | {s}) ] ;
Define TimexTmeDat404 [ TimexTmeDat404a   RC({ })   EndTag(TimexTmeDat) ] ; 415

!R [Pp]å" "[^\n< ]+" "(dagars|veckors|månaders|års)" eller "[^\n< ]+" "(dagars|veckors|månaders|års)" "sikt
!A {printTME(yytext,0);}

Define TimexTmeDat405a
     [ Pp {å } Ins(Word) { } [{dagars} | {veckors} | {månaders} | {års}] { eller }
       Ins(Word) { } [{dagars} | {veckors} | {månaders} | {års}] { sikt} ] ;
Define TimexTmeDat405 [ TimexTmeDat405a   EndTag(TimexTmeDat) ] ; 416

!R [Pp]å" "[^\n< ]+" "(vecko|daga|månade|å)es" "sikt
!A {printTME(yytext,0);}

Define TimexTmeDat406a
     [ Pp {å } Ins(Word) { } [{vecko} | {daga} | {månade} | {å}] {es sikt} ] ;
Define TimexTmeDat406 [ TimexTmeDat406a   EndTag(TimexTmeDat) ] ; 417

!R ([Ff]ör" ")?([Dd]rygt" "|[Mm]"er än "|[Ee]fter" ")?[Ee]tt" "("kvarts ")?[a-zåäö]*sekel(" tillbaka"|" senare"|" sedan")?
!A {printTME(yytext,0);}

Define TimexTmeDat407a
     [ (Ff {ör }) (Dd {rygt } | Mm {er än } | Ee {fter }) Ee {tt } ({kvarts })
       Lower* {sekel} ({ tillbaka} | { senare} | { sedan}) ] ;
Define TimexTmeDat407 [ TimexTmeDat407a   EndTag(TimexTmeDat) ] ; 418

!R [Uu]nder" "(de|det)" aktuella "åre(t|n)(" \, "[12][0-9][0-9][0-9\-]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat408a
     [ Uu {nder } [{de} | {det}] { aktuella åre} [{t} | {n}]
       ({ , } Num12 Ins(Nums2) DigitDashes) ] ;
Define TimexTmeDat408 [ TimexTmeDat408a   EndTag(TimexTmeDat) ] ; 419

!R ([TtFfr]\.o\.m\.|[Tt]" o m"|[Ff]"r o m"|[Tt]"ill och med")" "[12][0-9][0-9][0-9]" "[1-9][0-9]?\/[1-9][012]?
!A {printTME(yytext,0);}

Define TimexTmeDat409a
     [ [["T"|"t"|"F"|"f"|"r"] {.o.m.} | Tt { o m} | Ff {r o m}
          | Tt {ill och med}]
       { } Ins(YearNum) { } Num19x {/} Num19 (Num02) ] ;
Define TimexTmeDat409 [ TimexTmeDat409a   EndTag(TimexTmeDat) ] ; 420

!R ([TtFfr]\.o\.m\.|[Tt]" o m"|[Ff]"r o m"|[Tt]"ill och med")" "[12][0-9][0-9][0-9]"\-"[0-9][0-9]"\-"[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat410a
     [ [["T"|"t"|"F"|"f"|"r"] {.o.m.} | Tt { o m} | Ff {r o m}
          | Tt {ill och med}]
       { } Ins(YearNum) {-} Ins(Nums2) {-} Ins(Nums2) ] ;
Define TimexTmeDat410 [ TimexTmeDat410a   EndTag(TimexTmeDat) ] ; 421

!R ([TtFfr]\.o\.m\.|[Tt]" o m"|[Ff]"r o m"|[Tt]"ill och med")" "[7890][0-9][0-9][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat411a
     [ [["T"|"t"|"F"|"f"|"r"] {.o.m.} | Tt { o m} | Ff {r o m}
          | Tt {ill och med}]
       { } ["7"|"8"|"9"|"0"] Nums4 Num ] ;
Define TimexTmeDat411 [ TimexTmeDat411a   EndTag(TimexTmeDat) ] ; 422

!R ([TtFfr]\.o\.m\.|[Tt]" o m"|[Ff]"r o m"|[Tt]"ill och med")" "[123]?[0-9]\.[12]?[1-9]\.[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat412a
     [ [["T"|"t"|"F"|"f"|"r"] {.o.m.} | Tt { o m} | Ff {r o m}
          | Tt {ill och med}]
       { } (Num13) Num {.} (Num12) Num19 {.} Ins(YearNum) ] ;
Define TimexTmeDat412 [ TimexTmeDat412a   EndTag(TimexTmeDat) ] ; 423

!R ([TtFfr]\.o\.m\.|[Tt]" o m"|[Ff]"r o m"|[Tt]"ill och med")" "[0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat413a
     [ [["T"|"t"|"F"|"f"|"r"] {.o.m.} | Tt { o m} | Ff {r o m}
          | Tt {ill och med}]
       { } Ins(Nums2Range) {-} Ins(Nums2) ] ;
Define TimexTmeDat413 [ TimexTmeDat413a   EndTag(TimexTmeDat) ] ; 424

!R ([TtFfr]\.o\.m\.|[Tt]" o m"|[Ff]"r o m"|[Tt]"ill och med")" "[1-9][0-9]?\/[1-9][0-9]?" \-"[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat414a
     [ [["T"|"t"|"F"|"f"|"r"] {.o.m.} | Tt { o m} | Ff {r o m}
          | Tt {ill och med}]
       { } Num19x {/} Num19x { -} Ins(Nums2) ] ;
Define TimexTmeDat414 [ TimexTmeDat414a   EndTag(TimexTmeDat) ] ; 425

!R ([TtFfr]\.o\.m\.|[Tt]" o m"|[Ff]"r o m"|[Tt]"ill och med"|[Ff]"rån och med")" "([1-9][0-9][0-9][0-9]|idag|vecka" "[0-9][0-9]?|mitten" av vecka "[0-9][0-9]?)
!A {printTME(yytext,0);}

Define TimexTmeDat415a
     [["T"|"t"|"F"|"f"|"r"] {.o.m.} | Tt { o m} | Ff {r o m}
        | Tt {ill och med} | Ff {rån och med}]
     { }
     [Num19 Nums2 Num | {idag} | {vecka } Ins(Nums12)
        | {mitten av vecka } Ins(Nums12)] ;
Define TimexTmeDat415 [ TimexTmeDat415a   EndTag(TimexTmeDat) ] ; 426

!R [Uu]nder" "kontrollåren" "[0-9]+" och "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat416a [ Uu {nder kontrollåren } Ins(Nums) { och } Ins(Nums) ] ;
Define TimexTmeDat416 [ TimexTmeDat416a   EndTag(TimexTmeDat) ] ; 427

!R [^\n\t ]+" till "[^\n\t ]+" års intervall"
!A {printTME(yytext,0);}

Define TimexTmeDat417a [ Ins(Word) { till } Ins(Word) { års intervall} ] ;
Define TimexTmeDat417 [ TimexTmeDat417a   EndTag(TimexTmeDat) ] ; 428

!R ([Uu]nder|[Dd]e|[Dd]et|[Uu]nder" "de|[Uu]nder" "det|[Pp]å|[Ss]edan|[Dd]om)" "(ett|andra|dryga|första|senare|senaste|sista" "[0-9]+|sista)" "(halv|krigs)?år(stid|s" "tid|et|en|tiondena|"et "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat418a
     [ [Uu {nder} | Dd {e} | Dd {et} | Uu {nder de} | Uu {nder det} | Pp {å}
          | Ss {edan} | Dd {om}]
       { }
       [{ett} | {andra} | {dryga} | {första} | {senare} | {senaste}
          | {sista } Ins(Nums) | {sista}]
       { } ({halv} | {krigs}) {år}
       ({stid} | {s tid} | {et} | {en} | {tiondena} | {et } Ins(YearNum)) ] ;
Define TimexTmeDat418 [ TimexTmeDat418a   EndTag(TimexTmeDat) ] ; 429

!R ([Uu]nder" "|[Pp]å" ")?[0-9]+\-" och "[0-9]+\-tal[etns]+
!A {printTME(yytext,0);}

Define TimexTmeDat419a
     [ (Uu {nder } | Pp {å }) Ins(Nums) {- och } Ins(Nums) {-tal} ["e"|"t"|"n"|"s"]+ ] ;
Define TimexTmeDat419 [ TimexTmeDat419a   EndTag(TimexTmeDat) ] ; 430

!R ([Ss]enare" i"|[Hh]ittills" i"|[Nn]u" i"|[Uu]nder|[Ii]|[SsRr]edan" i"|[Ss]enast" i"|[Ss]edan|[Tt]idigare" i"|[Ff]rån" tidigare"|[Ff]rån" i")" åren"(" "[12][0-9][0-9][0-9]|" "[12][0-9][0-9][0-9]\-[0-9]+|" "[12][0-9][0-9][0-9]" \- "[0-9]+)
!A {printTME(yytext,0);}

Define TimexTmeDat420a
     [Ss {enare i} | Hh {ittills i} | Nn {u i} | Uu {nder} | Ii
        | ["S"|"s"|"R"|"r"] {edan i} | Ss {enast i} | Ss {edan}
        | Tt {idigare i} | Ff {rån tidigare} | Ff {rån i}]
     { åren} [{ } Ins(YearNum) | { } Ins(YearNum) {-} Ins(Nums) | { } Ins(YearNum) { - } Ins(Nums)] ;
Define TimexTmeDat420 [ TimexTmeDat420a   EndTag(TimexTmeDat) ] ; 431

!R ([Ss]enare" i"|[Hh]ittills" i"|[Nn]u" i"|[Uu]nder|[Ii]|[SsRr]edan" i"|[Ss]en" i"|[Ss]enast" i"|[SsRr]edan|[Tt]idigare" i"|[Ff]rån" tidigare"|[Ff]rån" i")" "("flera "|{NUM}" ")?(åratal|sekler|årtionde[tn]|årtionden|manår|år|fjol|fjolsomras|påskas|våras|höstas|höst|hösten|sommras|somras|vintras|somrar|somrarna|vintrarna|vintrar|"våras\-somras")(" "[12][0-9][0-9][0-9]|" \-"[0-9][0-9]|" "senare|" "sednare|" framåt i tiden"|" bakåt i tiden")?
!A {printTME(yytext,0);}

Define TimexTmeDat421a
     [ [Ss {enare i} | Hh {ittills i} | Nn {u i} | Uu {nder} | Ii
          | ["S"|"s"|"R"|"r"] {edan i} | Ss {en i} | Ss {enast i}
          | ["S"|"s"|"R"|"r"] {edan} | Tt {idigare i} | Ff {rån tidigare}
          | Ff {rån i}]
       { } ({flera } | Ins(NUM) { })
       [{åratal} | {sekler} | {årtionde} ["t"|"n"] | {årtionden} | {manår}
          | {år} | {fjol} | {fjolsomras} | {påskas} | {våras} | {höstas}
          | {höst} | {hösten} | {sommras} | {somras} | {vintras} | {somrar}
          | {somrarna} | {vintrarna} | {vintrar} | {våras-somras}]
       ({ } Ins(YearNum) | { -} Ins(Nums2) | { senare} | { sednare} | { framåt i tiden}
         | { bakåt i tiden}) ] ;
Define TimexTmeDat421 [ TimexTmeDat421a   EndTag(TimexTmeDat) ] ; 432

!#  removed för

!R ([Uu]nder" "|[Ss]enare" "|[RrSs]edan" ")?([Ii]nför|[Ii]nnan|[Pp]å|[Rr]unt|[Ss]edan|[Ss]enast|[Tt]ill|[Uu]nder|[Vv]arje|För|[Ff]öre|[Ff]örra|[Ff]örrän|[Hh]ela|[Ii]|[Ff]rån|[Ee]fter|[Ff]r\.o\.m\.|[Tt]idigt" under"|[Aa]lla" de här"|[Bb]örjan" av"|[Dd]essa" "{NUM}|[Dd]e" "kommande|[Ff]ram" till slutet av"|[Ff]rån" och med i"|[Ff]rån" och med"|[Ff]rån" slutet av"|[Ff]ör" "hela|[Ff]ör" det gångna"|[Ii]" början "av|[Ii]" början "på|[Ii]" slutet "av|[Ii]" slutet av förra"|[Ii]" slutet av nästa"|[Ii]" slutet på förra"|[Mm]ot" slutet "av|[Mm]otsvarande" period förra"|[Nn]u" under"|[Nn]ästan" varje"|[Pp]å" hela"|[Rr]esten" av"|[SRsr]edan" förra"|[Ss]enare" delen av"|[Uu]nder" "kommande|[Uu]nder" alla "[^\n ]+|[Uu]nder" de gångna"|[Uu]nder" de här"|[Uu]nder" den gångna"|[Uu]nder" det gångna")" "("första "|"andra "|"nästa "|sen)?([^\n\t ]*halvåret|år|året|midsommar|sommarlovet|sommar|våren|hösten|[^\n\t ]*sommaren|sommarens" "högsäsong|helåret|"årets slut"|vinter" och vår"|vintern|vinter|vintertid|sommartid|året|åren|den" där "våren|den" "våren)(" och vintern"|" och sommaren"|" och hösten")?(" "[12][0-9]+|" i år")?
!A {printTME(yytext,0);}

Define TimexTmeDat422a
     [ (Uu {nder } | Ss {enare } | ["R"|"r"|"S"|"s"] {edan })
       [Ii {nför} | Ii {nnan} | Pp {å} | Rr {unt} | Ss {edan} | Ss {enast}
          | Tt {ill} | Uu {nder} | Vv {arje} | {För} | Ff {öre} | Ff {örra}
          | Ff {örrän} | Hh {ela} | Ii | Ff {rån} | Ee {fter} | Ff {r.o.m.}
          | Tt {idigt under} | Aa {lla de här} | Bb {örjan av} | Dd {essa } Ins(NUM)
          | Dd {e kommande} | Ff {ram till slutet av} | Ff {rån och med i}
          | Ff {rån och med} | Ff {rån slutet av} | Ff {ör hela}
          | Ff {ör det gångna} | Ii { början av} | Ii { början på}
          | Ii { slutet av} | Ii { slutet av förra} | Ii { slutet av nästa}
          | Ii { slutet på förra} | Mm {ot slutet av}
          | Mm {otsvarande period förra} | Nn {u under} | Nn {ästan varje}
          | Pp {å hela} | Rr {esten av} | ["S"|"R"|"s"|"r"] {edan förra}
          | Ss {enare delen av} | Uu {nder kommande} | Uu {nder alla } Ins(Word)
          | Uu {nder de gångna} | Uu {nder de här} | Uu {nder den gångna}
          | Uu {nder det gångna}]
       { } ({första } | {andra } | {nästa } | {sen})
       [NS* {halvåret} | {år} | {året} | {midsommar} | {sommarlovet}
          | {sommar} | {våren} | {hösten} | NS* {sommaren}
          | {sommarens högsäsong} | {helåret} | {årets slut} | {vinter och vår}
          | {vintern} | {vinter} | {vintertid} | {sommartid} | {åren}
          | {den där våren} | {den våren}]
       ({ och vintern} | { och sommaren} | { och hösten})
       ({ } Ins(Num12Nums) | { i år}) ] ;
Define TimexTmeDat422 [ TimexTmeDat422a   EndTag(TimexTmeDat) ] ; 433

!R ([Dd]en" "[^\n\t ]+bara" "|[RrSs]"edan ")?([Jj]ulen|[Ss]ommar|[Vv]åren|[Hh]östen|[Ss]ommaren|[Vv]intern|[Ss]enast)" "(\-[0-9][0-9]|[12][0-9\-]+)
!A {printTME(yytext,0);}

Define TimexTmeDat423a
     [ (Dd {en } Word {bara } | ["R"|"r"|"S"|"s"] {edan })
       [Jj {ulen} | Ss {ommar} | Vv {åren} | Hh {östen} | Ss {ommaren}
          | Vv {intern} | Ss {enast}]
       { } [{-} Ins(Nums2) | Num12DigitDashes] ] ;
Define TimexTmeDat423 [ TimexTmeDat423a   EndTag(TimexTmeDat) ] ; 434

!R ([Ii]"bland ")?([Ii]nom" "ett|[Bb]ortåt" "ett|[Uu]nder" flera hundra"|Om" "[a-zåäö]+|[Ss]edan" några"|[Uu]"nder några"|[Ss]edan" "[0-9]+|[Ii]" över "[^\n\t ]+|[Ff]rån" "[^\n\t ]+månader" till ett"|[Ii]" upp till "[^\n\t ]+|flera|[Dd]rygt" "ett|[Kk]nappt" ett"|[Pp]å" "[^\n\t ]+" till "[^\n\t ]+|[Ii]"nom "[^\n\t ]+" till "[^\n\t ]+|[Uu]nder" "[^\n\t ]+[^\ng ]" till "[^\n\t ]+|[Pp]å" några få"|[Mm]ed" "[^\t\nk ][^\n\t ]+" "{NUM}|[Ee]fter" mer än "[^\n\t ]+|minst" "något|[Pp]"å månaders eller "något|På" "[^\n\t ]+|[Ee]fter" ca "[^\n\t ]+|[Ee]tt" "helt|[Ee]fter" "[^\n\t ]+" långa"|[Uu]"nder tusentals"|[Uu]"nder de "{NUM}" närmaste"|[Uu]"nder de "{NUM}|[Nn]ågot)" år"(en|"s sikt"|" senare"|" tidigare"|" sedan")?(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat424a
     [ (Ii {bland })
       [Ii {nom ett} | Bb {ortåt ett} | Uu {nder flera hundra}
          | {Om } Ins(LowerWord) | Ss {edan några} | Uu {nder några}
          | Ss {edan } Ins(Nums) | Ii { över } Ins(Word)
          | Ff {rån } Word {månader till ett} | Ii { upp till } Ins(Word) | {flera}
          | Dd {rygt ett} | Kk {nappt ett} | Pp {å } Ins(Word) { till } Ins(Word)
          | Ii {nom } Ins(Word) { till } Ins(Word)
          | Uu {nder } Word [NS - {g}] { till } Ins(Word) | Pp {å några få}
          | Mm {ed } [NS - {k}] Ins(Word) { } Ins(NUM) | Ee {fter mer än } Ins(Word)
          | {minst något} | Pp {å månaders eller något} | {På } Ins(Word)
          | Ee {fter ca } Ins(Word) | Ee {tt helt} | Ee {fter } Ins(Word) { långa}
          | Uu {nder tusentals} | Uu {nder de } Ins(NUM) { närmaste}
          | Uu {nder de } Ins(NUM) | Nn {ågot}]
       { år} ({en} | {s sikt} | { senare} | { tidigare} | { sedan})
       ({ } Ins(YearNum)) ] ;
Define TimexTmeDat424 [ TimexTmeDat424a   EndTag(TimexTmeDat) ] ; 435

!R [Uu]nder" "("hela "[^\n\t ]*perioden" "|[^\n\t ]*perioden" "[12][0-9][0-9][0-9]" "till|[^\n\t ]*perioden|[12][0-9][0-9][0-9]" "och|hela|långt" "bortom|"resten av")" "[12][0-9\-]+
!A {printTME(yytext,0);}

Define TimexTmeDat425a
     [ Uu {nder }
       [{hela } NS* {perioden } | NS* {perioden } Ins(YearNum) { till}
          | NS* {perioden} | Ins(YearNum) { och} | {hela} | {långt bortom}
          | {resten av}]
       { } Num12DigitDashes ] ;
Define TimexTmeDat425 [ TimexTmeDat425a   EndTag(TimexTmeDat) ] ; 436

!R [^\n\t ]*[Pp]erioden" "[12][0-9][0-9][0-9]" "till" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat426a [ NS* Pp {erioden } Ins(YearNum) { till } Ins(YearNum) ] ;
Define TimexTmeDat426 [ TimexTmeDat426a   EndTag(TimexTmeDat) ] ; 437

!R [^\n\t ]*[Pp]erioden" "[12][0-9][0-9][0-9]"\-"[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat427a [ NS* Pp {erioden } Ins(YearNum) {-} Ins(YearNum) ] ;
Define TimexTmeDat427 [ TimexTmeDat427a   EndTag(TimexTmeDat) ] ; 438

!R ([Ff]ör" "innevarande|[Ss]edan" i "[a-zåäö]+" av förra"|[SsRr]"edan i slutet av nästa"|[Ff]"rån och med nästa"|[Vv]arje|[Ff]örra|[Pp]å|[Ii]nom" det närmaste"|[Nn]ästa|[Uu]nder" de följande"|[Uu]nder" "nästa|[Ii]nför" "nästa|[Dd]e" sista "[^\n\t ]+|[Dd]e" "[^\n\t ]+" kommande"|[Ii]" "[0-9]+|[Uu]nder" de kommande"|[Ss]edan" några "|[Uu]nder" många "|[Uu]nder" detta "|[Uu]nder" de kommande "[^\n\t ]+|[Dd]e" stormiga"|[Dd]"e kommande"|[Dd]"et kommande"|[Dd]"e närmaste "[^\n\t ]+|[Dd]"e närmaste"|[Uu]"nder det kommande"|[Uu]nder" de senaste "[^\n\t ]+|[Nn]ågra|[Gg]enom|[Uu]nder" "{NUM})" "(man)?år(tiondena|tionde[tn]|et|en|hundraden|hundradena|hundradet|tusenden)?(" "tillbaka)?
!A {printTME(yytext,0);}

Define TimexTmeDat428a
     [ [Ff {ör innevarande} | Ss {edan i } Ins(LowerWord) { av förra}
          | ["S"|"s"|"R"|"r"] {edan i slutet av nästa} | Ff {rån och med nästa}
          | Vv {arje} | Ff {örra} | Pp {å} | Ii {nom det närmaste} | Nn {ästa}
          | Uu {nder de följande} | Uu {nder nästa} | Ii {nför nästa}
          | Dd {e sista } Ins(Word) | Dd {e } Ins(Word) { kommande} | Ii { } Ins(Nums)
          | Uu {nder de kommande} | Ss {edan några } | Uu {nder många }
          | Uu {nder detta } | Uu {nder de kommande } Ins(Word) | Dd {e stormiga}
          | Dd {e kommande} | Dd {et kommande} | Dd {e närmaste } Ins(Word)
          | Dd {e närmaste} | Uu {nder det kommande}
          | Uu {nder de senaste } Ins(Word) | Nn {ågra} | Gg {enom} | Uu {nder } Ins(NUM)]
       { } ({man}) {år}
       ({tiondena} | {tionde} ["t"|"n"] | {et} | {en} | {hundraden}
         | {hundradena} | {hundradet} | {tusenden})
       ({ tillbaka}) ] ;
Define TimexTmeDat428 [ TimexTmeDat428a   EndTag(TimexTmeDat) ] ; 439

!R [Mm]ellan" "[12][0-9][0-9][0-9]" och "([0-9][0-9]|[12][0-9][0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat429a [ Mm {ellan } Ins(YearNum) { och } [Ins(Nums2) | Ins(YearNum)] ] ;
Define TimexTmeDat429 [ TimexTmeDat429a   EndTag(TimexTmeDat) ] ; 440

!R Efter" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat430a [ {Efter } Ins(YearNum) ] ;
Define TimexTmeDat430 [ TimexTmeDat430a   EndTag(TimexTmeDat) ] ; 441

!R [Uu]nder" "den" "[0-9\-]+åriga" "[^\n\t ]*perioden
!A {printTME(yytext,0);}

Define TimexTmeDat431a
     [ Uu {nder den } DigitDashes {åriga } NS* {perioden} ] ;
Define TimexTmeDat431 [ TimexTmeDat431a   EndTag(TimexTmeDat) ] ; 442

!R [Uu]nder" "[^\n\t ]+perioden(s" "början)?
!A {printTME(yytext,0);}

Define TimexTmeDat432a [ Uu {nder } Word {perioden} ({s början}) ] ;
Define TimexTmeDat432 [ TimexTmeDat432a   EndTag(TimexTmeDat) ] ; 443

!R [Uu]nder" en väldigt lång "[^\n\t ]*period
!A {printTME(yytext,0);}

Define TimexTmeDat433a [ Uu {nder en väldigt lång } NS* {period} ] ;
Define TimexTmeDat433 [ TimexTmeDat433a   EndTag(TimexTmeDat) ] ; 444

!R [Uu]nder" en relativt "[a-zåäö]+" "[^\n\t ]*period
!A {printTME(yytext,0);}

Define TimexTmeDat434a
     [ Uu {nder en relativt } Ins(LowerWord) { } NS* {period} ] ;
Define TimexTmeDat434 [ TimexTmeDat434a   EndTag(TimexTmeDat) ] ; 445

!R [Uu]nder" "en" "[^\n\t ]+period
!A {printTME(yytext,0);}

Define TimexTmeDat435a [ Uu {nder en } Word {period} ] ;
Define TimexTmeDat435 [ TimexTmeDat435a   EndTag(TimexTmeDat) ] ; 446

!R ([Ff]ram" "till|[Nn]yåret|[Ff]"öregående "[^\n\t ]+period|[Tt]axeringsåret|[Tt]axeringsår|[Tt]idigast|sekelskiftet|[Ii]" början av"|[Ii]" slutet av"|[Uu]nder|"liksom året innan"|[Ss]amma" period året innan"|[Ss]amma" period"|föråret|[Mm]otsvarande" period"|Först|[Ii]nför|[Ii]nnan|[Dd]en" dagen"|[Ff]ör" resten av"|[Ll]äsåret)" "[12][0-9][0-9][0-9](" tom "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat436a
     [ [Ff {ram till} | Nn {yåret} | Ff {öregående } Word {period}
          | Tt {axeringsåret} | Tt {axeringsår} | Tt {idigast} | {sekelskiftet}
          | Ii { början av} | Ii { slutet av} | Uu {nder} | {liksom året innan}
          | Ss {amma period året innan} | Ss {amma period} | {föråret}
          | Mm {otsvarande period} | {Först} | Ii {nför} | Ii {nnan}
          | Dd {en dagen} | Ff {ör resten av} | Ll {äsåret}]
       { } Ins(YearNum) ({ tom } Ins(YearNum)) ] ;
Define TimexTmeDat436 [ TimexTmeDat436a   EndTag(TimexTmeDat) ] ; 447

!R ([Uu]nder|[Ii]" början av")" "(den|en|samma|någon|denna|"den senaste"|hela)" "([^\n\t ]+" "[^\n\t ]+" lång "|[^\n\t ]+" "|[^\n\t ]+" \, lång ")?(tids|[^\n\t ]*års)?period(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat437a
     [ [Uu {nder} | Ii { början av}] { }
       [{den} | {en} | {samma} | {någon} | {denna} | {den senaste} | {hela}]
       { } (Ins(Word) { } Ins(Word) { lång } | Ins(Word) { } | Ins(Word) { , lång })
       ({tids} | NS* {års}) {period} ({en}) ] ;
Define TimexTmeDat437 [ TimexTmeDat437a   EndTag(TimexTmeDat) ] ; 448

!R ([Vv]id|[Ff]rån|[Uu]nder)" den "[^\n\t ]+" "([^\n\t ]+rsperioden|[^\n\t ]+rsperiod|årsskifte|årsskiftet)
!A {printTME(yytext,0);}

Define TimexTmeDat438a
     [Vv {id} | Ff {rån} | Uu {nder}] { den } Ins(Word) { }
     [Word {rsperioden} | Word {rsperiod} | {årsskifte} | {årsskiftet}] ;
Define TimexTmeDat438 [ TimexTmeDat438a   EndTag(TimexTmeDat) ] ; 449

!R ([Vv]id|[Ff]rån|[Uu]nder)" "[^\n\t ]+" "([^\n\t ]+rsperioden|[^\n\t ]+rsperiod|årsskifte|årsskiftet)
!A {printTME(yytext,0);}

Define TimexTmeDat439a
     [Vv {id} | Ff {rån} | Uu {nder}] { } Ins(Word) { }
     [Word {rsperioden} | Word {rsperiod} | {årsskifte} | {årsskiftet}] ;
Define TimexTmeDat439 [ TimexTmeDat439a   EndTag(TimexTmeDat) ] ; 450

!R ([Vv]id|[Uu]nder)" varje "[^\n\t ]+årsskifte
!A {printTME(yytext,0);}

Define TimexTmeDat440a
     [ [Vv {id} | Uu {nder}] { varje } Word {årsskifte} ] ;
Define TimexTmeDat440 [ TimexTmeDat440a   EndTag(TimexTmeDat) ] ; 451

!R ([Ff]rån|[Uu]nder)" åtminstone "[^\n\t ]+" "[^\n\t ]+rsperiod
!A {printTME(yytext,0);}

Define TimexTmeDat441a
     [ [Ff {rån} | Uu {nder}] { åtminstone } Ins(Word) { } Word {rsperiod} ] ;
Define TimexTmeDat441 [ TimexTmeDat441a   EndTag(TimexTmeDat) ] ; 452

!R ([Ee]fter|[Ii])(" nästan")?" "[a-zåäö0-9]+" år"
!A {printTME(yytext,0);}

Define TimexTmeDat442a
     [ [Ee {fter} | Ii] ({ nästan}) { } LowerDigit+ { år} ] ;
Define TimexTmeDat442 [ TimexTmeDat442a   EndTag(TimexTmeDat) ] ; 453

!R [Nn]ormalt" år och till och med decennier"
!A {printTME(yytext,0);}

Define TimexTmeDat443a [ Nn {ormalt år och till och med decennier} ] ;
Define TimexTmeDat443 [ TimexTmeDat443a   EndTag(TimexTmeDat) ] ; 454

!#  MOD (Jyrki Niemi): Removed spurious ] from regexp 

!R ([Ii]nom|[Ii]|[Ss]edan|[Uu]nder|[Mm]indre" än"|[Uu]"pp till")" ett "(par" "|halv)(år|decennier)(" tillbaka")?
!A {printTME(yytext,0);}

Define TimexTmeDat444a
     [ [Ii {nom} | Ii | Ss {edan} | Uu {nder} | Mm {indre än} | Uu {pp till}]
       { ett } [{par } | {halv}] [{år} | {decennier}] ({ tillbaka}) ] ;
Define TimexTmeDat444 [ TimexTmeDat444a   EndTag(TimexTmeDat) ] ; 455

!R ([Ss]en|[RrSs]edan|[Ii]|[Uu]nder|[Ee]fter|[Pp]å|[Uu]pp" "till|[Ii]" "nästan|[Ii]" "över|[Ii]" ytterligare")" "([^\n\t ]+" års tid"|[^\n\t ]+" års mellanrum"|"bara "[0-9]+" år"|"nära "[0-9]+" år"|"de tre sista decennierna"|"för flera decennier"|"flera decennier"|"resterande del av året"|{NUM}" decennier"|"något decennium"|"ett decennium"|[^\n\t ]+" år tillbaka i tiden"|[^\n\t ]+" år tillbaka"|"mer än "[^\n\t ]+" år"|decennier)(" "tidigare|" sedan"|" "tillbaka)?
!A {printTME(yytext,0);}

Define TimexTmeDat445a
     [ [Ss {en} | ["R"|"r"|"S"|"s"] {edan} | Ii | Uu {nder} | Ee {fter}
          | Pp {å} | Uu {pp till} | Ii { nästan} | Ii { över}
          | Ii { ytterligare}]
       { }
       [Ins(Word) { års tid} | Ins(Word) { års mellanrum} | {bara } Ins(Nums) { år}
          | {nära } Ins(Nums) { år} | {de tre sista decennierna}
          | {för flera decennier} | {flera decennier} | {resterande del av året}
          | Ins(NUM) { decennier} | {något decennium} | {ett decennium}
          | Ins(Word) { år tillbaka i tiden} | Ins(Word) { år tillbaka}
          | {mer än } Ins(Word) { år} | {decennier}]
       ({ tidigare} | { sedan} | { tillbaka}) ] ;
Define TimexTmeDat445 [ TimexTmeDat445a   EndTag(TimexTmeDat) ] ; 456

!R [Uu]nder" den "[^\n\t ]+" årstiden"
!A {printTME(yytext,0);}

Define TimexTmeDat446a [ Uu {nder den } Ins(Word) { årstiden} ] ;
Define TimexTmeDat446 [ TimexTmeDat446a   EndTag(TimexTmeDat) ] ; 457

!R ([Dd]etta|[0-9]+\:e)" "året
!A {printTME(yytext,0);}

Define TimexTmeDat447a [ [Dd {etta} | Ins(Nums) {:e}] { året} ] ;
Define TimexTmeDat447 [ TimexTmeDat447a   EndTag(TimexTmeDat) ] ; 458

!R ([Mm]ot|[Vv]id)" "({MNH}|[12][0-9][0-9][0-9])" "(månads|års)" "utgång
!A {printTME(yytext,0);}

Define TimexTmeDat448a
     [ [Mm {ot} | Vv {id}] { } [Ins(MNH) | Ins(YearNum)] { } [{månads} | {års}]
       { utgång} ] ;
Define TimexTmeDat448 [ TimexTmeDat448a   EndTag(TimexTmeDat) ] ; 459

!R [Uu]nder" den "[a-zåäö\-]+" tiden"
!A {printTME(yytext,0);}

Define TimexTmeDat449a [ Uu {nder den } [LowercaseAlpha|"-"]+ { tiden} ] ;
Define TimexTmeDat449 [ TimexTmeDat449a   EndTag(TimexTmeDat) ] ; 460

!R (Framemot|[Ff]örsta|[Dd]en" "här)" "[a-zåäö]*tiden
!A {printTME(yytext,0);}

Define TimexTmeDat450a
     [ [{Framemot} | Ff {örsta} | Dd {en här}] { } Lower* {tiden} ] ;
Define TimexTmeDat450 [ TimexTmeDat450a   EndTag(TimexTmeDat) ] ; 461

!R [Tt]idig" vår "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat451a [ Tt {idig vår } Ins(YearNum) ] ;
Define TimexTmeDat451 [ TimexTmeDat451a   EndTag(TimexTmeDat) ] ; 462

!R [Mm]ellan" 199"[0-9]\-9[0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat452a [ Mm {ellan 199} Num {-9} Num ] ;
Define TimexTmeDat452 [ TimexTmeDat452a   EndTag(TimexTmeDat) ] ; 463

!R [Mm]ellan" åren "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat453a [ Mm {ellan åren } Nums6 Ins(Nums2) ] ;
Define TimexTmeDat453 [ TimexTmeDat453a   EndTag(TimexTmeDat) ] ; 464

!R [Nn]ågon" gång mellan "[0-9][0-9]" och "[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat454a [ Nn {ågon gång mellan } Ins(Nums2) { och } Ins(Nums2) ] ;
Define TimexTmeDat454 [ TimexTmeDat454a   EndTag(TimexTmeDat) ] ; 465

!R [Mm]ellan" "[12][0-9][0-9][0-9]"\-"[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat455a [ Mm {ellan } Ins(YearNum) {-} Ins(YearNum) ] ;
Define TimexTmeDat455 [ TimexTmeDat455a   EndTag(TimexTmeDat) ] ; 466

!R "inträffade "[0-9]+" dödsfall"
!A {ECHO;}

Define Except012 [ {inträffade } Nums { dödsfall} ] ; 467

!R [Nn]ästa" "(vecka|månad|vår|sommar|vinter|höst)
!A {printTME(yytext,0);}

Define TimexTmeDat456a
     [ Nn {ästa } [{vecka} | {månad} | {vår} | {sommar} | {vinter} | {höst}] ] ;
Define TimexTmeDat456 [ TimexTmeDat456a   EndTag(TimexTmeDat) ] ; 468

!R [^\n\t ]*(formaliserades|fastställdes|återfanns|uppfanns|förliste|fraktur|epikris|vinst|enkät|opererades|spelas|inföll|resa|branden|igång|levererades|uppgick|tillfälle|nådades|frig|villkorligt|greps|revs|godkänd|privatiserades|kulminera|sjös|skilsmäss|begravning|mästar|klar|modell|ödelseår|anlades|[Bb]ygg|evenemang|mord|möte|miljarder|nederlag|köptes|stäng|plats|diagnos|dateringen|färdigt|bilda|valet|röstningen|konferens|öppnades|hit|kriget|inleddes|upphörde|ämnades|president|ebuterade|pensionering|revolutionen|infördes|start|spring|delningen|lanseras|krisen|täcktes|revolutionen|inträffade|föddes|makten|slutför|pererad|påbörja|född|den|han|hon|födda|föds|digheten|fördrevs|cerades|publicerats|examen|såldes|slut|starta|infördes|dömdes|död|ensionerad|dog|studie|levde|grunda|jubile|starten|infört|utgav|rörelsen|intåg|genomfördes|silv|införas|införandetguld|belpris|regerade|rapport|regering|vigdes|började|kuppen|mig|ändå|först|edovisningen|besök|upprättades|ärdigställd|avlämnas|tfärdad|ut|Lancet|BMJ|inkomster|vapenvilla|kraft|undersöktes|introducerades|händelsen|färdigställ|röka|EKG|prov)[a-zåäö]*(" omkring"|" efter"|" före"|" under")?" "[12][0-9][0-9][0-9]([\/\-][0-9]+|[\/\-][0-9][0-9][\/\-][0-9][0-9]|" och "\-[0-9]+)?
!A {printTME(yytext,1);}

Define TimexTmeDat457a
     [ ([{omkring} | {efter} | {före} | {under}] { }) Ins(YearNum)
       (["/"|"-"] Ins(Nums) | ["/"|"-"] Ins(Nums2) ["/"|"-"] Ins(Nums2) | { och -} Ins(Nums)) ] ;
Define TimexTmeDat457
     [ TimexTmeDat457a
       LC([{formaliserades} | {fastställdes} | {återfanns} | {uppfanns}
             | {förliste} | {fraktur} | {epikris} | {vinst} | {enkät}
             | {opererades} | {spelas} | {inföll} | {resa} | {branden}
             | {igång} | {levererades} | {uppgick} | {tillfälle} | {nådades}
             | {frig} | {villkorligt} | {greps} | {revs} | {godkänd}
             | {privatiserades} | {kulminera} | {sjös} | {skilsmäss}
             | {begravning} | {mästar} | {klar} | {modell} | {ödelseår}
             | {anlades} | Bb {ygg} | {evenemang} | {mord} | {möte}
             | {miljarder} | {nederlag} | {köptes} | {stäng} | {plats}
             | {diagnos} | {dateringen} | {färdigt} | {bilda} | {valet}
             | {röstningen} | {konferens} | {öppnades} | {hit} | {kriget}
             | {inleddes} | {upphörde} | {ämnades} | {president} | {ebuterade}
             | {pensionering} | {revolutionen} | {infördes} | {start}
             | {spring} | {delningen} | {lanseras} | {krisen} | {täcktes}
             | {inträffade} | {föddes} | {makten} | {slutför} | {pererad}
             | {påbörja} | {född} | {den} | {han} | {hon} | {födda} | {föds}
             | {digheten} | {fördrevs} | {cerades} | {publicerats} | {examen}
             | {såldes} | {slut} | {starta} | {dömdes} | {död} | {ensionerad}
             | {dog} | {studie} | {levde} | {grunda} | {jubile} | {starten}
             | {infört} | {utgav} | {rörelsen} | {intåg} | {genomfördes}
             | {silv} | {införas} | {införandetguld} | {belpris} | {regerade}
             | {rapport} | {regering} | {vigdes} | {började} | {kuppen}
             | {mig} | {ändå} | {först} | {edovisningen} | {besök}
             | {upprättades} | {ärdigställd} | {avlämnas} | {tfärdad} | {ut}
             | {Lancet} | {BMJ} | {inkomster} | {vapenvilla} | {kraft}
             | {undersöktes} | {introducerades} | {händelsen} | {färdigställ}
             | {röka} | {EKG} | {prov}]
          Lower* { })
       EndTag(TimexTmeDat) ] ; 469

!R ("gifte sig"|"udget för"|"udgeten för"|"et al"|"lades fram"|"utsattes för"|"Det var"|"jämfört med"|"nivå med"|"prognos inför"|"som stoppades"|"kom ut"|"statistiken för"|"dröjde till"|"första gången"|"den till"|"går ut"|"ägde rum"|[Pp]roduktionsår" \:")" "[12][0-9][0-9][0-9](\-[12][0-9][0-9][0-9])?
!A {printTME(yytext,2);}

Define TimexTmeDat458a [ Ins(YearNum) ({-} Ins(YearNum)) ] ;
Define TimexTmeDat458
     [ TimexTmeDat458a
       LC([{gifte sig} | {udget för} | {udgeten för} | {et al}
             | {lades fram} | {utsattes för} | {Det var} | {jämfört med}
             | {nivå med} | {prognos inför} | {som stoppades} | {kom ut}
             | {statistiken för} | {dröjde till} | {första gången}
             | {den till} | {går ut} | {ägde rum} | Pp {roduktionsår :}]
          { })
       EndTag(TimexTmeDat) ] ; 470

!R "kom till "[^\n\t ]+" "[12][0-9][0-9][0-9]
!A {printTME(yytext,3);}

Define TimexTmeDat459a [ Ins(YearNum) ] ;
Define TimexTmeDat459
     [ TimexTmeDat459a
       LC({kom till } Word { })
       EndTag(TimexTmeDat) ] ; 471

!R [12][0-9][0-9][0-9]\-[01][0-9]\-[0123][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat460a [ Ins(YearNum) {-} Num01X {-} Num03 Num ] ;
Define TimexTmeDat460 [ TimexTmeDat460a   EndTag(TimexTmeDat) ] ; 472

!R ([Ss]"å sent som"|[Ää]nnu|[Ff]öre|Under|[Ff]rån|[Ff]ör|[Åå]rtalet|[Aa]nno|[Ff]rån" mitten av")" "[12][0-9][0-9][0-9](" och "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat461a
     [ [Ss {å sent som} | ["Ä"|"ä"] {nnu} | Ff {öre} | {Under} | Ff {rån}
          | Ff {ör} | ["Å"|"å"] {rtalet} | Aa {nno} | Ff {rån mitten av}]
       { } Ins(YearNum) ({ och } Ins(YearNum)) ] ;
Define TimexTmeDat461 [ TimexTmeDat461a   EndTag(TimexTmeDat) ] ; 473

!R ([Ff]ör|[Uu]nder|[Pp]å|[Ss]edan|[Oo]ftast|[Ll]iksom)" "([^\n\t ]+" ")?("ett "[^\n\t ]+\-tal|senare|tidigare|många)" år"(" sedan"|" sen")?
!A {printTME(yytext,0);}

Define TimexTmeDat462a
     [ [Ff {ör} | Uu {nder} | Pp {å} | Ss {edan} | Oo {ftast} | Ll {iksom}]
       { } (Ins(Word) { }) [{ett } Word {-tal} | {senare} | {tidigare} | {många}]
       { år} ({ sedan} | { sen}) ] ;
Define TimexTmeDat462 [ TimexTmeDat462a   EndTag(TimexTmeDat) ] ; 474

!R ([Ii]" "närmare" "[^\n\t ]+|[Ff]"örrän om "[^\n\t ]+" "[0-9]+|[Uu]nder" de dryga "[^\n\t ]+|[Ii]nom" "[a-zåäö0-9]+|[Vv]art" "[^\n\t ]+e|[Ff]lera" tusen"|"per tusen"|[Uu]"nder följande"|[Uu]"nder något")" år"
!A {printTME(yytext,0);}

Define TimexTmeDat463a
     [ [Ii { närmare } Ins(Word) | Ff {örrän om } Ins(Word) { } Ins(Nums)
          | Uu {nder de dryga } Ins(Word) | Ii {nom } LowerDigit+
          | Vv {art } Word {e} | Ff {lera tusen} | {per tusen}
          | Uu {nder följande} | Uu {nder något}]
       { år} ] ;
Define TimexTmeDat463 [ TimexTmeDat463a   EndTag(TimexTmeDat) ] ; 475

!R ([Mm]ellan|[Uu]nder|[Ff]ör|[Gg]enom|[Ee]fter|[Ff]rån)" åren "[12][0-9]+(" \- "[12][0-9]+|" och "[12][0-9]+|" till "[12][0-9]+|\-[12][0-9][0-9]?[0-9]?)
!A {printTME(yytext,0);}

Define TimexTmeDat464a
     [Mm {ellan} | Uu {nder} | Ff {ör} | Gg {enom} | Ee {fter} | Ff {rån}]
     { åren } Ins(Num12Nums)
     [{ - } Ins(Num12Nums) | { och } Ins(Num12Nums) | { till } Ins(Num12Nums)
        | {-} Num12 Ins(Nums12) (Num)] ;
Define TimexTmeDat464 [ TimexTmeDat464a   EndTag(TimexTmeDat) ] ; 476

!R ([Rr]"edan ")?([Ss]en|[Ss]edan|[Uu]nder|[Ff]rån|[Pp]å|[Mm]ot|[Ss]enaste)" "("andra hälften"|"första hälften"|"senare hälften"|"senare delen"|första" "delen|början|mitten|slutet|"andra halvan")" "(af|av)" "[12][0-9][0-9][0-9](\-talet)?
!A {printTME(yytext,0);}

Define TimexTmeDat465a
     [ (Rr {edan })
       [Ss {en} | Ss {edan} | Uu {nder} | Ff {rån} | Pp {å} | Mm {ot}
          | Ss {enaste}]
       { }
       [{andra hälften} | {första hälften} | {senare hälften}
          | {senare delen} | {första delen} | {början} | {mitten} | {slutet}
          | {andra halvan}]
       { } [{af} | {av}] { } Ins(YearNum) ({-talet}) ] ;
Define TimexTmeDat465 [ TimexTmeDat465a   EndTag(TimexTmeDat) ] ; 477

!R ([Nn]ästan|[Mm]ellan" "[0-9]+" och ")[0-9]+" år"
!A {printTME(yytext,0);}

Define TimexTmeDat466a
     [ [Nn {ästan} | Mm {ellan } Ins(Nums) { och }] Ins(Nums) { år} ] ;
Define TimexTmeDat466 [ TimexTmeDat466a   EndTag(TimexTmeDat) ] ; 478

!R ([Ss]enast" ")?den" "[12][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat467a [ (Ss {enast }) {den } Ins(YearNum) {-} Ins(Nums2Range) ] ;
Define TimexTmeDat467 [ TimexTmeDat467a   EndTag(TimexTmeDat) ] ; 479

!R [Kk]ring" år "[12][0-9][0-9][0-9]\-[0-9][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat468a [ Kk {ring år } Ins(YearNum) {-} Ins(Nums4) ] ;
Define TimexTmeDat468 [ TimexTmeDat468a   EndTag(TimexTmeDat) ] ; 480

!R "jämfört med året före"
!A {printTME(yytext,2);}

Define TimexTmeDat469a [ {året före} ] ;
Define TimexTmeDat469
     [ TimexTmeDat469a
       LC({jämfört med })
       EndTag(TimexTmeDat) ] ; 481

!R ([Aa]ndra|[Ff]örsta|[Uu]nder" det närmaste"|[12]\:a)" halvåret"(" i år"|" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat470a
     [ [Aa {ndra} | Ff {örsta} | Uu {nder det närmaste} | Num12 {:a}]
       { halvåret} ({ i år} | { } Ins(YearNum)) ] ;
Define TimexTmeDat470 [ TimexTmeDat470a   EndTag(TimexTmeDat) ] ; 482

!R {NUM}" år i rad"(" \( "[0-9][0-9][0-9]?[0-9]?" och "[0-9][0-9][0-9]?[0-9]?" \)")?
!A {printTME(yytext,0);}

Define TimexTmeDat471a
     [ Ins(NUM) { år i rad}
       ({ ( } Ins(Nums2) (Num) (Num) { och } Ins(Nums2) (Num) (Num) { )}) ] ;
Define TimexTmeDat471 [ TimexTmeDat471a   EndTag(TimexTmeDat) ] ; 483

!R ([Ff]ör" ")?[^\n\t ]+[ea]" året i rad"
!A {printTME(yytext,0);}

Define TimexTmeDat472a [ (Ff {ör }) Word ["e"|"a"] { året i rad} ] ;
Define TimexTmeDat472 [ TimexTmeDat472a   EndTag(TimexTmeDat) ] ; 484

!R [12][0-9][0-9][0-9]" "(vann|startade|omsatte|sålde|ökade|uppgick|flytta|lämnad|registr|införde|dömdes|anmäldes|debutera|utnämn|påbörja)[^\n\t ]*
!A {printTME(yytext,11);}

Define TimexTmeDat473a [ Ins(YearNum) ] ;
Define TimexTmeDat473
     [ TimexTmeDat473a
       RC({ }
          [{vann} | {startade} | {omsatte} | {sålde} | {ökade} | {uppgick}
             | {flytta} | {lämnad} | {registr} | {införde} | {dömdes}
             | {anmäldes} | {debutera} | {utnämn} | {påbörja}])
       EndTag(TimexTmeDat) ] ; 485

!R ^[12][0-9][0-9][0-9]" "(behandlades|beräknas|beslöt|betonade|beviljade|bildades|blev|började|diagnostiserades|dog|drabbades|fanns|fatta|fick|förskrevs|försvarade|framställd|gift|godkändes|hade|hedrades|inhämtades|inleddes|inrättades|insjuknade|installerades|introducera|invigdes|kom|lanserade|lyckades|noterades|nybeviljades|omsa|opererades|öppnade|överflyttades|överfördes|övergick|överskreds|publicerad|rapportera|redovisa|sjösatte|skedd|slogs|strömma|upphörde|uppskattades|upptäckt|utfördes|vann|var)
!A {printTME(yytext,11);}

Define TimexTmeDat474a [ # Ins(YearNum) ] ;
Define TimexTmeDat474
     [ TimexTmeDat474a
       RC({ }
          [{behandlades} | {beräknas} | {beslöt} | {betonade}
             | {beviljade} | {bildades} | {blev} | {började}
             | {diagnostiserades} | {dog} | {drabbades} | {fanns} | {fatta}
             | {fick} | {förskrevs} | {försvarade} | {framställd} | {gift}
             | {godkändes} | {hade} | {hedrades} | {inhämtades} | {inleddes}
             | {inrättades} | {insjuknade} | {installerades} | {introducera}
             | {invigdes} | {kom} | {lanserade} | {lyckades} | {noterades}
             | {nybeviljades} | {omsa} | {opererades} | {öppnade}
             | {överflyttades} | {överfördes} | {övergick} | {överskreds}
             | {publicerad} | {rapportera} | {redovisa} | {sjösatte} | {skedd}
             | {slogs} | {strömma} | {upphörde} | {uppskattades} | {upptäckt}
             | {utfördes} | {vann} | {var}])
       EndTag(TimexTmeDat) ] ; 486

!R (behandlades|dog|drabbades|fanns|hedrades|inhämtades|inleddes|inrättades|insjuknade|installerades|opererad|opererades|öppnades|överflyttades|överfördes|publicerad|rapporterad|redovisad|sjösattes|upphördes|uppskattades|upptäcktes|utfördes)" i "[a-zåäö]+" "[12][0-9][0-9][0-9]
!A {printTME(yytext,3);}

Define TimexTmeDat475a [ Ins(YearNum) ] ;
Define TimexTmeDat475
     [ TimexTmeDat475a
       LC([{behandlades} | {dog} | {drabbades} | {fanns} | {hedrades}
             | {inhämtades} | {inleddes} | {inrättades} | {insjuknade}
             | {installerades} | {opererad} | {opererades} | {öppnades}
             | {överflyttades} | {överfördes} | {publicerad} | {rapporterad}
             | {redovisad} | {sjösattes} | {upphördes} | {uppskattades}
             | {upptäcktes} | {utfördes}]
          { i } LowerWord { })
       EndTag(TimexTmeDat) ] ; 487

!R [Oo]m" "[^\n\t ]+" "(till|eller)" "[^\n\t ]+" år"
!A {printTME(yytext,0);}

Define TimexTmeDat476a
     [ Oo {m } Ins(Word) { } [{till} | {eller}] { } Ins(Word) { år} ] ;
Define TimexTmeDat476 [ TimexTmeDat476a   EndTag(TimexTmeDat) ] ; 488

!R [Ee]fter" "[0-9]+" resp "[0-9]+" "år
!A {printTME(yytext,0);}

Define TimexTmeDat477a [ Ee {fter } Ins(Nums) { resp } Ins(Nums) { år} ] ;
Define TimexTmeDat477 [ TimexTmeDat477a   EndTag(TimexTmeDat) ] ; 489

!R "I vår kan"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">I vår</TIMEX> kan");}

Define TimexTmeDat478 [ {I vår}   RC({ kan})   EndTag(TimexTmeDat) ] ; 490

!R "hela tiden \."
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">hela tiden</TIMEX> .");}

Define TimexTmeDat479 [ {hela tiden}   RC({ .})   EndTag(TimexTmeDat) ] ; 491

!R "Länge har "
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Länge</TIMEX> har ");}

Define TimexTmeDat480a [ {Länge} ] ;
Define TimexTmeDat480
     [ TimexTmeDat480a
       RC({ har })
       EndTag(TimexTmeDat) ] ; 492

!R "ch då ska "
!A {printf("ch <TIMEX TYPE=\"TME\" SBT=\"DAT\">då</TIMEX> ska ");}

Define TimexTmeDat481a [ {då} ] ;
Define TimexTmeDat481
     [ TimexTmeDat481a
       LC({ch })
       RC({ ska })
       EndTag(TimexTmeDat) ] ; 493

!R "hade då någo"
!A {printf("hade <TIMEX TYPE=\"TME\" SBT=\"DAT\">då</TIMEX> någo");}

Define TimexTmeDat482a [ {då} ] ;
Define TimexTmeDat482
     [ TimexTmeDat482a
       LC({hade })
       RC({ någo})
       EndTag(TimexTmeDat) ] ; 494

!R " det året \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">det året</TIMEX> .");}

Define TimexTmeDat483
     [ {det året}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 495

!R " året före \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">året före</TIMEX> .");}

Define TimexTmeDat484
     [ {året före}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 496

!R " dagen efter \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">dagen efter</TIMEX> .");}

Define TimexTmeDat485
     [ {dagen efter}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 497

!R " som tidigare år "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">som tidigare år</TIMEX> ");}

Define TimexTmeDat486
     [ {som tidigare år}
       LC({ })
       RC({ })
       EndTag(TimexTmeDat) ] ; 498

!R "Och då "
!A {printf("Och <TIMEX TYPE=\"TME\" SBT=\"DAT\">då</TIMEX> ");}

Define TimexTmeDat487a [ {då} ] ;
Define TimexTmeDat487
     [ TimexTmeDat487a
       LC({Och })
       RC({ })
       EndTag(TimexTmeDat) ] ; 499

!R " sällan understiger"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">sällan</TIMEX> understiger");}

Define TimexTmeDat488a [ {sällan} ] ;
Define TimexTmeDat488
     [ TimexTmeDat488a
       LC({ })
       RC({ understiger})
       EndTag(TimexTmeDat) ] ; 500

!R "undersöker nu "
!A {printf("undersöker <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat489a [ {nu} ] ;
Define TimexTmeDat489
     [ TimexTmeDat489a
       LC({undersöker })
       RC({ })
       EndTag(TimexTmeDat) ] ; 501

!R "inom året \?"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">inom året</TIMEX> ?");}

Define TimexTmeDat490 [ {inom året}   RC({ ?})   EndTag(TimexTmeDat) ] ; 502

!R " om året"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">om året</TIMEX>");}

Define TimexTmeDat491 [ {om året}   LC({ })   EndTag(TimexTmeDat) ] ; 503

!R " i vår ,"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">i vår</TIMEX> ,");}

Define TimexTmeDat492
     [ {i vår}
       LC({ })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 504

!R " året om skulle"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">året om</TIMEX> skulle");}

Define TimexTmeDat493
     [ {året om}
       LC({ })
       RC({ skulle})
       EndTag(TimexTmeDat) ] ; 505

!R " så sent hem"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">så sent</TIMEX> hem");}

Define TimexTmeDat494
     [ {så sent}
       LC({ })
       RC({ hem})
       EndTag(TimexTmeDat) ] ; 506

!R " om "[^\n\t ]+" "år(" eller "senare|" \( eller senare \)")?
!A {int i=1; printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">"); for(;i<yyleng;putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat495a
     [ {om } Ins(Word) { år} ({ eller senare} | { ( eller senare )}) ] ;
Define TimexTmeDat495 [ TimexTmeDat495a   LC({ })   EndTag(TimexTmeDat) ] ; 507

!R [12][0-9][0-9][0-9]" är ett bra år"
!A {int i=8; printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">");
!A 	putchar(yytext[0]); putchar(yytext[1]); putchar(yytext[2]); putchar(yytext[3]);
!A 	printf("</TIMEX> är "); printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">");
!A 	for(;i<yyleng;putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat496
     [ YearNum
         EndTag(TimexTmeDat) ]
     { är }
     [ {ett bra år}
         EndTag(TimexTmeDat) ] ; 508

!R ([Tt]" o m"[Ff]ör" "årets|[Uu]nder|[Ii]" det"|[Ee]"tt "[a-z]+|[Uu]nder" "det|[Dd]et|[Åå]rets|[Ff]ör|[Uu]nder" "årets)" "[^\n\t ]+[ae]" "(två" "|tre" ")?(kvartal|kvartalet|[^\n\t ]+" "månader)(" "[12][0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat497a
     [ [Tt { o m} Ff {ör årets} | Uu {nder} | Ii { det} | Ee {tt } Ins(LowerWord)
          | Uu {nder det} | Dd {et} | ["Å"|"å"] {rets} | Ff {ör}
          | Uu {nder årets}]
       { } Word ["a"|"e"] { } ({två } | {tre })
       [{kvartal} | {kvartalet} | Ins(Word) { månader}] ({ } Ins(Num12Nums)) ] ;
Define TimexTmeDat497 [ TimexTmeDat497a   EndTag(TimexTmeDat) ] ; 509

!R ([Ff]örrän" ")?("2\:a kvartal"|"senaste decenniet"|[1-9]"\:e decenniet"|[Aa]ndra" "kvartalet|[Aa]ndra" kvartalet"|[Dd]"e senaste decennierna"|[Dd]e" två senaste "decennierna|[Dd]en" "[1-9][0-9]?\/[1-9][012]?" "[0-9]+|[Dd]en" "[1-9][0-9]?\/[1-9][012]?|[Ee]n" bra bit in i nästa decennium"|[Ee]tt" decennium"|[Ee]tt" par "decennier|ett" århundrade senare"|[Ff]ram" till de senaste decennierna"|[Ff]rån" samma kvartal"|[Ff]ör" helåret "[1-9][0-9]+\/[1-9][0-9]+|[Ff]örra" kvartalet"|[Ff]örsta" "kvartalet|[Ii]" mitten av decenniet"|[Ii]" mitten av det här decenniet"|[Ii]" många decennier"|[Mm]otsvarande" kvartal"|[Mm]otsvarande" tid"|[Nn]ästa" decennium"|[Oo]m" "året|[Pp]å" några "decennier|[Uu]nder" "[^\n\t ]+" "kvartalet|[Uu]nder" de senaste "[^\n\t ]+" "decennierna|[Uu]nder" decennierna"|[Uu]nder" det senaste decenniet"|[Uu]nder" kommande "decennier|[Uu]nder" kvartalet"|[Uu]nder" samma kvartal"|[Uu]nder" senare "decennier)(" "ifjol|" i "fjol|" ungefär i samma "tid|" i år"|" året före"|" tillbaka"|" "[12][0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat498a
     [ (Ff {örrän })
       [{2:a kvartal} | {senaste decenniet} | Num19 {:e decenniet}
          | Aa {ndra kvartalet} | Dd {e senaste decennierna}
          | Dd {e två senaste decennierna}
          | Dd {en } Num19x {/} Num19 (Num02) { } Ins(Nums)
          | Dd {en } Num19x {/} Num19 (Num02)
          | Ee {n bra bit in i nästa decennium} | Ee {tt decennium}
          | Ee {tt par decennier} | {ett århundrade senare}
          | Ff {ram till de senaste decennierna} | Ff {rån samma kvartal}
          | Ff {ör helåret } Num19 Ins(Nums) {/} Num19 Ins(Nums) | Ff {örra kvartalet}
          | Ff {örsta kvartalet} | Ii { mitten av decenniet}
          | Ii { mitten av det här decenniet} | Ii { många decennier}
          | Mm {otsvarande kvartal} | Mm {otsvarande tid} | Nn {ästa decennium}
          | Oo {m året} | Pp {å några decennier} | Uu {nder } Ins(Word) { kvartalet}
          | Uu {nder de senaste } Ins(Word) { decennierna} | Uu {nder decennierna}
          | Uu {nder det senaste decenniet} | Uu {nder kommande decennier}
          | Uu {nder kvartalet} | Uu {nder samma kvartal}
          | Uu {nder senare decennier}]
       ({ ifjol} | { i fjol} | { ungefär i samma tid} | { i år}
         | { året före} | { tillbaka} | { } Ins(Num12Nums)) ] ;
Define TimexTmeDat498 [ TimexTmeDat498a   EndTag(TimexTmeDat) ] ; 510

!#  MOD (Jyrki Niemi): Rule was split by the number of context
!# 	   words and slightly generalized to convert correctly.
!# 	   They could be recombined in Pmatch.
!# 	   ([Ss]att" "{NUM}|avtjänat" "{NUM}|"dömd till "[0-9]+|"dömts till "[0-9]+|"tagit flera"|"av drygt "[^\n\t ]+|tar" "[0-9\-]+)" "(månader|veckor|dagar|år)	{printTME(yytext,1);}
!# 	 

!R ([Ss]att|avtjänat|tagit|tar)" "({NUM}|flera|[0-9\-]+)" "(månader|veckor|dagar|år)
!A {printTME(yytext,1);}

Define TimexTmeDat499a
     [Ins(NUM) | {flera} | DigitDashes] { }
     [{månader} | {veckor} | {dagar} | {år}] ;
Define TimexTmeDat499
     [ TimexTmeDat499a
       LC([Ss {att} | {avtjänat} | {tagit} | {tar}] { })
       EndTag(TimexTmeDat) ] ; 511

!R (döm(d|ts)" till"|"av drygt")" "({NUM}|[0-9]+)" "(månader|veckor|dagar|år)
!A {printTME(yytext,2);}

Define TimexTmeDat500a
     [Ins(NUM) | Ins(Nums)] { } [{månader} | {veckor} | {dagar} | {år}] ;
Define TimexTmeDat500
     [ TimexTmeDat500a
       LC([{döm} [{d} | {ts}] { till} | {av drygt}] { })
       EndTag(TimexTmeDat) ] ; 512

!R ([Ff]ör" "|[Ff]rån" "|[Tt]ill" ")?([Ss]ommaren|[Tt]axeringsåret|[Vv]intern|[Hh]östen|[Vv]åren)" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat501a
     [ (Ff {ör } | Ff {rån } | Tt {ill })
       [Ss {ommaren} | Tt {axeringsåret} | Vv {intern} | Hh {östen}
          | Vv {åren}]
       { } Ins(YearNum) ] ;
Define TimexTmeDat501 [ TimexTmeDat501a   EndTag(TimexTmeDat) ] ; 513

!R ([Uu]"ngefär "|[Ss]"edan ")?([Ii]" många många"|[Ii]" så många"|[Ss]"å många"|[Nn]"ågra få"|"rätt många"|[Gg]"anska många"|[Tt]usen|[Ee]"tt antal"|[Ss]"å lite som "[^\n\t ]+|[Uu]"nder sina "[^\n\t ]+" verksamma"|[Mm]"ellan "[^\n\t ]+" och ett halvt"|"med tidigare"|[Ff]"ör första gången på "[^\n\t ]+|[Tt]"idigare"|[Ss]amma|[Mm]ånga|[Vv]artannat|[Hh]alvtannat|[Mm]"ånga framgångsrika"|[Ee]"tt halvt"|[Ii]" "[^\n\t ]+" och ett halvt")" år"(" tidigare"|" sedan"|" tillbaka"|"s mellanrum")?
!A {printTME(yytext,0);}

Define TimexTmeDat502a
     [ (Uu {ngefär } | Ss {edan })
       [Ii { många många} | Ii { så många} | Ss {å många} | Nn {ågra få}
          | {rätt många} | Gg {anska många} | Tt {usen} | Ee {tt antal}
          | Ss {å lite som } Ins(Word) | Uu {nder sina } Ins(Word) { verksamma}
          | Mm {ellan } Ins(Word) { och ett halvt} | {med tidigare}
          | Ff {ör första gången på } Ins(Word) | Tt {idigare} | Ss {amma}
          | Mm {ånga} | Vv {artannat} | Hh {alvtannat} | Mm {ånga framgångsrika}
          | Ee {tt halvt} | Ii { } Ins(Word) { och ett halvt}]
       { år} ({ tidigare} | { sedan} | { tillbaka} | {s mellanrum}) ] ;
Define TimexTmeDat502 [ TimexTmeDat502a   EndTag(TimexTmeDat) ] ; 514

!R ([Uu]"ngefär "|[SsRr]"edan ")?("ett sekel tillbaka"|"per år"|"per sekel"|"senate åren"|[Åå]rets" "[^\n\t ]+" "halvår|[Ee]fter" nyår"|[Ee]fter" nyåret"|[Ee]tt" halvår"|före" den gångna julen"|[Ff]örsommaren|[Ff]ramåt" midsommar"|[Gg]enom" "åren|[Hh]östen\-[0-9][0-9]|[Kk]ring" midsommar"|[Mm]ed" åren"|[Mm]ed" drygt "[^\n\t ]+" års "mellanrum|[Pp]å" "de[nt]" "[a-zåäö]+" "millenniet|[Pp]å" "halfår|[Ss]å" här års"|[Ss]amma" år \, "[12][0-9][0-9][0-9]|[Ss]enaste" "[^\n\t ]+" åren"|[Ss]enaste" åre"[tn]|[Ss]enaste" åren"|[Ss]ista" året"|[Uu]nder" "krigsåren|[Uu]nder" åre"[nt]s" lopp"|[Uu]nder" de åren"|[Uu]nder" fjolåret"|[Uu]nder" julen"|[Uu]nder" sommaruppehållet"|[Uu]nder" vinterhalvåret"|[Tt]idigare" i_år"|[Vv]id" årets slut"|[Vv]id" midsommar"|I" vår tid")(" tidigare"|" sedan")?
!A {printTME(yytext,0);}

Define TimexTmeDat503a
     [ (Uu {ngefär } | ["S"|"s"|"R"|"r"] {edan })
       [{ett sekel tillbaka} | {per år} | {per sekel} | {senate åren}
          | ["Å"|"å"] {rets } Ins(Word) { halvår} | Ee {fter nyår} | Ee {fter nyåret}
          | Ee {tt halvår} | {före den gångna julen} | Ff {örsommaren}
          | Ff {ramåt midsommar} | Gg {enom åren} | Hh {östen-} Ins(Nums2)
          | Kk {ring midsommar} | Mm {ed åren}
          | Mm {ed drygt } Ins(Word) { års mellanrum}
          | Pp {å de} ["n"|"t"] { } Ins(LowerWord) { millenniet} | Pp {å halfår}
          | Ss {å här års} | Ss {amma år , } Ins(YearNum) | Ss {enaste } Ins(Word) { åren}
          | Ss {enaste åre} ["t"|"n"] | Ss {enaste åren} | Ss {ista året}
          | Uu {nder krigsåren} | Uu {nder åre} ["n"|"t"] {s lopp}
          | Uu {nder de åren} | Uu {nder fjolåret} | Uu {nder julen}
          | Uu {nder sommaruppehållet} | Uu {nder vinterhalvåret}
          | Tt {idigare i_år} | Vv {id årets slut} | Vv {id midsommar}
          | {I vår tid}]
       ({ tidigare} | { sedan}) ] ;
Define TimexTmeDat503 [ TimexTmeDat503a   EndTag(TimexTmeDat) ] ; 515

!R "som under "[^\n\t ]+" år"
!A {printTME(yytext,1);}

Define TimexTmeDat504a [ {under } Ins(Word) { år} ] ;
Define TimexTmeDat504
     [ TimexTmeDat504a
       LC({som })
       EndTag(TimexTmeDat) ] ; 516

!R [Åå]r(en)?" "[12][0-9][0-9][0-9](" "[12][0-9][0-9][0-9]" \,")*" "(till|och)" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat505a
     [ ["Å"|"å"] {r} ({en}) { } Ins(YearNum) [{ } Ins(YearNum) { ,}]* { }
       [{till} | {och}] { } Ins(YearNum) ] ;
Define TimexTmeDat505 [ TimexTmeDat505a   EndTag(TimexTmeDat) ] ; 517

!R [Åå]ren" "[12][0-9][0-9][0-9]\-[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat506a [ ["Å"|"å"] {ren } Ins(YearNum) {-} Ins(YearNum) ] ;
Define TimexTmeDat506 [ TimexTmeDat506a   EndTag(TimexTmeDat) ] ; 518

!R [Åå]ren" "[12][0-9][0-9][0-9]\-[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat507a [ ["Å"|"å"] {ren } Ins(YearNum) {-} Ins(Nums2) ] ;
Define TimexTmeDat507 [ TimexTmeDat507a   EndTag(TimexTmeDat) ] ; 519

!R [Åå]"tmistone "[0-9]+" "[0-9]+" år"
!A {printTME(yytext,0);}

Define TimexTmeDat508a [ ["Å"|"å"] {tmistone } Ins(NumsSpNums) { år} ] ;
Define TimexTmeDat508 [ TimexTmeDat508a   EndTag(TimexTmeDat) ] ; 520

!R ([Ff]rån" och "med|[Tt]ill" och "med|[Ff]r\.o\.m\.|[Tt]\.o\.m\.)" "([1-9][0-9]?\/[1-9][0-9]?[0-9]?[0-9]?|[1-9][0-9][0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat509a
     [Ff {rån och med} | Tt {ill och med} | Ff {r.o.m.} | Tt {.o.m.}] { }
     [Num19x {/} Num19x (Num) (Num) | Num19 Nums2 Num] ;
Define TimexTmeDat509 [ TimexTmeDat509a   EndTag(TimexTmeDat) ] ; 521

!R ([Uu]nder|[Ii]" den "[^\n\t ]+|[Ii]" slutet av "den|[Ii]" slutet av")" "[a-zåäö]*perioden
!A {printTME(yytext,0);}

Define TimexTmeDat510a
     [ [Uu {nder} | Ii { den } Ins(Word) | Ii { slutet av den} | Ii { slutet av}]
       { } Lower* {perioden} ] ;
Define TimexTmeDat510 [ TimexTmeDat510a   EndTag(TimexTmeDat) ] ; 522

!R [Åå]ret" "(är|var)" "[12][0-9][0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat511a [ Ins(YearNum) ] ;
Define TimexTmeDat511
     [ TimexTmeDat511a
       LC(["Å"|"å"] {ret } [{är} | {var}] { })
       EndTag(TimexTmeDat) ] ; 523

!R [Kk]ulmen" "kom" "[12][0-9][0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat512a [ Ins(YearNum) ] ;
Define TimexTmeDat512
     [ TimexTmeDat512a
       LC(Kk {ulmen kom })
       EndTag(TimexTmeDat) ] ; 524

!R blev" kung "[12][0-9][0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat513a [ Ins(YearNum) ] ;
Define TimexTmeDat513
     [ TimexTmeDat513a
       LC({blev kung })
       EndTag(TimexTmeDat) ] ; 525

!R [Ii]" ännu "[^\n\t ]+" sekler"
!A {printTME(yytext,0);}

Define TimexTmeDat514a [ Ii { ännu } Ins(Word) { sekler} ] ;
Define TimexTmeDat514 [ TimexTmeDat514a   EndTag(TimexTmeDat) ] ; 526

!R "på "[0-9]+" "[0-9]+" år"
!A {printTME(yytext,0);}

Define TimexTmeDat515a [ {på } Ins(NumsSpNums) { år} ] ;
Define TimexTmeDat515 [ TimexTmeDat515a   EndTag(TimexTmeDat) ] ; 527

!R [Uu]nder" "[a-zåäö]+s" första "år
!A {printTME(yytext,0);}

Define TimexTmeDat516a [ Uu {nder } Ins(LowerWord%_s) { första år} ] ;
Define TimexTmeDat516 [ TimexTmeDat516a   EndTag(TimexTmeDat) ] ; 528

!R ([Mm]ot" slutet"|[Ii]" början"|[Uu]"nder senare delen")" av "("förra ")?[^\n\t ]*seklet
!A {printTME(yytext,0);}

Define TimexTmeDat517a
     [ [Mm {ot slutet} | Ii { början} | Uu {nder senare delen}] { av }
       ({förra }) NS* {seklet} ] ;
Define TimexTmeDat517 [ TimexTmeDat517a   EndTag(TimexTmeDat) ] ; 529

!R [Ff]"örra "[^\n\t ]*seklet
!A {printTME(yytext,0);}

Define TimexTmeDat518a [ Ff {örra } NS* {seklet} ] ;
Define TimexTmeDat518 [ TimexTmeDat518a   EndTag(TimexTmeDat) ] ; 530

!R [Dd]"e "[^\n\t ]+" föregående årens långa perioder"
!A {printTME(yytext,0);}

Define TimexTmeDat519a
     [ Dd {e } Ins(Word) { föregående årens långa perioder} ] ;
Define TimexTmeDat519 [ TimexTmeDat519a   EndTag(TimexTmeDat) ] ; 531

!R ([Ff]rån|fr\.o\.m\.)" "[0-9]+" och framåt"
!A {printTME(yytext,0);}

Define TimexTmeDat520a [ [Ff {rån} | {fr.o.m.}] { } Ins(Nums) { och framåt} ] ;
Define TimexTmeDat520 [ TimexTmeDat520a   EndTag(TimexTmeDat) ] ; 532

!R (till|[Vv]id)" "("mer än ")?(dessa|ett|detta)" "("par "|"flera ")?(tidigare" "|upprepade" "|senare" "|stora" ")?tillfälle(n|t)?
!A {printTME(yytext,0);}

Define TimexTmeDat521a
     [ [{till} | Vv {id}] { } ({mer än }) [{dessa} | {ett} | {detta}] { }
       ({par } | {flera }) ({tidigare } | {upprepade } | {senare } | {stora })
       {tillfälle} ({n} | {t}) ] ;
Define TimexTmeDat521 [ TimexTmeDat521a   EndTag(TimexTmeDat) ] ; 533

!R (till|[Vv]id)" "(de" "flertaliga|samtliga" dessa"|[0-9]+|några|flera|ngt|vissa|något|varje|"mer än ett"|"de sällsynta"|två|tre|"minst två"|detta)" "(tidigare" "|senare" ")?tillfälle(n)?(" "tidigare)?
!A {printTME(yytext,0);}

Define TimexTmeDat522a
     [ [{till} | Vv {id}] { }
       [{de flertaliga} | {samtliga dessa} | Ins(Nums) | {några} | {flera}
          | {ngt} | {vissa} | {något} | {varje} | {mer än ett} | {de sällsynta}
          | {två} | {tre} | {minst två} | {detta}]
       { } ({tidigare } | {senare }) {tillfälle} ({n}) ({ tidigare}) ] ;
Define TimexTmeDat522 [ TimexTmeDat522a   EndTag(TimexTmeDat) ] ; 534

!R till" "(andra|nästa)" "tillfälle(n)?
!A {printTME(yytext,0);}

Define TimexTmeDat523a [ {till } [{andra} | {nästa}] { tillfälle} ({n}) ] ;
Define TimexTmeDat523 [ TimexTmeDat523a   EndTag(TimexTmeDat) ] ; 535

!R [0-9]+\,[0-9]+" år"
!A {printTME(yytext,0);}

Define TimexTmeDat524a [ Ins(NumsCommaNums) { år} ] ;
Define TimexTmeDat524 [ TimexTmeDat524a   EndTag(TimexTmeDat) ] ; 536

!R [Ss]edan" \-"[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat525a [ Ss {edan -} Ins(Nums2) ] ;
Define TimexTmeDat525 [ TimexTmeDat525a   EndTag(TimexTmeDat) ] ; 537

!R [^\n\t ]*[Kk]rigen" "[12][0-9][0-9][0-9]" och "[12][0-9][0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat526a [ Ins(YearNum) { och } Ins(YearNum) ] ;
Define TimexTmeDat526
     [ TimexTmeDat526a
       LC(Kk {rigen })
       EndTag(TimexTmeDat) ] ; 538

!R ([Oo]pererad|lutade|född|ansionerad|slutat)" "\-[0-9][0-9](" "respektive" "\-[0-9][0-9])?
!A {printTME(yytext,1);}

Define TimexTmeDat527a [ {-} Ins(Nums2) ({ respektive -} Ins(Nums2)) ] ;
Define TimexTmeDat527
     [ TimexTmeDat527a
       LC([Oo {pererad} | {lutade} | {född} | {ansionerad} | {slutat}] { })
       EndTag(TimexTmeDat) ] ; 539

!R ([Oo]pererad|lutade|född|ansionerad|slutat|gjord|ppföljning)" "[1-9][0-9]?\/[0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat528a [ Num19x {/} Num ] ;
Define TimexTmeDat528
     [ TimexTmeDat528a
       LC([Oo {pererad} | {lutade} | {född} | {ansionerad} | {slutat}
             | {gjord} | {ppföljning}]
          { })
       EndTag(TimexTmeDat) ] ; 540

!R ([Mm]an|vinna)" född "[0-9][0-9][0-9]?[0-9]?
!A {printTME(yytext,2);}

Define TimexTmeDat529a [ Ins(Nums2) (Num) (Num) ] ;
Define TimexTmeDat529
     [ TimexTmeDat529a
       LC([Mm {an} | {vinna}] { född })
       EndTag(TimexTmeDat) ] ; 541

!R (dog|föddes)" i "[A-Z][^\n ]+" "[12][0-9][0-9][0-9]
!A {printTME(yytext,3);}

Define TimexTmeDat530a [ Ins(YearNum) ] ;
Define TimexTmeDat530
     [ TimexTmeDat530a
       LC([{dog} | {föddes}] { i } AZ Word { })
       EndTag(TimexTmeDat) ] ; 542

!R "drogs in "[12][0-9][0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat531a [ Ins(YearNum) ] ;
Define TimexTmeDat531
     [ TimexTmeDat531a
       LC({drogs in })
       EndTag(TimexTmeDat) ] ; 543

!R "i efterhand "[12][0-9][0-9][0-9][0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat532a [ YearNum Ins(Nums2) ] ;
Define TimexTmeDat532
     [ TimexTmeDat532a
       LC({i efterhand })
       EndTag(TimexTmeDat) ] ; 544

!R ([Uu]nder" ")?[Åå]ren" "[12][0-9][0-9][0-9]" \, "[12][0-9][0-9][0-9]" och "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat533a
     [ (Uu {nder }) ["Å"|"å"] {ren } Ins(YearNum) { , } Ins(YearNum) { och } Ins(YearNum) ] ;
Define TimexTmeDat533 [ TimexTmeDat533a   EndTag(TimexTmeDat) ] ; 545

!R [Uu]"nder åren"(" "[12][0-9][0-9][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat534a [ Uu {nder åren} ({ } YearNum Ins(Nums2)) ] ;
Define TimexTmeDat534 [ TimexTmeDat534a   EndTag(TimexTmeDat) ] ; 546

!R [0-9][0-9]?\.[0-9][0-9]?" år"
!A {printTME(yytext,0);}

Define TimexTmeDat535a [ Ins(Nums12) {.} Ins(Nums12) { år} ] ;
Define TimexTmeDat535 [ TimexTmeDat535a   EndTag(TimexTmeDat) ] ; 547

!R ([0-9]+" ")?[0-9]+" personår"
!A {printTME(yytext,0);}

Define TimexTmeDat536a [ (Ins(Nums) { }) Ins(Nums) { personår} ] ;
Define TimexTmeDat536 [ TimexTmeDat536a   EndTag(TimexTmeDat) ] ; 548

!R [0-9]+"\-årsperiod"(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat537a [ Ins(Nums) {-årsperiod} ({en}) ] ;
Define TimexTmeDat537 [ TimexTmeDat537a   EndTag(TimexTmeDat) ] ; 549

!R [Jj](mfrt|mf|ämfört)" med "[12][0-9][0-9][0-9]"\-"[12][0-9][0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat538a [ Ins(YearNum) {-} Ins(YearNum) ] ;
Define TimexTmeDat538
     [ TimexTmeDat538a
       LC(Jj [{mfrt} | {mf} | {ämfört}] { med })
       EndTag(TimexTmeDat) ] ; 550

!R [Jj](mfrt|mf|ämfört)" med "([0-9][0-9][0-9][0-9][0-9][0-9]|\-[0-9][0-9][0-9][0-9][0-9][0-9]|\-[0-9][0-9]|[0-9][0-9]*\/[0-9][0-9]*|[0-9][0-9]*\/[0-9][0-9]*\-[0-9][0-9]|[0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]|[0-9][0-9]*\/[0-9][0-9]*" \-"[0-9][0-9])
!A {printTME(yytext,2);}

Define TimexTmeDat539a
     [ Ins(Nums6) | {-} Ins(Nums6) | {-} Ins(Nums2) | Num Num* {/} Num Num*
       | Num Num* {/} Num Num* {-} Ins(Nums2) | Ins(Nums2Range) {-} Ins(Nums2)
       | Num Num* {/} Num Num* { -} Ins(Nums2) ] ;
Define TimexTmeDat539
     [ TimexTmeDat539a
       LC(Jj [{mfrt} | {mf} | {ämfört}] { med })
       EndTag(TimexTmeDat) ] ; 551

!R [Åå]rgång" \-"[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat540a [ ["Å"|"å"] {rgång -} Ins(Nums2) ] ;
Define TimexTmeDat540 [ TimexTmeDat540a   EndTag(TimexTmeDat) ] ; 552

!R [^\n\t ]*[Åå]rgång" \( "[0-9][0-9][0-9][0-9]\-[0-9][0-9][0-9][0-9]" \)"
!A {printTME(yytext,0);}

Define TimexTmeDat541a [ NS* ["Å"|"å"] {rgång ( } Ins(Nums4) {-} Ins(Nums4) { )} ] ;
Define TimexTmeDat541 [ TimexTmeDat541a   EndTag(TimexTmeDat) ] ; 553

!R [0-9]+" patientår"
!A {printTME(yytext,0);}

Define TimexTmeDat542a [ Ins(Nums) { patientår} ] ;
Define TimexTmeDat542 [ TimexTmeDat542a   EndTag(TimexTmeDat) ] ; 554

!R ": "[12][0-9]"\-"[0-9]"\-"[0-9]" "[0-9][0-9]":"[0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat543a [ Num12X {-} Num {-} Num { } Ins(Nums2) {:} Ins(Nums2) ] ;
Define TimexTmeDat543
     [ TimexTmeDat543a
       LC({: })
       EndTag(TimexTmeDat) ] ; 555

!R "är sänd "0[12][012][0-9][0123][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat544a [ {0} Num12 Num02X Num03 Num ] ;
Define TimexTmeDat544
     [ TimexTmeDat544a
       LC({är sänd })
       EndTag(TimexTmeDat) ] ; 556

!R på" nytt "[12][0-9]\-[12][0-9]\/[1-9][0-9]?
!A {printTME(yytext,2);}

Define TimexTmeDat545a [ Num12X {-} Num12X {/} Num19x ] ;
Define TimexTmeDat545
     [ TimexTmeDat545a
       LC({på nytt })
       EndTag(TimexTmeDat) ] ; 557

!R [Ss]edan" "[0-9]\-[0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat546a [ Ss {edan } Num {-} Num ] ;
Define TimexTmeDat546 [ TimexTmeDat546a   EndTag(TimexTmeDat) ] ; 558

!R [1-9][0-9]?\/[1-9][0-9]?" "[Tt]" o m "[123][0-9]\/[1-9][0-9]?
!A {printTME(yytext,0);}

Define TimexTmeDat547a
     [ Num19x {/} Num19x { } Tt { o m } Num13X {/} Num19x ] ;
Define TimexTmeDat547 [ TimexTmeDat547a   EndTag(TimexTmeDat) ] ; 559

!R [Tt]" o m "[123][0-9]\/[1-9][0-9]?
!A {printTME(yytext,0);}

Define TimexTmeDat548a [ Tt { o m } Num13X {/} Num19x ] ;
Define TimexTmeDat548 [ TimexTmeDat548a   EndTag(TimexTmeDat) ] ; 560

!R Sen" \-"[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat549a [ {Sen -} Ins(Nums2) ] ;
Define TimexTmeDat549 [ TimexTmeDat549a   EndTag(TimexTmeDat) ] ; 561

!R Våren" "[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat550a [ {Våren } Ins(Nums2) ] ;
Define TimexTmeDat550 [ TimexTmeDat550a   EndTag(TimexTmeDat) ] ; 562

!R (VT|HT)" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat551a [ [{VT} | {HT}] { } Ins(YearNum) ] ;
Define TimexTmeDat551 [ TimexTmeDat551a   EndTag(TimexTmeDat) ] ; 563

!R Mellan" "[12][0-9][0-9][0-9]\-[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat552a [ {Mellan } Ins(YearNum) {-} Ins(YearNum) ] ;
Define TimexTmeDat552 [ TimexTmeDat552a   EndTag(TimexTmeDat) ] ; 564

!R (Tor|Fre|Mån|Tis|Ons|Lör|Sön)\.?" "[0-9][0-9]" "(Jan|Feb|Mars|Apr|Maj|Jun|Jul|Aug|Sep|Okt|Nov|Dec)\.?" \, "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat553a
     [ [{Tor} | {Fre} | {Mån} | {Tis} | {Ons} | {Lör} | {Sön}] ({.}) { } Ins(Nums2)
       { }
       [{Jan} | {Feb} | {Mars} | {Apr} | {Maj} | {Jun} | {Jul} | {Aug}
          | {Sep} | {Okt} | {Nov} | {Dec}]
       ({.}) { , } Ins(YearNum) ] ;
Define TimexTmeDat553 [ TimexTmeDat553a   EndTag(TimexTmeDat) ] ; 565

!R [Aa]nkomst" senast "[0-9][0-9]\.[0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat554a [ {senast } Ins(Nums2DotNums2) ] ;
Define TimexTmeDat554
     [ TimexTmeDat554a
       LC(Aa {nkomst })
       EndTag(TimexTmeDat) ] ; 566

!R [^\n ]+månadersperioden
!A {printTME(yytext,0);}

Define TimexTmeDat555a [ Word {månadersperioden} ] ;
Define TimexTmeDat555 [ TimexTmeDat555a   EndTag(TimexTmeDat) ] ; 567

!R År" "[12](" ")?[0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat556a [ {År } Num12 ({ }) Nums2 Num ] ;
Define TimexTmeDat556 [ TimexTmeDat556a   EndTag(TimexTmeDat) ] ; 568

!#  MOD (Jyrki Niemi): Removed unquoted [ from character class 

!R ([Ff]ör" "|[Uu]nder" ")?([Uu]ngefär" "|ca" "|[Cc]irka" ")?[0-9]+([\,0-9]+)?" miljarder år sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat557a
     [ (Ff {ör } | Uu {nder }) (Uu {ngefär } | {ca } | Cc {irka }) Ins(Nums)
       ([Num|","]+) { miljarder år sedan} ] ;
Define TimexTmeDat557 [ TimexTmeDat557a   EndTag(TimexTmeDat) ] ; 569

!R [Ff]ör" "[0-9]+" år sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat558a [ Ff {ör } Ins(Nums) { år sedan} ] ;
Define TimexTmeDat558 [ TimexTmeDat558a   EndTag(TimexTmeDat) ] ; 570

!#  SÄSONG 

!R ([Ii]nför|[Uu]nder)" säsongen "[^\n\t ]+" till början av "[^\n\t ]+
!A {printTME(yytext,0);}

Define TimexTmeDat559a
     [ [Ii {nför} | Uu {nder}] { säsongen } Ins(Word) { till början av } Word ] ;
Define TimexTmeDat559 [ TimexTmeDat559a   EndTag(TimexTmeDat) ] ; 571

!R [Uu]nder" "{NUM}" "([a-zåäö]+" ")?säsonger(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat560a
     [ Uu {nder } Ins(NUM) { } (Ins(LowerWord) { }) {säsonger} ({na}) ] ;
Define TimexTmeDat560 [ TimexTmeDat560a   EndTag(TimexTmeDat) ] ; 572

!R ([Ii]nför|[Uu]nder|[Dd]en" här"|[Uu]"nder hela"|[Hh]ela|[Ff]ör)" "[a-z]*säsongen(" "\-[0-9]+|" "[0-9]+\/[0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat561a
     [ [Ii {nför} | Uu {nder} | Dd {en här} | Uu {nder hela} | Hh {ela}
          | Ff {ör}]
       { } Az* {säsongen} ({ -} Ins(Nums) | { } Ins(NumsSlashNums)) ] ;
Define TimexTmeDat561 [ TimexTmeDat561a   EndTag(TimexTmeDat) ] ; 573

!R [Ss]äsongerna" "[0-9]+\-[0-9]+(" och "[0-9]+\-[0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat562a [ Ss {äsongerna } Ins(NumRange) ({ och } Ins(NumRange)) ] ;
Define TimexTmeDat562 [ TimexTmeDat562a   EndTag(TimexTmeDat) ] ; 574

!R [Ss]äsong" \-"[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat563a [ Ss {äsong -} Ins(Nums2) ] ;
Define TimexTmeDat563 [ TimexTmeDat563a   EndTag(TimexTmeDat) ] ; 575

!R [0-9]+" år "(tidigare|senare)
!A {printTME(yytext,0);}

Define TimexTmeDat564a [ Ins(Nums) { år } [{tidigare} | {senare}] ] ;
Define TimexTmeDat564 [ TimexTmeDat564a   EndTag(TimexTmeDat) ] ; 576

!#  TID 

!R ([^\n\t ]*[Tt]iden|[Mm]ellan)" "[12][0-9][0-9][0-9]" till "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat565a
     [ [NS* Tt {iden} | Mm {ellan}] { } Ins(YearNum) { till } Ins(YearNum) ] ;
Define TimexTmeDat565 [ TimexTmeDat565a   EndTag(TimexTmeDat) ] ; 577

!R ("bara ")?([Uu]"nder ")?(Under" "|[Ss]edan" en "|en" "|[Ee]fter" en "|[Vv]id" "|[Mm]ot" "|[Dd]enna" "|[Ii]"nom "|[Ff]ör" ")?(motsvarande|viss|kort|kortare|"ett mycket kort"|relativt|"någon längre"|längre|förhistorisk|lång|[Ss]amma|denna)" "(kort" ")?(tidssperspektiv|tidsperiod|period|tid|"tid framåt"|"tid framöver")(" förra året"|" i fjol"|" ifjol"|" föregående år")?
!A {printTME(yytext,0);}

Define TimexTmeDat566a
     [ ({bara }) (Uu {nder })
       ({Under } | Ss {edan en } | {en } | Ee {fter en } | Vv {id }
         | Mm {ot } | Dd {enna } | Ii {nom } | Ff {ör })
       [{motsvarande} | {viss} | {kort} | {kortare} | {ett mycket kort}
          | {relativt} | {någon längre} | {längre} | {förhistorisk} | {lång}
          | Ss {amma} | {denna}]
       { } ({kort })
       [{tidssperspektiv} | {tidsperiod} | {period} | {tid} | {tid framåt}
          | {tid framöver}]
       ({ förra året} | { i fjol} | { ifjol} | { föregående år}) ] ;
Define TimexTmeDat566 [ TimexTmeDat566a   EndTag(TimexTmeDat) ] ; 578

!R ([0-9]+\-års|"över en"|[Uu]"nder denna"|[Dd]enna)" "[^\n\t ]*period
!A {printTME(yytext,0);}

Define TimexTmeDat567a
     [ [Ins(Nums) {-års} | {över en} | Uu {nder denna} | Dd {enna}] { } NS*
       {period} ] ;
Define TimexTmeDat567 [ TimexTmeDat567a   EndTag(TimexTmeDat) ] ; 579

!R ([Rr]edan" ")?([Pp]å|[Uu]nder|[Mm]ot" slutet av")" "([a-zåäö]+" "tid|[a-zåäö]*tiden|"en "[^\n\t ]+" tid")
!A {printTME(yytext,0);}

Define TimexTmeDat568a
     [ (Rr {edan }) [Pp {å} | Uu {nder} | Mm {ot slutet av}] { }
       [Ins(LowerWord) { tid} | Lower* {tiden} | {en } Ins(Word) { tid}] ] ;
Define TimexTmeDat568 [ TimexTmeDat568a   EndTag(TimexTmeDat) ] ; 580

!R ([Ff]ram" till"|[Rr]edan" under")" "[^\nå ]+tiden
!A {printTME(yytext,0);}

Define TimexTmeDat569a
     [ [Ff {ram till} | Rr {edan under}] { } [NS - {å}]+ {tiden} ] ;
Define TimexTmeDat569 [ TimexTmeDat569a   EndTag(TimexTmeDat) ] ; 581

!R ([Mm]ycket" "|[Nn]"ågot ")?"längre "tid(en|er)?
!A {printTME(yytext,0);}

Define TimexTmeDat570a
     [ (Mm {ycket } | Nn {ågot }) {längre tid} ({en} | {er}) ] ;
Define TimexTmeDat570 [ TimexTmeDat570a   EndTag(TimexTmeDat) ] ; 582

!R [Uu]nder" hela sin "[^\n\t ]+" tid"
!A {printTME(yytext,0);}

Define TimexTmeDat571a [ Uu {nder hela sin } Ins(Word) { tid} ] ;
Define TimexTmeDat571 [ TimexTmeDat571a   EndTag(TimexTmeDat) ] ; 583

!R (tillbringa|ägnas)" "(mer|mycket)" tid"
!A {printTME(yytext,1);}

Define TimexTmeDat572a [ [{mer} | {mycket}] { tid} ] ;
Define TimexTmeDat572
     [ TimexTmeDat572a
       LC([{tillbringa} | {ägnas}] { })
       EndTag(TimexTmeDat) ] ; 584

!R "kommer sällan"
!A {printTME(yytext,1);}

Define TimexTmeDat573a [ {sällan} ] ;
Define TimexTmeDat573
     [ TimexTmeDat573a
       LC({kommer })
       EndTag(TimexTmeDat) ] ; 585

!R (stanna|vänta|vistats|lever|använ|levde|varar|suttit)[a-z]*" "(länge|längre)
!A {printTME(yytext,1);}

Define TimexTmeDat574a [ {länge} | {längre} ] ;
Define TimexTmeDat574
     [ TimexTmeDat574a
       LC([{stanna} | {vänta} | {vistats} | {lever} | {använ} | {levde}
             | {varar} | {suttit}]
          Az* { })
       EndTag(TimexTmeDat) ] ; 586

!R "är det dags"
!A {printTME(yytext,2);}

Define TimexTmeDat575a [ {dags} ] ;
Define TimexTmeDat575
     [ TimexTmeDat575a
       LC({är det })
       EndTag(TimexTmeDat) ] ; 587

!R "togs den "[123][0-9]\/[0-9][0-9](\-[089][0-9])?
!A {printTME(yytext,2);}

Define TimexTmeDat576a [ Num13X {/} Ins(Nums2) ({-} ["0"|"8"|"9"] Num) ] ;
Define TimexTmeDat576
     [ TimexTmeDat576a
       LC({togs den })
       EndTag(TimexTmeDat) ] ; 588

!R pågår" ännu"
!A {printTME(yytext,1);}

Define TimexTmeDat577a [ {ännu} ] ;
Define TimexTmeDat577
     [ TimexTmeDat577a
       LC({pågår })
       EndTag(TimexTmeDat) ] ; 589

!R (blev|betala)" "tidigt
!A {printTME(yytext,1);}

Define TimexTmeDat578a [ {tidigt} ] ;
Define TimexTmeDat578
     [ TimexTmeDat578a
       LC([{blev} | {betala}] { })
       EndTag(TimexTmeDat) ] ; 590

!R [Aa]rbetar" "halvtid
!A {printTME(yytext,1);}

Define TimexTmeDat579a [ {halvtid} ] ;
Define TimexTmeDat579
     [ TimexTmeDat579a
       LC(Aa {rbetar })
       EndTag(TimexTmeDat) ] ; 591

!R ([Ää]r|som|[Oo]ch)" "numera
!A {printTME(yytext,1);}

Define TimexTmeDat580a [ {numera} ] ;
Define TimexTmeDat580
     [ TimexTmeDat580a
       LC([["Ä"|"ä"] {r} | {som} | Oo {ch}] { })
       EndTag(TimexTmeDat) ] ; 592

!R " numera vet "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">numera</TIMEX> vet ");}

Define TimexTmeDat581a [ {numera} ] ;
Define TimexTmeDat581
     [ TimexTmeDat581a
       LC({ })
       RC({ vet })
       EndTag(TimexTmeDat) ] ; 593

!R " i tid "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">i tid</TIMEX> ");}

Define TimexTmeDat582
     [ {i tid}
       LC({ })
       RC({ })
       EndTag(TimexTmeDat) ] ; 594

!R skedde" tidigare"
!A {printTME(yytext,1);}

Define TimexTmeDat583a [ {tidigare} ] ;
Define TimexTmeDat583
     [ TimexTmeDat583a
       LC({skedde })
       EndTag(TimexTmeDat) ] ; 595

!R tidigare" "(har|berätta|tro|sagt|arbeta|redog|godkä)
!A {int i=0; printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">");	for(;yytext[i]!=' ';putchar(yytext[i++]));	printf("</TIMEX>"); for(;i<yyleng; putchar(yytext[i++])); }

Define TimexTmeDat584
     [ {tidigare}
       RC({ }
          [{har} | {berätta} | {tro} | {sagt} | {arbeta} | {redog}
             | {godkä}])
       EndTag(TimexTmeDat) ] ; 596

!R ([Uu]nder" "|[Ii]"nom ")?([Dd]en" ")?([Nn]ärmaste|[Ss]enaste)" tiden"
!A {printTME(yytext,0);}

Define TimexTmeDat585a
     [ (Uu {nder } | Ii {nom }) (Dd {en }) [Nn {ärmaste} | Ss {enaste}]
       { tiden} ] ;
Define TimexTmeDat585 [ TimexTmeDat585a   EndTag(TimexTmeDat) ] ; 597

!R ([Uu]nder" ")[Ll]ängre" tid än "[^\n ]+" "(år|månader|veckor|dagar)
!A {printTME(yytext,0);}

Define TimexTmeDat586a
     [Uu {nder }] Ll {ängre tid än } Ins(Word) { }
     [{år} | {månader} | {veckor} | {dagar}] ;
Define TimexTmeDat586 [ TimexTmeDat586a   EndTag(TimexTmeDat) ] ; 598

!R [Uu]nder" "(denna|den|hela)" "[a-zåäö]+tid(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat587a
     [ Uu {nder } [{denna} | {den} | {hela}] { } LowerWord {tid} ({en}) ] ;
Define TimexTmeDat587 [ TimexTmeDat587a   EndTag(TimexTmeDat) ] ; 599

!R ([Hh]ela|[Ff]örr" i"|[Nn]"u för"|[Pp]å" "den|[Pp]å" "senaste|[Uu]nder|[Ee]"fter halva "den|[Vv]id" "den|[Uu]nder" "hela|den|[Dd]"en sista"|"en gång i"|[Ss]ista)" "tiden(" "[12][0-9][0-9][0-9]\-[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat588a
     [ [Hh {ela} | Ff {örr i} | Nn {u för} | Pp {å den} | Pp {å senaste}
          | Uu {nder} | Ee {fter halva den} | Vv {id den} | Uu {nder hela}
          | {den} | Dd {en sista} | {en gång i} | Ss {ista}]
       { tiden} ({ } Ins(YearNum) {-} Ins(YearNum)) ] ;
Define TimexTmeDat588 [ TimexTmeDat588a   EndTag(TimexTmeDat) ] ; 600

!R ([Ii]nför|[Ii]|[Ii]nom|[Aa]v|[Ff]ör" all")" "("den närmaste "|"en nära "|"en snar ")?framtid(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat589a
     [ [Ii {nför} | Ii | Ii {nom} | Aa {v} | Ff {ör all}] { }
       ({den närmaste } | {en nära } | {en snar }) {framtid} ({en}) ] ;
Define TimexTmeDat589 [ TimexTmeDat589a   EndTag(TimexTmeDat) ] ; 601

!R [Ff]"rån "[^\n\t ]+"sk tid och "senare
!A {printTME(yytext,0);}

Define TimexTmeDat590a [ Ff {rån } Ins(Word%_sk) { tid och senare} ] ;
Define TimexTmeDat590 [ TimexTmeDat590a   EndTag(TimexTmeDat) ] ; 602

!R ([Ii]" god"|[Ee]fter" "[^\n\t ]+|[Aa]"llt mer"|[Mm]"ycket kort")" "tid
!A {printTME(yytext,0);}

Define TimexTmeDat591a
     [ [Ii { god} | Ee {fter } Ins(Word) | Aa {llt mer} | Mm {ycket kort}] { tid} ] ;
Define TimexTmeDat591 [ TimexTmeDat591a   EndTag(TimexTmeDat) ] ; 603

!R [Ee]fter" "[^\n\<\t ]+" dagars vårdtid"
!A {printTME(yytext,0);}

Define TimexTmeDat592a [ Ee {fter } Ins(Word) { dagars vårdtid} ] ;
Define TimexTmeDat592 [ TimexTmeDat592a   EndTag(TimexTmeDat) ] ; 604

!R " med tiden \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">med tiden</TIMEX> .");}

Define TimexTmeDat593
     [ {med tiden}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 605

!R " en tid "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">en tid</TIMEX> ");}

Define TimexTmeDat594
     [ {en tid}
       LC({ })
       RC({ })
       EndTag(TimexTmeDat) ] ; 606

!R "om tidigare \."
!A {printf("om <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX> .");}

Define TimexTmeDat595a [ {tidigare} ] ;
Define TimexTmeDat595
     [ TimexTmeDat595a
       LC({om })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 607

!R "som tidigare inte"
!A {printf("som <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX> inte");}

Define TimexTmeDat596a [ {tidigare} ] ;
Define TimexTmeDat596
     [ TimexTmeDat596a
       LC({som })
       RC({ inte})
       EndTag(TimexTmeDat) ] ; 608

!R "som tidigare visat"
!A {printf("som <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX> visat");}

Define TimexTmeDat597a [ {tidigare} ] ;
Define TimexTmeDat597
     [ TimexTmeDat597a
       LC({som })
       RC({ visat})
       EndTag(TimexTmeDat) ] ; 609

!R "det en gång var "
!A {printf("det <TIMEX TYPE=\"TME\" SBT=\"DAT\">en gång</TIMEX> var ");}

Define TimexTmeDat598
     [ {en gång}
       LC({det })
       RC({ var })
       EndTag(TimexTmeDat) ] ; 610

!R "skrivits tidigare i "
!A {printf("skrivits <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX> i ");}

Define TimexTmeDat599a [ {tidigare} ] ;
Define TimexTmeDat599
     [ TimexTmeDat599a
       LC({skrivits })
       RC({ i })
       EndTag(TimexTmeDat) ] ; 611

!R "som tidigare var"
!A {printf("som <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX> var");}

Define TimexTmeDat600a [ {tidigare} ] ;
Define TimexTmeDat600
     [ TimexTmeDat600a
       LC({som })
       RC({ var})
       EndTag(TimexTmeDat) ] ; 612

!R " var en gång de"
!A {printf(" var <TIMEX TYPE=\"TME\" SBT=\"DAT\">en gång</TIMEX> de");}

Define TimexTmeDat601
     [ {en gång}
       LC({ var })
       RC({ de})
       EndTag(TimexTmeDat) ] ; 613

!R "inom året \,"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">inom året</TIMEX> ,");}

Define TimexTmeDat602 [ {inom året}   RC({ ,})   EndTag(TimexTmeDat) ] ; 614

!R [Vv]id" "[a-zåäö]+" tidpunkt"(en|er)?
!A {printTME(yytext,0);}

Define TimexTmeDat603a [ Vv {id } Ins(LowerWord) { tidpunkt} ({en} | {er}) ] ;
Define TimexTmeDat603 [ TimexTmeDat603a   EndTag(TimexTmeDat) ] ; 615

!R [Vv]id" "[a-zåäö]+" samma "tidpunkt(en|er)?
!A {printTME(yytext,0);}

Define TimexTmeDat604a
     [ Vv {id } Ins(LowerWord) { samma tidpunkt} ({en} | {er}) ] ;
Define TimexTmeDat604 [ TimexTmeDat604a   EndTag(TimexTmeDat) ] ; 616

!R [Vv]id" en "[a-zåäö]+" tidpunkt"(en|er)?
!A {printTME(yytext,0);}

Define TimexTmeDat605a
     [ Vv {id en } Ins(LowerWord) { tidpunkt} ({en} | {er}) ] ;
Define TimexTmeDat605 [ TimexTmeDat605a   EndTag(TimexTmeDat) ] ; 617

!R [Vv]id" "tidpunkt(en|er)?
!A {printTME(yytext,0);}

Define TimexTmeDat606a [ Vv {id tidpunkt} ({en} | {er}) ] ;
Define TimexTmeDat606 [ TimexTmeDat606a   EndTag(TimexTmeDat) ] ; 618

!R [Ee]n" "(timma|kvart)" "[^\n\t ]+" "stängningstid
!A {printTME(yytext,0);}

Define TimexTmeDat607a
     [ Ee {n } [{timma} | {kvart}] { } Ins(Word) { stängningstid} ] ;
Define TimexTmeDat607 [ TimexTmeDat607a   EndTag(TimexTmeDat) ] ; 619

!R [Hh]alvtiden
!A {printTME(yytext,0);}

Define TimexTmeDat608a [ Hh {alvtiden} ] ;
Define TimexTmeDat608 [ TimexTmeDat608a   EndTag(TimexTmeDat) ] ; 620

!R (från" dessa "[a-zåäö]+a|[Ii]" "sednare|[Ii]" "gamla|[Ii]" "alla|[Uu]nder" långa"|[Ii]" något äldre")" tider"
!A {printTME(yytext,0);}

Define TimexTmeDat609a
     [ [{från dessa } LowerWord {a} | Ii { sednare} | Ii { gamla}
          | Ii { alla} | Uu {nder långa} | Ii { något äldre}]
       { tider} ] ;
Define TimexTmeDat609 [ TimexTmeDat609a   EndTag(TimexTmeDat) ] ; 621

!R (med" "|[Ff]rån" ")?[Åå]ret" "dessförinnan
!A {printTME(yytext,0);}

Define TimexTmeDat610a
     [ ({med } | Ff {rån }) ["Å"|"å"] {ret dessförinnan} ] ;
Define TimexTmeDat610 [ TimexTmeDat610a   EndTag(TimexTmeDat) ] ; 622

!R [Dd]e" "{NUM}" åren närmast dessförinnan"
!A {printTME(yytext,0);}

Define TimexTmeDat611a [ Dd {e } Ins(NUM) { åren närmast dessförinnan} ] ;
Define TimexTmeDat611 [ TimexTmeDat611a   EndTag(TimexTmeDat) ] ; 623

!R [Tt]illbaka" till "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat612a [ Tt {illbaka till } Ins(YearNum) ] ;
Define TimexTmeDat612 [ TimexTmeDat612a   EndTag(TimexTmeDat) ] ; 624

!R "man redan har"
!A {printf("man <TIMEX TYPE=\"TME\" SBT=\"DAT\">redan</TIMEX> har");}

Define TimexTmeDat613a [ {redan} ] ;
Define TimexTmeDat613
     [ TimexTmeDat613a
       LC({man })
       RC({ har})
       EndTag(TimexTmeDat) ] ; 625

!R "Ju förr man"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Ju förr</TIMEX> man");}

Define TimexTmeDat614 [ {Ju förr}   RC({ man})   EndTag(TimexTmeDat) ] ; 626

!R ([Uu]nder|[Ii]nför)" "[^\n\t ]+terminen(" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat615a
     [ [Uu {nder} | Ii {nför}] { } Word {terminen} ({ } Ins(YearNum)) ] ;
Define TimexTmeDat615 [ TimexTmeDat615a   EndTag(TimexTmeDat) ] ; 627

!R [^\n\t ]+[Tt][Ee][Rr][Mm][Ii][Nn][Ee][Nn]" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat616a [ Word Tt Ee Rr Mm Ii Nn Ee Nn { } Ins(YearNum) ] ;
Define TimexTmeDat616 [ TimexTmeDat616a   EndTag(TimexTmeDat) ] ; 628

!R [Ss]å" "(sent|tidigt|snart|länge)" som "(möjligt|[12][0-9][0-9][0-9])
!A {printTME(yytext,0);}

Define TimexTmeDat617a
     [ Ss {å } [{sent} | {tidigt} | {snart} | {länge}] { som }
       [{möjligt} | Ins(YearNum)] ] ;
Define TimexTmeDat617 [ TimexTmeDat617a   EndTag(TimexTmeDat) ] ; 629

!R behöv(er|t|de)" tid"
!A {printTME(yytext,1);}

Define TimexTmeDat618a [ {tid} ] ;
Define TimexTmeDat618
     [ TimexTmeDat618a
       LC({behöv} [{er} | {t} | {de}] { })
       EndTag(TimexTmeDat) ] ; 630

!R förändras" över tid"
!A {printTME(yytext,1);}

Define TimexTmeDat619a [ {över tid} ] ;
Define TimexTmeDat619
     [ TimexTmeDat619a
       LC({förändras })
       EndTag(TimexTmeDat) ] ; 631

!R ([Ii]nom" "en|[Ee]n" "längre)" "[^\n\t ]*period
!A {printTME(yytext,0);}

Define TimexTmeDat620a [ [Ii {nom en} | Ee {n längre}] { } NS* {period} ] ;
Define TimexTmeDat620 [ TimexTmeDat620a   EndTag(TimexTmeDat) ] ; 632

!R [Uu]nder" "(kortare|längre)" "[^\n\t ]*(tider|period|perioder)
!A {printTME(yytext,0);}

Define TimexTmeDat621a
     [ Uu {nder } [{kortare} | {längre}] { } NS*
       [{tider} | {period} | {perioder}] ] ;
Define TimexTmeDat621 [ TimexTmeDat621a   EndTag(TimexTmeDat) ] ; 633

!R [Ii]" olika "[^\n\t ]*(tider|perioder)
!A {printTME(yytext,0);}

Define TimexTmeDat622a [ Ii { olika } NS* [{tider} | {perioder}] ] ;
Define TimexTmeDat622 [ TimexTmeDat622a   EndTag(TimexTmeDat) ] ; 634

!R [Ii]" "(längre|kortare)" "[^\n\t ]*perioder
!A {printTME(yytext,0);}

Define TimexTmeDat623a
     [ Ii { } [{längre} | {kortare}] { } NS* {perioder} ] ;
Define TimexTmeDat623 [ TimexTmeDat623a   EndTag(TimexTmeDat) ] ; 635

!R [Uu]"nder "[^\n\t ]*(tider|perioder)(na)?
!A {printTME(yytext,0);}

Define TimexTmeDat624a [ Uu {nder } NS* [{tider} | {perioder}] ({na}) ] ;
Define TimexTmeDat624 [ TimexTmeDat624a   EndTag(TimexTmeDat) ] ; 636

!R [Pp]å" kort "[a-zåäö]+" lång sikt"
!A {printTME(yytext,0);}

Define TimexTmeDat625a [ Pp {å kort } Ins(LowerWord) { lång sikt} ] ;
Define TimexTmeDat625 [ TimexTmeDat625a   EndTag(TimexTmeDat) ] ; 637

!R [Ää]r" op \-"[0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat626a [ {-} Ins(Nums2) ] ;
Define TimexTmeDat626
     [ TimexTmeDat626a
       LC(["Ä"|"ä"] {r op })
       EndTag(TimexTmeDat) ] ; 638

!R [Ff]ick" barn \-"[0-9][0-9]
!A {printTME(yytext,2);}

Define TimexTmeDat627a [ {-} Ins(Nums2) ] ;
Define TimexTmeDat627
     [ TimexTmeDat627a
       LC(Ff {ick barn })
       EndTag(TimexTmeDat) ] ; 639

!R (ensionerad|infarkt|ökstopp|ektomerad|troke|röka|blödning|PTCA|diagn)" "[0-9][0-9][0-9][0-9]
!A {/*AT*/printTME(yytext,1);}

!# AT

Define TimexTmeDat628a [ Ins(Nums4) ] ;
Define TimexTmeDat628
     [ TimexTmeDat628a
       LC([{ensionerad} | {infarkt} | {ökstopp} | {ektomerad} | {troke}
             | {röka} | {blödning} | {PTCA} | {diagn}]
          { })
       EndTag(TimexTmeDat) ] ; 640

!R (ensionerad|infarkt|ökstopp|ektomerad|troke|röka|blödning|PTCA|diagn|utredd|pass\-op|lymfom|[Pp]ulm|hjärna)" \-"[0-9][0-9]
!A {/*AT*/printTME(yytext,1);}

!# AT

Define TimexTmeDat629a [ {-} Ins(Nums2) ] ;
Define TimexTmeDat629
     [ TimexTmeDat629a
       LC([{ensionerad} | {infarkt} | {ökstopp} | {ektomerad} | {troke}
             | {röka} | {blödning} | {PTCA} | {diagn} | {utredd} | {pass-op}
             | {lymfom} | Pp {ulm} | {hjärna}]
          { })
       EndTag(TimexTmeDat) ] ; 641

!#  MOD (Jyrki Niemi): Rule was split by the number of context words.
!# 	   They could be recombined in Pmatch.
!# 	   (ensionerad|infarkt|ökstopp|ektomerad|troke|konferens|kontroll|röka|blödning|efterbeh|PTCA|diagn|pass\-op|insatt|lymfom|[Pp]ulm|hjärna|axel|rtg|"ordnas till")" "[1-9][0-9]?\/[1-9][0-9]?(" \-"[0-9][0-9])?	{printTME(yytext,1);}
!# 	 

!R (ensionerad|infarkt|ökstopp|ektomerad|troke|konferens|kontroll|röka|blödning|efterbeh|PTCA|diagn|pass\-op|insatt|lymfom|[Pp]ulm|hjärna|axel|rtg)" "[1-9][0-9]?\/[1-9][0-9]?(" \-"[0-9][0-9])?
!A {/*AT*/printTME(yytext,1);}

!# AT

Define TimexTmeDat630a [ Num19x {/} Num19x ({ -} Ins(Nums2)) ] ;
Define TimexTmeDat630
     [ TimexTmeDat630a
       LC([{ensionerad} | {infarkt} | {ökstopp} | {ektomerad} | {troke}
             | {konferens} | {kontroll} | {röka} | {blödning} | {efterbeh}
             | {PTCA} | {diagn} | {pass-op} | {insatt} | {lymfom} | Pp {ulm}
             | {hjärna} | {axel} | {rtg}]
          { })
       EndTag(TimexTmeDat) ] ; 642

!R "ordnas till "[1-9][0-9]?\/[1-9][0-9]?(" \-"[0-9][0-9])?
!A {/*AT*/printTME(yytext,2);}

!# AT

Define TimexTmeDat631a [ Num19x {/} Num19x ({ -} Ins(Nums2)) ] ;
Define TimexTmeDat631
     [ TimexTmeDat631a
       LC({ordnas till })
       EndTag(TimexTmeDat) ] ; 643

!R (undersökning|ambulans)" "([0-9][0-9][0-9][0-9][0-9][0-9]|[0-9][0-9]\/[0-9][0-9]|[0-9][0-9]\/[0-9][0-9]" respektive "[0-9][0-9]\/[0-9][0-9])
!A {/*AT*/printTME(yytext,1);}

!# AT

Define TimexTmeDat632a
     [ Ins(Nums6) | Ins(Nums2) {/} Ins(Nums2)
       | Ins(Nums2) {/} Ins(Nums2) { respektive } Ins(Nums2) {/} Ins(Nums2) ] ;
Define TimexTmeDat632
     [ TimexTmeDat632a
       LC([{undersökning} | {ambulans}] { })
       EndTag(TimexTmeDat) ] ; 644

!R "ett tungt år "[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat633a [ {ett tungt år } Ins(Nums2) ] ;
Define TimexTmeDat633 [ TimexTmeDat633a   EndTag(TimexTmeDat) ] ; 645

!R "för "[0-9][0-9]"\-år\@sedan"
!A {printTME(yytext,0);}

Define TimexTmeDat634a [ {för } Ins(Nums2) {-år@sedan} ] ;
Define TimexTmeDat634 [ TimexTmeDat634a   EndTag(TimexTmeDat) ] ; 646

!R "sedan "[1-9]\.[1-9]\.?
!A {printTME(yytext,0);}

Define TimexTmeDat635a [ {sedan } Num19 {.} Num19 ({.}) ] ;
Define TimexTmeDat635 [ TimexTmeDat635a   EndTag(TimexTmeDat) ] ; 647

!R "sedan \-"([1-9]\.[1-9]|[1-9][0-9][0-9][0-9][0-9]?[0-9]?)
!A {printTME(yytext,0);}

Define TimexTmeDat636a
     [ {sedan -} [Num19 {.} Num19 | Num19 Nums2 Ins(Nums12) (Num)] ] ;
Define TimexTmeDat636 [ TimexTmeDat636a   EndTag(TimexTmeDat) ] ; 648

!R S[Ee][Dd][Aa][Nn]" "[1-9][0-9][0-9][0-9](\-[0-9]+|[0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat637a
     [ {S} Ee Dd Aa Nn { } Num19 Nums2 Num ({-} Ins(Nums) | Ins(Nums2)) ] ;
Define TimexTmeDat637 [ TimexTmeDat637a   EndTag(TimexTmeDat) ] ; 649

!R "men under \-"[0-9][0-9]
!A {printTME(yytext,1);}

Define TimexTmeDat638a [ {under -} Ins(Nums2) ] ;
Define TimexTmeDat638
     [ TimexTmeDat638a
       LC({men })
       EndTag(TimexTmeDat) ] ; 650

!R (sen|under|från|fram" till"|före)" \-"[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat639a
     [ [{sen} | {under} | {från} | {fram till} | {före}] { -} Ins(Nums2) ] ;
Define TimexTmeDat639 [ TimexTmeDat639a   EndTag(TimexTmeDat) ] ; 651

!R [Dd]en" "[1-9][0-9]?\/[1-9][0-9]?\-[0-9][0-9]([0-9][0-9])?
!A {printTME(yytext,1);}

Define TimexTmeDat640a [ Num19x {/} Num19x {-} Ins(Nums2) (Ins(Nums2)) ] ;
Define TimexTmeDat640
     [ TimexTmeDat640a
       LC(Dd {en })
       EndTag(TimexTmeDat) ] ; 652

!R "Allt sedan "[0-9][0-9][0-9][0-9]" eller "[0-9][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat641a [ {Allt sedan } Ins(Nums4) { eller } Ins(Nums4) ] ;
Define TimexTmeDat641 [ TimexTmeDat641a   EndTag(TimexTmeDat) ] ; 653

!R (som|men|och|att|det|kan)" på sikt "
!A { putchar(yytext[0]); putchar(yytext[1]); putchar(yytext[2]);	 printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">på sikt</TIMEX> ");}

Define TimexTmeDat642
     [ {sikt}
       LC([{som} | {men} | {och} | {att} | {det} | {kan}] { på })
       RC({ })
       EndTag(TimexTmeDat) ] ; 654

!R ([Ss]edan|[Uu]nder|[Kk]ortare" eller"|[Ss]edan" en"|[Ee]fter" en"|[Öö]"ver en"|[Ää]nnu)" längre tid"(" ifjol"|" i fjol"|" i år"|" året före"|" "[12][0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat643a
     [ [Ss {edan} | Uu {nder} | Kk {ortare eller} | Ss {edan en}
          | Ee {fter en} | ["Ö"|"ö"] {ver en} | ["Ä"|"ä"] {nnu}]
       { längre tid}
       ({ ifjol} | { i fjol} | { i år} | { året före} | { } Ins(Num12Nums)) ] ;
Define TimexTmeDat643 [ TimexTmeDat643a   EndTag(TimexTmeDat) ] ; 655

!R ([Gg]anska|[Ss]edan|[Uu]nder|alldeles" för"|[Kk]ort" eller")(" "[^\n\t ]+)?" lång tid"(" tillbaka"|" ifjol"|" i fjol"|" i år"|" året före"|" "[12][0-9]+)?
!A {printTME(yytext,0);}

Define TimexTmeDat644a
     [ [Gg {anska} | Ss {edan} | Uu {nder} | {alldeles för} | Kk {ort eller}]
       ({ } Word) { lång tid}
       ({ tillbaka} | { ifjol} | { i fjol} | { i år} | { året före}
         | { } Ins(Num12Nums)) ] ;
Define TimexTmeDat644 [ TimexTmeDat644a   EndTag(TimexTmeDat) ] ; 656

!R [Uu]nder" "[^\n\t ]+" kort tid"(" som möjligt")?
!A {printTME(yytext,0);}

Define TimexTmeDat645a [ Uu {nder } Ins(Word) { kort tid} ({ som möjligt}) ] ;
Define TimexTmeDat645 [ TimexTmeDat645a   EndTag(TimexTmeDat) ] ; 657

!R [Ff]"ram till "[7890][0-9][0-9][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat646a [ Ff {ram till } ["7"|"8"|"9"|"0"] Nums4 Num ] ;
Define TimexTmeDat646 [ TimexTmeDat646a   EndTag(TimexTmeDat) ] ; 658

!R [Ee]fter" "[12][0-9]" tiden"
!A {printTME(yytext,0);}

Define TimexTmeDat647a [ Ee {fter } Num12X { tiden} ] ;
Define TimexTmeDat647 [ TimexTmeDat647a   EndTag(TimexTmeDat) ] ; 659

!R ("inte för"|[Tt]illräckligt|[Ää]n" på"|[Ss]edan)" länge"
!A {printTME(yytext,0);}

Define TimexTmeDat648a
     [ [{inte för} | Tt {illräckligt} | ["Ä"|"ä"] {n på} | Ss {edan}] { länge} ] ;
Define TimexTmeDat648 [ TimexTmeDat648a   EndTag(TimexTmeDat) ] ; 660

!R ([Rr]edan" ")?([Kk]vällstid|[Ff]"ör närvarande"|[Nn]uet|[Nn]"ästan alltid"|"långt senare"|"längre sikt"|"i vår tid"|"någonsin tidigare"|[Ss]"å småningom"|"nu så småningom"|[Tt]"iotalet år"|"nu än tidigare"|"över helgen"|[Ii]" akutskedet"|[Mm]idsommarafton|[Pp]å" "sikt|[Ll]"ite senare"|[Ii]" nuläget"|[Pp]"å sistone"|[Pp]"å den gamla goda tiden"|"under "antiken|[Hh]"elt nyligen"|"lång latenstid"|[Ee]"fter helgen"|"lång tid"|"betydligt tidigare"|[Ii]"nom kort"|[Ll]"ångt senare"|"snart dags"|[Ff]ör" ett bra tag "sedan|Ögonblickligt|[Ff]"ör ett tag sedan"|[Vv]"id den nya tidens slut"|"från min tid"|ÅRET|[Aa]"ldrig tidigare"|[Dd]"enna gång"|[Nn]"ågon gång"|[Mm]esta" tiden"|[Ss]"edan tidigare"|[Ff]ramåt" "dagen|[Jj]"ust då"|"långt tidigare"|[Ss]edan" "dess|[Ss]en" "dess|helst" "nu|förrän" nu"|[Ss]"trax innan"|"Allt sedan"|[Ii]" förtid"|"Med tiden"|[Ff]ramdeles|[Ll]itet" "därefter|[Ii]" dagsläget"|[Uu]nder" den nyligen förflutna tiden"|[Ii]nnan" dess"|[Nn]"ästa helg"|"längre perioder"|[12][0-9][0-9][0-9]\-talet|[Gg]anska" snart"|ÅRHUNDRADET)
!A {printTME(yytext,0);}

Define TimexTmeDat649a
     [ (Rr {edan })
       [Kk {vällstid} | Ff {ör närvarande} | Nn {uet} | Nn {ästan alltid}
          | {långt senare} | {längre sikt} | {i vår tid} | {någonsin tidigare}
          | Ss {å småningom} | {nu så småningom} | Tt {iotalet år}
          | {nu än tidigare} | {över helgen} | Ii { akutskedet}
          | Mm {idsommarafton} | Pp {å sikt} | Ll {ite senare} | Ii { nuläget}
          | Pp {å sistone} | Pp {å den gamla goda tiden} | {under antiken}
          | Hh {elt nyligen} | {lång latenstid} | Ee {fter helgen} | {lång tid}
          | {betydligt tidigare} | Ii {nom kort} | Ll {ångt senare}
          | {snart dags} | Ff {ör ett bra tag sedan} | {Ögonblickligt}
          | Ff {ör ett tag sedan} | Vv {id den nya tidens slut} | {från min tid}
          | {ÅRET} | Aa {ldrig tidigare} | Dd {enna gång} | Nn {ågon gång}
          | Mm {esta tiden} | Ss {edan tidigare} | Ff {ramåt dagen}
          | Jj {ust då} | {långt tidigare} | Ss {edan dess} | Ss {en dess}
          | {helst nu} | {förrän nu} | Ss {trax innan} | {Allt sedan}
          | Ii { förtid} | {Med tiden} | Ff {ramdeles} | Ll {itet därefter}
          | Ii { dagsläget} | Uu {nder den nyligen förflutna tiden}
          | Ii {nnan dess} | Nn {ästa helg} | {längre perioder}
          | Ins(YearNum) {-talet} | Gg {anska snart} | {ÅRHUNDRADET}] ] ;
Define TimexTmeDat649 [ TimexTmeDat649a   EndTag(TimexTmeDat) ] ; 661

!R Men" samtidigt"
!A {printTME(yytext,1);}

Define TimexTmeDat650a [ {samtidigt} ] ;
Define TimexTmeDat650
     [ TimexTmeDat650a
       LC({Men })
       EndTag(TimexTmeDat) ] ; 662

!R ([Vv]inter|sommar|försommar|[Jj]ule)tid(en)?
!A {printTME(yytext,0);}

Define TimexTmeDat651a
     [ [Vv {inter} | {sommar} | {försommar} | Jj {ule}] {tid} ({en}) ] ;
Define TimexTmeDat651 [ TimexTmeDat651a   EndTag(TimexTmeDat) ] ; 663

!R ([Ii]fjol|[Dd]agtid|Sommartid|Vintertid|[Dd]essförinnan|[Oo]medelbart|Strax|[Ss]tundtals|[Nn]yligen|Senare|Snart|Ibland|Sällan|Oftast|Nu|[Nn]attetid|Förr|Numera|[Nn]uförtiden|Tidigare|[Ss]amtidigt|[Hh]ittills|[Ss]narast|Fortfarande|[Öö]gonblickligen)
!A {printTME(yytext,0);}

Define TimexTmeDat652a
     [ Ii {fjol} | Dd {agtid} | {Sommartid} | {Vintertid} | Dd {essförinnan}
       | Oo {medelbart} | {Strax} | Ss {tundtals} | Nn {yligen} | {Senare}
       | {Snart} | {Ibland} | {Sällan} | {Oftast} | {Nu} | Nn {attetid} | {Förr}
       | {Numera} | Nn {uförtiden} | {Tidigare} | Ss {amtidigt} | Hh {ittills}
       | Ss {narast} | {Fortfarande} | ["Ö"|"ö"] {gonblickligen} ] ;
Define TimexTmeDat652 [ TimexTmeDat652a   EndTag(TimexTmeDat) ] ; 664

!R [Hh]ärom(sommaren|året|dagen|veckan)
!A {printTME(yytext,0);}

Define TimexTmeDat653a
     [ Hh {ärom} [{sommaren} | {året} | {dagen} | {veckan}] ] ;
Define TimexTmeDat653 [ TimexTmeDat653a   EndTag(TimexTmeDat) ] ; 665

!R [Ii]"nkom åter "[1-9][0-9]?\/[0-9][012]?
!A {printTME(yytext,1);}

Define TimexTmeDat654a [ {åter } Num19x {/} Num (Num02) ] ;
Define TimexTmeDat654
     [ TimexTmeDat654a
       LC(Ii {nkom })
       EndTag(TimexTmeDat) ] ; 666

!R "nämligen med tiden"
!A {printTME(yytext,1);}

Define TimexTmeDat655a [ {med tiden} ] ;
Define TimexTmeDat655
     [ TimexTmeDat655a
       LC({nämligen })
       EndTag(TimexTmeDat) ] ; 667

!R " förr \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">förr</TIMEX> .");}

Define TimexTmeDat656a [ {förr} ] ;
Define TimexTmeDat656
     [ TimexTmeDat656a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 668

!R " strax \!"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">strax</TIMEX> !");}

Define TimexTmeDat657a [ {strax} ] ;
Define TimexTmeDat657
     [ TimexTmeDat657a
       LC({ })
       RC({ !})
       EndTag(TimexTmeDat) ] ; 669

!R " med förr \,"
!A {printf(" med <TIMEX TYPE=\"TME\" SBT=\"DAT\">förr</TIMEX> ,");}

Define TimexTmeDat658a [ {förr} ] ;
Define TimexTmeDat658
     [ TimexTmeDat658a
       LC({ med })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 670

!R " ännu \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">ännu</TIMEX> .");}

Define TimexTmeDat659a [ {ännu} ] ;
Define TimexTmeDat659
     [ TimexTmeDat659a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 671

!R " för sent \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">för sent</TIMEX> .");}

Define TimexTmeDat660
     [ {för sent}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 672

!R " för sent \,"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">för sent</TIMEX> ,");}

Define TimexTmeDat661
     [ {för sent}
       LC({ })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 673

!R " nu \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> .");}

Define TimexTmeDat662a [ {nu} ] ;
Define TimexTmeDat662
     [ TimexTmeDat662a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 674

!R " du nu "
!A {printf(" du <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat663a [ {nu} ] ;
Define TimexTmeDat663
     [ TimexTmeDat663a
       LC({ du })
       RC({ })
       EndTag(TimexTmeDat) ] ; 675

!R " har nu "
!A {printf(" har <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat664a [ {nu} ] ;
Define TimexTmeDat664
     [ TimexTmeDat664a
       LC({ har })
       RC({ })
       EndTag(TimexTmeDat) ] ; 676

!R "och nu "
!A {printf("och <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat665a [ {nu} ] ;
Define TimexTmeDat665
     [ TimexTmeDat665a
       LC({och })
       RC({ })
       EndTag(TimexTmeDat) ] ; 677

!R "kommer nu "
!A {printf("kommer <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat666a [ {nu} ] ;
Define TimexTmeDat666
     [ TimexTmeDat666a
       LC({kommer })
       RC({ })
       EndTag(TimexTmeDat) ] ; 678

!R "redan tidigare haft"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">redan tidigare</TIMEX> haft");}

Define TimexTmeDat667
     [ {redan tidigare}
       RC({ haft})
       EndTag(TimexTmeDat) ] ; 679

!R " ses nu "
!A {printf(" ses <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat668a [ {nu} ] ;
Define TimexTmeDat668
     [ TimexTmeDat668a
       LC({ ses })
       RC({ })
       EndTag(TimexTmeDat) ] ; 680

!R " men nu "
!A {printf(" men <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat669a [ {nu} ] ;
Define TimexTmeDat669
     [ TimexTmeDat669a
       LC({ men })
       RC({ })
       EndTag(TimexTmeDat) ] ; 681

!R " för gott \,"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">för gott</TIMEX> ,");}

Define TimexTmeDat670
     [ {för gott}
       LC({ })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 682

!R " förrän då \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">förrän då</TIMEX> .");}

Define TimexTmeDat671
     [ {förrän då}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 683

!R " som nu "
!A {printf(" som <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat672a [ {nu} ] ;
Define TimexTmeDat672
     [ TimexTmeDat672a
       LC({ som })
       RC({ })
       EndTag(TimexTmeDat) ] ; 684

!R " är nu \,"
!A {printf(" är <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ,");}

Define TimexTmeDat673a [ {nu} ] ;
Define TimexTmeDat673
     [ TimexTmeDat673a
       LC({ är })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 685

!R " går nu "
!A {printf(" går <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat674a [ {nu} ] ;
Define TimexTmeDat674
     [ TimexTmeDat674a
       LC({ går })
       RC({ })
       EndTag(TimexTmeDat) ] ; 686

!R " är nu i "
!A {printf(" är <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> i ");}

Define TimexTmeDat675a [ {nu} ] ;
Define TimexTmeDat675
     [ TimexTmeDat675a
       LC({ är })
       RC({ i })
       EndTag(TimexTmeDat) ] ; 687

!R " ibland \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">ibland</TIMEX> .");}

Define TimexTmeDat676a [ {ibland} ] ;
Define TimexTmeDat676
     [ TimexTmeDat676a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 688

!R " till natten \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">till natten</TIMEX> .");}

Define TimexTmeDat677
     [ {till natten}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 689

!R " nu längre \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu längre</TIMEX> .");}

Define TimexTmeDat678
     [ {nu längre}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 690

!R "inte längre kan"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">inte längre</TIMEX> kan");}

Define TimexTmeDat679
     [ {inte längre}
       RC({ kan})
       EndTag(TimexTmeDat) ] ; 691

!R "inte längre är"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">inte längre</TIMEX> är");}

Define TimexTmeDat680 [ {inte längre}   RC({ är})   EndTag(TimexTmeDat) ] ; 692

!R "finns inte längre"
!A {printf("finns <TIMEX TYPE=\"TME\" SBT=\"DAT\">inte längre</TIMEX>");}

Define TimexTmeDat681
     [ {inte längre}
       LC({finns })
       EndTag(TimexTmeDat) ] ; 693

!R "Då han var"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Då</TIMEX> han var");}

Define TimexTmeDat682a [ {Då} ] ;
Define TimexTmeDat682
     [ TimexTmeDat682a
       RC({ han var})
       EndTag(TimexTmeDat) ] ; 694

!R " nyss "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">nyss</TIMEX> ");}

Define TimexTmeDat683a [ {nyss} ] ;
Define TimexTmeDat683
     [ TimexTmeDat683a
       LC({ })
       RC({ })
       EndTag(TimexTmeDat) ] ; 695

!R "gånger förr "
!A {printf("gånger <TIMEX TYPE=\"TME\" SBT=\"DAT\">förr</TIMEX> ");}

Define TimexTmeDat684a [ {förr} ] ;
Define TimexTmeDat684
     [ TimexTmeDat684a
       LC({gånger })
       RC({ })
       EndTag(TimexTmeDat) ] ; 696

!R "drabbar oftare"
!A {printf("drabbar <TIMEX TYPE=\"TME\" SBT=\"DAT\">oftare</TIMEX>");}

Define TimexTmeDat685a [ {oftare} ] ;
Define TimexTmeDat685
     [ TimexTmeDat685a
       LC({drabbar })
       EndTag(TimexTmeDat) ] ; 697

!R " fortfarande är "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">fortfarande</TIMEX> är ");}

Define TimexTmeDat686a [ {fortfarande} ] ;
Define TimexTmeDat686
     [ TimexTmeDat686a
       LC({ })
       RC({ är })
       EndTag(TimexTmeDat) ] ; 698

!R " han fortfarande"
!A {printf(" han <TIMEX TYPE=\"TME\" SBT=\"DAT\">fortfarande</TIMEX>");}

Define TimexTmeDat687a [ {fortfarande} ] ;
Define TimexTmeDat687
     [ TimexTmeDat687a
       LC({ han })
       EndTag(TimexTmeDat) ] ; 699

!R "Mår fortfarande"
!A {printf("Mår <TIMEX TYPE=\"TME\" SBT=\"DAT\">fortfarande</TIMEX>");}

Define TimexTmeDat688a [ {fortfarande} ] ;
Define TimexTmeDat688
     [ TimexTmeDat688a
       LC({Mår })
       EndTag(TimexTmeDat) ] ; 700

!R "hoppas fortfarande"
!A {printf("hoppas <TIMEX TYPE=\"TME\" SBT=\"DAT\">fortfarande</TIMEX>");}

Define TimexTmeDat689a [ {fortfarande} ] ;
Define TimexTmeDat689
     [ TimexTmeDat689a
       LC({hoppas })
       EndTag(TimexTmeDat) ] ; 701

!R "hittas tidigt"
!A {printf("hittas <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigt</TIMEX>");}

Define TimexTmeDat690a [ {tidigt} ] ;
Define TimexTmeDat690
     [ TimexTmeDat690a
       LC({hittas })
       EndTag(TimexTmeDat) ] ; 702

!R " ännu finns"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">ännu</TIMEX> finns");}

Define TimexTmeDat691a [ {ännu} ] ;
Define TimexTmeDat691
     [ TimexTmeDat691a
       LC({ })
       RC({ finns})
       EndTag(TimexTmeDat) ] ; 703

!R "är ännu tidigt"
!A {printf("är <TIMEX TYPE=\"TME\" SBT=\"DAT\">ännu tidigt</TIMEX>");}

Define TimexTmeDat692 [ {ännu tidigt}   LC({är })   EndTag(TimexTmeDat) ] ; 704

!R "att tidigt \,"
!A {printf("att <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigt</TIMEX> ,");}

Define TimexTmeDat693a [ {tidigt} ] ;
Define TimexTmeDat693
     [ TimexTmeDat693a
       LC({att })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 705

!R "de tidigt ska"
!A {printf("de <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigt</TIMEX> ska");}

Define TimexTmeDat694a [ {tidigt} ] ;
Define TimexTmeDat694
     [ TimexTmeDat694a
       LC({de })
       RC({ ska})
       EndTag(TimexTmeDat) ] ; 706

!R " tidigt \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigt</TIMEX> .");}

Define TimexTmeDat695a [ {tidigt} ] ;
Define TimexTmeDat695
     [ TimexTmeDat695a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 707

!R " än någonsin \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">än någonsin</TIMEX> .");}

Define TimexTmeDat696
     [ {än någonsin}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 708

!R " än idag"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">än idag</TIMEX>");}

Define TimexTmeDat697 [ {än idag}   LC({ })   EndTag(TimexTmeDat) ] ; 709

!R " än ifjol"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">än fjol</TIMEX>");}

Define TimexTmeDat698 [ {än ifjol}   LC({ })   EndTag(TimexTmeDat) ] ; 710

!R " någonsin \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">någonsin</TIMEX> .");}

Define TimexTmeDat699a [ {någonsin} ] ;
Define TimexTmeDat699
     [ TimexTmeDat699a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 711

!R "som snart ska"
!A {printf("som <TIMEX TYPE=\"TME\" SBT=\"DAT\">snart</TIMEX> ska");}

Define TimexTmeDat700a [ {snart} ] ;
Define TimexTmeDat700
     [ TimexTmeDat700a
       LC({som })
       RC({ ska})
       EndTag(TimexTmeDat) ] ; 712

!R " snart bli"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">snart</TIMEX> bli");}

Define TimexTmeDat701a [ {snart} ] ;
Define TimexTmeDat701
     [ TimexTmeDat701a
       LC({ })
       RC({ bli})
       EndTag(TimexTmeDat) ] ; 713

!R "men snart"
!A {printf("men <TIMEX TYPE=\"TME\" SBT=\"DAT\">snart</TIMEX>");}

Define TimexTmeDat702a [ {snart} ] ;
Define TimexTmeDat702
     [ TimexTmeDat702a
       LC({men })
       EndTag(TimexTmeDat) ] ; 714

!R "drabbas oftare av"
!A {printf("drabbas <TIMEX TYPE=\"TME\" SBT=\"DAT\">oftare</TIMEX> av");}

Define TimexTmeDat703a [ {oftare} ] ;
Define TimexTmeDat703
     [ TimexTmeDat703a
       LC({drabbas })
       RC({ av})
       EndTag(TimexTmeDat) ] ; 715

!R " lika länge "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">lika länge</TIMEX> ");}

Define TimexTmeDat704
     [ {lika länge}
       LC({ })
       RC({ })
       EndTag(TimexTmeDat) ] ; 716

!R "är ännu så länge"
!A {printf("är <TIMEX TYPE=\"TME\" SBT=\"DAT\">ännu så länge</TIMEX>");}

Define TimexTmeDat705
     [ {ännu så länge}
       LC({är })
       EndTag(TimexTmeDat) ] ; 717

!R " så länge och"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">så länge</TIMEX> och");}

Define TimexTmeDat706
     [ {så länge}
       LC({ })
       RC({ och})
       EndTag(TimexTmeDat) ] ; 718

!R "ett år innan"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">ett år</TIMEX> innan");}

Define TimexTmeDat707 [ {ett år}   RC({ innan})   EndTag(TimexTmeDat) ] ; 719

!R "är nu bättre"
!A {printf("är <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> bättre");}

Define TimexTmeDat708a [ {nu} ] ;
Define TimexTmeDat708
     [ TimexTmeDat708a
       LC({är })
       RC({ bättre})
       EndTag(TimexTmeDat) ] ; 720

!R "något tidigare än"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">något tidigare</TIMEX> än");}

Define TimexTmeDat709
     [ {något tidigare}
       RC({ än})
       EndTag(TimexTmeDat) ] ; 721

!R "än tidigare \."
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">än tidigare</TIMEX> .");}

Define TimexTmeDat710 [ {än tidigare}   RC({ .})   EndTag(TimexTmeDat) ] ; 722

!R "även tidigare i "
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">även tidigare</TIMEX> i ");}

Define TimexTmeDat711
     [ {även tidigare}
       RC({ i })
       EndTag(TimexTmeDat) ] ; 723

!R "har tidigare varit"
!A {printf("har <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX> varit");}

Define TimexTmeDat712a [ {tidigare} ] ;
Define TimexTmeDat712
     [ TimexTmeDat712a
       LC({har })
       RC({ varit})
       EndTag(TimexTmeDat) ] ; 724

!R "inte alltid på"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">inte alltid</TIMEX> på");}

Define TimexTmeDat713 [ {inte alltid}   RC({ på})   EndTag(TimexTmeDat) ] ; 725

!R "inte alltid \."
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">inte alltid</TIMEX> .");}

Define TimexTmeDat714 [ {inte alltid}   RC({ .})   EndTag(TimexTmeDat) ] ; 726

!R " över tid "
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">över tid</TIMEX> ");}

Define TimexTmeDat715
     [ {över tid}
       LC({ })
       RC({ })
       EndTag(TimexTmeDat) ] ; 727

!R " i tid \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">i tid</TIMEX> .");}

Define TimexTmeDat716
     [ {i tid}
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 728

!R "Redan finns"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">Redan</TIMEX> finns");}

Define TimexTmeDat717a [ {Redan} ] ;
Define TimexTmeDat717
     [ TimexTmeDat717a
       RC({ finns})
       EndTag(TimexTmeDat) ] ; 729

!R (Särskilt|Ganska)" "ofta
!A {printTME(yytext,0);}

Define TimexTmeDat718a [ [{Särskilt} | {Ganska}] { ofta} ] ;
Define TimexTmeDat718 [ TimexTmeDat718a   EndTag(TimexTmeDat) ] ; 730

!R "Är tills dess"
!A {printf("Är <TIMEX TYPE=\"TME\" SBT=\"DAT\">tills dess</TIMEX>");}

Define TimexTmeDat719 [ {tills dess}   LC({Är })   EndTag(TimexTmeDat) ] ; 731

!R "Och nu "
!A {printf("Och <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat720a [ {nu} ] ;
Define TimexTmeDat720
     [ TimexTmeDat720a
       LC({Och })
       RC({ })
       EndTag(TimexTmeDat) ] ; 732

!R "Men nu "
!A {printf("Men <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ");}

Define TimexTmeDat721a [ {nu} ] ;
Define TimexTmeDat721
     [ TimexTmeDat721a
       LC({Men })
       RC({ })
       EndTag(TimexTmeDat) ] ; 733

!R "tt f n "
!A {printf("tt <TIMEX TYPE=\"TME\" SBT=\"DAT\">f n</TIMEX> ");}

Define TimexTmeDat722
     [ {f n}
       LC({tt })
       RC({ })
       EndTag(TimexTmeDat) ] ; 734

!R "mycket som tidigare"
!A {printf("mycket som <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX>");}

Define TimexTmeDat723a [ {tidigare} ] ;
Define TimexTmeDat723
     [ TimexTmeDat723a
       LC({mycket som })
       EndTag(TimexTmeDat) ] ; 735

!R "ta sig tid"
!A {printf("ta sig <TIMEX TYPE=\"TME\" SBT=\"DAT\">tid</TIMEX>");}

Define TimexTmeDat724a [ {tid} ] ;
Define TimexTmeDat724
     [ TimexTmeDat724a
       LC({ta sig })
       EndTag(TimexTmeDat) ] ; 736

!R "som innan \."
!A {printf("som <TIMEX TYPE=\"TME\" SBT=\"DAT\">innan</TIMEX> .");}

Define TimexTmeDat725a [ {innan} ] ;
Define TimexTmeDat725
     [ TimexTmeDat725a
       LC({som })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 737

!R "där tidigare \."
!A {printf("där <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX> .");}

Define TimexTmeDat726a [ {tidigare} ] ;
Define TimexTmeDat726
     [ TimexTmeDat726a
       LC({där })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 738

!R "något senare kom"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">något senare</TIMEX> kom");}

Define TimexTmeDat727
     [ {något senare}
       RC({ kom})
       EndTag(TimexTmeDat) ] ; 739

!R "något senare när"
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">något senare</TIMEX> när");}

Define TimexTmeDat728
     [ {något senare}
       RC({ när})
       EndTag(TimexTmeDat) ] ; 740

!R " senare \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">senare</TIMEX> .");}

Define TimexTmeDat729a [ {senare} ] ;
Define TimexTmeDat729
     [ TimexTmeDat729a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 741

!R "jag senare "
!A {printf("jag <TIMEX TYPE=\"TME\" SBT=\"DAT\">senare</TIMEX> ");}

Define TimexTmeDat730a [ {senare} ] ;
Define TimexTmeDat730
     [ TimexTmeDat730a
       LC({jag })
       RC({ })
       EndTag(TimexTmeDat) ] ; 742

!R "ganska länge \."
!A {printf("<TIMEX TYPE=\"TME\" SBT=\"DAT\">ganska länge</TIMEX> .");}

Define TimexTmeDat731 [ {ganska länge}   RC({ .})   EndTag(TimexTmeDat) ] ; 743

!R "sjuk länge med"
!A {printf("sjuk <TIMEX TYPE=\"TME\" SBT=\"DAT\">länge</TIMEX> med");}

Define TimexTmeDat732a [ {länge} ] ;
Define TimexTmeDat732
     [ TimexTmeDat732a
       LC({sjuk })
       RC({ med})
       EndTag(TimexTmeDat) ] ; 744

!R "känt länge \,"
!A {printf("känt <TIMEX TYPE=\"TME\" SBT=\"DAT\">länge</TIMEX> ,");}

Define TimexTmeDat733a [ {länge} ] ;
Define TimexTmeDat733
     [ TimexTmeDat733a
       LC({känt })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 745

!R "drabbades tidigt \,"
!A {printf("drabbades <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigt</TIMEX> ,");}

Define TimexTmeDat734a [ {tidigt} ] ;
Define TimexTmeDat734
     [ TimexTmeDat734a
       LC({drabbades })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 746

!R "inte känt tidigare"
!A {printf("inte känt <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX>");}

Define TimexTmeDat735a [ {tidigare} ] ;
Define TimexTmeDat735
     [ TimexTmeDat735a
       LC({inte känt })
       EndTag(TimexTmeDat) ] ; 747

!R "hemma för länge "
!A {printf("hemma <TIMEX TYPE=\"TME\" SBT=\"DAT\">för länge</TIMEX> ");}

Define TimexTmeDat736
     [ {för länge}
       LC({hemma })
       RC({ })
       EndTag(TimexTmeDat) ] ; 748

!R " länge \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">länge</TIMEX> .");}

Define TimexTmeDat737a [ {länge} ] ;
Define TimexTmeDat737
     [ TimexTmeDat737a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 749

!R " än \."
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">än</TIMEX> .");}

Define TimexTmeDat738a [ {än} ] ;
Define TimexTmeDat738
     [ TimexTmeDat738a
       LC({ })
       RC({ .})
       EndTag(TimexTmeDat) ] ; 750

!R " än \,"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">än</TIMEX> ,");}

Define TimexTmeDat739a [ {än} ] ;
Define TimexTmeDat739
     [ TimexTmeDat739a
       LC({ })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 751

!R " nu \,"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">nu</TIMEX> ,");}

Define TimexTmeDat740a [ {nu} ] ;
Define TimexTmeDat740
     [ TimexTmeDat740a
       LC({ })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 752

!R "det för sent \,"
!A {printf("det <TIMEX TYPE=\"TME\" SBT=\"DAT\">för sent</TIMEX> ,");}

Define TimexTmeDat741
     [ {för sent}
       LC({det })
       RC({ ,})
       EndTag(TimexTmeDat) ] ; 753

!R " längre \!"
!A {printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">längre</TIMEX> !");}

Define TimexTmeDat742a [ {längre} ] ;
Define TimexTmeDat742
     [ TimexTmeDat742a
       LC({ })
       RC({ !})
       EndTag(TimexTmeDat) ] ; 754

!R "gå hem "[123]?[0-9]\/[1-9][0-9]?
!A {printTME(yytext,2);}

Define TimexTmeDat743a [ (Num13) Num {/} Num19x ] ;
Define TimexTmeDat743
     [ TimexTmeDat743a
       LC({gå hem })
       EndTag(TimexTmeDat) ] ; 755

!R I" "[1-9]" v tid"
!A {printTME(yytext,0);}

Define TimexTmeDat744a [ {I } Num19 { v tid} ] ;
Define TimexTmeDat744 [ TimexTmeDat744a   EndTag(TimexTmeDat) ] ; 756

!R [Ii]" början på v "[0-9]+
!A {printTME(yytext,0);}

Define TimexTmeDat745a [ Ii { början på v } Ins(Nums) ] ;
Define TimexTmeDat745 [ TimexTmeDat745a   EndTag(TimexTmeDat) ] ; 757

!R [Mm]ellan" v "[0-9]+\-[0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat746a [ Mm {ellan v } Ins(Nums) {-} Num ] ;
Define TimexTmeDat746 [ TimexTmeDat746a   EndTag(TimexTmeDat) ] ; 758

!R "hittats tidigare"
!A {printf("hittats <TIMEX TYPE=\"TME\" SBT=\"DAT\">tidigare</TIMEX>");}

Define TimexTmeDat747a [ {tidigare} ] ;
Define TimexTmeDat747
     [ TimexTmeDat747a
       LC({hittats })
       EndTag(TimexTmeDat) ] ; 759

!R " den "[0-9][0-9]?\.[0-9][0-9]?
!A {int i=5; printf(" den <TIMEX TYPE=\"TME\" SBT=\"DAT\">"); 	for(;i<yyleng; putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat748a [ Ins(Nums12) {.} Ins(Nums12) ] ;
Define TimexTmeDat748
     [ TimexTmeDat748a
       LC({ den })
       EndTag(TimexTmeDat) ] ; 760

!R " den "[0-9]\/[0-9]" "\-[0-9][0-9]
!A {int i=5; printf(" den <TIMEX TYPE=\"TME\" SBT=\"DAT\">"); 	for(;i<yyleng; putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat749a [ Num {/} Num { -} Ins(Nums2) ] ;
Define TimexTmeDat749
     [ TimexTmeDat749a
       LC({ den })
       EndTag(TimexTmeDat) ] ; 761

!R [Pp]å" "[0-9]+\/[0-9]+\/år
!A {printTME(yytext,0);}

Define TimexTmeDat750a [ Pp {å } Ins(NumsSlashNums) {/år} ] ;
Define TimexTmeDat750 [ TimexTmeDat750a   EndTag(TimexTmeDat) ] ; 762

!R [Dd]ate" \: "[12][0-9]+
!A {printTME(yytext,2);}

Define TimexTmeDat751a [ Ins(Num12Nums) ] ;
Define TimexTmeDat751
     [ TimexTmeDat751a
       LC(Dd {ate : })
       EndTag(TimexTmeDat) ] ; 763

!R [A-ZÖ]+DAGEN" DEN "[0-9][0-9]?
!A {printTME(yytext,0);}

Define TimexTmeDat752a
     [ ["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"|"Ö"]+
       {DAGEN DEN } Ins(Nums12) ] ;
Define TimexTmeDat752 [ TimexTmeDat752a   EndTag(TimexTmeDat) ] ; 764

!R ([1-9][0-9]?\/[1-9][0-9]?|[12][0-9]\-[12][0-9]\/([1-9]|10|11|12))" "[12][0-9][0-9][0-9]
!A {/*21-22/11 2004*/ printTME(yytext,0);}

!# 21-22/11 2004

Define TimexTmeDat753a
     [ [Num19x {/} Num19x
          | Num12X {-} Num12X {/} [Num19 | {10} | {11} | {12}]]
       { } Ins(YearNum) ] ;
Define TimexTmeDat753 [ TimexTmeDat753a   EndTag(TimexTmeDat) ] ; 765

!R 19[0-9][0-9]\/[8-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat754a [ {19} Ins(Nums2) {/} ["8"|"9"] Num ] ;
Define TimexTmeDat754 [ TimexTmeDat754a   EndTag(TimexTmeDat) ] ; 766

!R 19[0-9][0-9]\/19[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat755a [ {19} Ins(Nums2) {/19} Ins(Nums2) ] ;
Define TimexTmeDat755 [ TimexTmeDat755a   EndTag(TimexTmeDat) ] ; 767

!R [12][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]" "[012][0-9]\:[0-6][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat756a
     [ Ins(YearNum) {-} Ins(Nums2Range) { } Num02X {:} Num06 Num ] ;
Define TimexTmeDat756 [ TimexTmeDat756a   EndTag(TimexTmeDat) ] ; 768

!R [12][0-9][0-9][0-9]\-[01][0-9]\-[0123][0-9]\-\-[12][0-9][0-9][0-9]\-[01][0-9]\-[0123][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat757a
     [ Ins(YearNum) {-} Num01X {-} Num03 Num {--} Ins(YearNum) {-} Num01X {-} Num03 Num ] ;
Define TimexTmeDat757 [ TimexTmeDat757a   EndTag(TimexTmeDat) ] ; 769

!R [12][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat758a [ Ins(YearNum) {-} Ins(Nums2Range) ] ;
Define TimexTmeDat758 [ TimexTmeDat758a   EndTag(TimexTmeDat) ] ; 770

!R 1?[1-9]\.[1-9]\.[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat759a [ ({1}) Num19 {.} Num19 {.} Ins(YearNum) ] ;
Define TimexTmeDat759 [ TimexTmeDat759a   EndTag(TimexTmeDat) ] ; 771

!R [1-9][0-9]\.[1-9][0-9]" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat760a [ Num19X {.} Num19X { } Ins(YearNum) ] ;
Define TimexTmeDat760 [ TimexTmeDat760a   EndTag(TimexTmeDat) ] ; 772

!R [1-9][0-9]\-[01][0-9]\-[0-3][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat761a [ Num19X {-} Num01X {-} Num03 Num ] ;
Define TimexTmeDat761 [ TimexTmeDat761a   EndTag(TimexTmeDat) ] ; 773

!R [123][0-9]\/([1-9]|10|11|12)" "\-[0-9][0-9]
!A {/*21/6 -04*/ printTME(yytext,0);}

!# 21/6 -04

Define TimexTmeDat762a
     [ Num13X {/} [Num19 | {10} | {11} | {12}] { -} Ins(Nums2) ] ;
Define TimexTmeDat762 [ TimexTmeDat762a   EndTag(TimexTmeDat) ] ; 774

!#  MISC 

!R ([Ff]rån" ")?([Oo]mkring|[Kk]ring)" "[12][0-9][0-9][0-9]" år före "Kristus
!A {printTME(yytext,0);}

Define TimexTmeDat763a
     [ (Ff {rån }) [Oo {mkring} | Kk {ring}] { } Ins(YearNum) { år före Kristus} ] ;
Define TimexTmeDat763 [ TimexTmeDat763a   EndTag(TimexTmeDat) ] ; 775

!R ([Ff]rån" ")?([Oo]mkring|[Kk]ring)" år "[0-9]+" före Kristus"
!A {printTME(yytext,0);}

Define TimexTmeDat764a
     [ (Ff {rån }) [Oo {mkring} | Kk {ring}] { år } Ins(Nums) { före Kristus} ] ;
Define TimexTmeDat764 [ TimexTmeDat764a   EndTag(TimexTmeDat) ] ; 776

!R ([Cc]irka" "|[Rr]edan" ")?([Nn]ågra" hundra "år|[Pp]å" "[^\n\t ]+\-talet|[0-9]+|[Mm]ellan" "[0-9]+" och "[0-9]+|[0-9]+\-[0-9]+)" "(efter|före)" Kristus"
!A {printTME(yytext,0);}

Define TimexTmeDat765a
     [ (Cc {irka } | Rr {edan })
       [Nn {ågra hundra år} | Pp {å } Word {-talet} | Ins(Nums)
          | Mm {ellan } Ins(Nums) { och } Ins(Nums) | Ins(NumRange)]
       { } [{efter} | {före}] { Kristus} ] ;
Define TimexTmeDat765 [ TimexTmeDat765a   EndTag(TimexTmeDat) ] ; 777

!R ([Cc]"irka "|[Rr]edan" "|[Pp]å" ")?[^\n\t ]+\-talet" "(e|f)" Kr"\.?
!A {printTME(yytext,0);}

Define TimexTmeDat766a
     [ (Cc {irka } | Rr {edan } | Pp {å }) Word {-talet } [{e} | {f}] { Kr}
       ({.}) ] ;
Define TimexTmeDat766 [ TimexTmeDat766a   EndTag(TimexTmeDat) ] ; 778

!R [Tt]ill" "[^\nA-ZÅÄÖ ]+" "[^\n\t ]+" år "(efter|före)" Kristi födelse"
!A {printTME(yytext,0);}

Define TimexTmeDat767a
     [ Tt {ill } [NS - UppercaseAlpha]+ { } Ins(Word) { år } [{efter} | {före}]
       { Kristi födelse} ] ;
Define TimexTmeDat767 [ TimexTmeDat767a   EndTag(TimexTmeDat) ] ; 779

!R [^\n\t ]*[Tt]usen" år "(efter|före)" Kristi födelse"
!A {printTME(yytext,0);}

Define TimexTmeDat768a
     [ NS* Tt {usen år } [{efter} | {före}] { Kristi födelse} ] ;
Define TimexTmeDat768 [ TimexTmeDat768a   EndTag(TimexTmeDat) ] ; 780

!R [Åå]"r "[0-9]+" "[ef]Kr
!A {printTME(yytext,0);}

Define TimexTmeDat769a [ ["Å"|"å"] {r } Ins(Nums) { } ["e"|"f"] {Kr} ] ;
Define TimexTmeDat769 [ TimexTmeDat769a   EndTag(TimexTmeDat) ] ; 781

!R [Ff]"ram till "[0-9]+" "[ef]Kr
!A {printTME(yytext,0);}

Define TimexTmeDat770a [ Ff {ram till } Ins(Nums) { } ["e"|"f"] {Kr} ] ;
Define TimexTmeDat770 [ TimexTmeDat770a   EndTag(TimexTmeDat) ] ; 782

!R [Uu]ngefär" "[0-9]+" generationer bakåt"
!A {printTME(yytext,0);}

Define TimexTmeDat771a [ Uu {ngefär } Ins(Nums) { generationer bakåt} ] ;
Define TimexTmeDat771 [ TimexTmeDat771a   EndTag(TimexTmeDat) ] ; 783

!R [12][0-9][0-9][0-9]" \&amp\; "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat772a [ Ins(YearNum) { &amp; } Ins(YearNum) ] ;
Define TimexTmeDat772 [ TimexTmeDat772a   EndTag(TimexTmeDat) ] ; 784

!R [123][1-9]\/[1-9]" och "[123][1-9]\/[1-9]" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat773a
     [ Num13 Num19 {/} Num19 { och } Num13 Num19 {/} Num19 { } Ins(YearNum) ] ;
Define TimexTmeDat773 [ TimexTmeDat773a   EndTag(TimexTmeDat) ] ; 785

!R [123][1-9]\/[1-9]" "[12][0-9][0-9][0-9]
!A {printTME(yytext,0);}

Define TimexTmeDat774a [ Num13 Num19 {/} Num19 { } Ins(YearNum) ] ;
Define TimexTmeDat774 [ TimexTmeDat774a   EndTag(TimexTmeDat) ] ; 786

!R [Ff]rån" "[123][1-9]\/[1-9]" och "[123][1-9]\/[1-9](" "[12][0-9][0-9][0-9])?
!A {printTME(yytext,0);}

Define TimexTmeDat775a
     [ Ff {rån } Num13 Num19 {/} Num19 { och } Num13 Num19 {/} Num19
       ({ } Ins(YearNum)) ] ;
Define TimexTmeDat775 [ TimexTmeDat775a   EndTag(TimexTmeDat) ] ; 787

!R ([Ff]ram" "till" ")?([0-9]+\,)?[0-9]+" milj f\.Kr"\.?
!A {printTME(yytext,0);}

Define TimexTmeDat776a
     [ (Ff {ram till }) (Ins(Nums) {,}) Ins(Nums) { milj f.Kr} ({.}) ] ;
Define TimexTmeDat776 [ TimexTmeDat776a   EndTag(TimexTmeDat) ] ; 788

!R ([Ff]ram" "till" ")?([0-9]+\,)?[0-9]+" f\.Kr"\.?
!A {printTME(yytext,0);}

Define TimexTmeDat777a [ (Ff {ram till }) (Ins(Nums) {,}) Ins(Nums) { f.Kr} ({.}) ] ;
Define TimexTmeDat777 [ TimexTmeDat777a   EndTag(TimexTmeDat) ] ; 789

!R [Ii]" den "[^\n ]+anska" "tiden
!A {printTME(yytext,0);}

Define TimexTmeDat778a [ Ii { den } Word {anska tiden} ] ;
Define TimexTmeDat778 [ TimexTmeDat778a   EndTag(TimexTmeDat) ] ; 790

!R [0-9]+\-talet" f \. Kr \."
!A {printTME(yytext,0);}

Define TimexTmeDat779a [ Ins(Nums) {-talet f . Kr .} ] ;
Define TimexTmeDat779 [ TimexTmeDat779a   EndTag(TimexTmeDat) ] ; 791

!# i Xxxx 12NNN 

!R "i "[A-VXYZÅÄÖ][a-zåäö]+" "[12][0-9][0-9][0-9]
!A {int i=2; printf("i "); for(;yytext[i]!=' ';putchar(yytext[i++]));	i++; printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">"); 	for(;i<yyleng; putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat780a [ Ins(YearNum) ] ;
Define TimexTmeDat780
     [ TimexTmeDat780a
       LC({i }
          ["A"|"B"|"C"|"D"|"E"|"F"|"G"|"H"|"I"|"J"|"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|"S"|"T"|"U"|"V"|"X"|"Y"|"Z"|"Å"|"Ä"|"Ö"]
          LowerWord { })
       EndTag(TimexTmeDat) ] ; 792

!# från Xxxx 12NNN 

!R "från "[A-VXYZÅÄÖ][a-zåäö]+" "[12][0-9][0-9][0-9]
!A {int i=5; printf("från "); for(;yytext[i]!=' ';putchar(yytext[i++]));	i++; printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">"); 	for(;i<yyleng; putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat781a [ Ins(YearNum) ] ;
Define TimexTmeDat781
     [ TimexTmeDat781a
       LC({från }
          ["A"|"B"|"C"|"D"|"E"|"F"|"G"|"H"|"I"|"J"|"K"|"L"|"M"|"N"|"O"|"P"|"Q"|"R"|"S"|"T"|"U"|"V"|"X"|"Y"|"Z"|"Å"|"Ä"|"Ö"]
          LowerWord { })
       EndTag(TimexTmeDat) ] ; 793

!R "bott i "[A-ZÅÄÖ][a-zåäö]+" "[1-9]\-[1-9]" år"
!A {int i=7; printf("bott i "); for(;yytext[i]!=' ';putchar(yytext[i++]));	i++; printf(" <TIMEX TYPE=\"TME\" SBT=\"DAT\">"); 	for(;i<yyleng; putchar(yytext[i++])); printf("</TIMEX>");}

Define TimexTmeDat782a [ Num19 {-} Num19 { år} ] ;
Define TimexTmeDat782
     [ TimexTmeDat782a
       LC({bott i } Upper LowerWord { })
       EndTag(TimexTmeDat) ] ; 794

!# 

!R "poutses mble"
!A {printf("XXXXX");}

!W Warning: Flex action did not produce any tags:
!A {printf("XXXXX");}

Define Notags002 [ {poutses mble} ] ;

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

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

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

Define TOP
     [ IgnoreTagged | TimexTmeDat001 | Notags001 | Except001 | Except002
       | Except003 | Except004 | Except005 | Except006 | Except007 | Except008
       | Except009 | Except010 | Except011 | TimexTmeDat002 | TimexTmeDat003
       | TimexTmeDat004 | TimexTmeDat005 | TimexTmeDat006 | TimexTmeDat007
       | TimexTmeDat008 | TimexTmeDat009 | TimexTmeDat010 | TimexTmeDat011
       | TimexTmeDat012 | TimexTmeDat013 | TimexTmeDat014 | TimexTmeDat015
       | TimexTmeDat016 | TimexTmeDat017 | TimexTmeDat018 | TimexTmeDat019
       | TimexTmeDat020 | TimexTmeDat021 | TimexTmeDat022 | TimexTmeDat023
       | TimexTmeDat024 | TimexTmeDat025 | TimexTmeDat026 | TimexTmeDat027
       | TimexTmeDat028 | TimexTmeDat029 | TimexTmeDat030 | TimexTmeDat031
       | TimexTmeDat032 | TimexTmeDat033 | TimexTmeDat034 | TimexTmeDat035
       | TimexTmeDat036 | TimexTmeDat037 | TimexTmeDat038 | TimexTmeDat039
       | TimexTmeDat040 | TimexTmeDat041 | TimexTmeDat042 | TimexTmeDat043
       | TimexTmeDat044 | TimexTmeDat045 | TimexTmeDat046 | TimexTmeDat047
       | TimexTmeDat048 | TimexTmeDat049 | TimexTmeDat050 | TimexTmeDat051
       | TimexTmeDat052 | TimexTmeDat053 | TimexTmeDat054 | TimexTmeDat055
       | TimexTmeDat056 | TimexTmeDat057 | TimexTmeDat058 | TimexTmeDat059
       | TimexTmeDat060 | TimexTmeDat061 | TimexTmeDat062 | TimexTmeDat063
       | TimexTmeDat064 | TimexTmeDat065 | TimexTmeDat066 | TimexTmeDat067
       | TimexTmeDat068 | TimexTmeDat069 | TimexTmeDat070 | TimexTmeDat071
       | TimexTmeDat072 | TimexTmeDat073 | TimexTmeDat074 | TimexTmeDat075
       | TimexTmeDat076 | TimexTmeDat077 | TimexTmeDat078 | TimexTmeDat079
       | TimexTmeDat080 | TimexTmeDat081 | TimexTmeDat082 | TimexTmeDat083
       | TimexTmeDat084 | TimexTmeDat085 | TimexTmeDat086 | TimexTmeDat087
       | TimexTmeDat088 | TimexTmeDat089 | TimexTmeDat090 | TimexTmeDat091
       | TimexTmeDat092 | TimexTmeDat093 | TimexTmeDat094 | TimexTmeDat095
       | TimexTmeDat096 | TimexTmeDat097 | TimexTmeDat098 | TimexTmeDat099
       | TimexTmeDat100 | TimexTmeDat101 | TimexTmeDat102 | TimexTmeDat103
       | TimexTmeDat104 | TimexTmeDat105 | TimexTmeDat106 | TimexTmeDat107
       | TimexTmeDat108 | TimexTmeDat109 | TimexTmeDat110 | TimexTmeDat111
       | TimexTmeDat112 | TimexTmeDat113 | TimexTmeDat114 | TimexTmeDat115
       | TimexTmeDat116 | TimexTmeDat117 | TimexTmeDat118 | TimexTmeDat119
       | TimexTmeDat120 | TimexTmeDat121 | TimexTmeDat122 | TimexTmeDat123
       | TimexTmeDat124 | TimexTmeDat125 | TimexTmeDat126 | TimexTmeDat127
       | TimexTmeDat128 | TimexTmeDat129 | TimexTmeDat130 | TimexTmeDat131
       | TimexTmeDat132 | TimexTmeDat133 | TimexTmeDat134 | TimexTmeDat135
       | TimexTmeDat136 | TimexTmeDat137 | TimexTmeDat138 | TimexTmeDat139
       | TimexTmeDat140 | TimexTmeDat141 | TimexTmeDat142 | TimexTmeDat143
       | TimexTmeDat144 | TimexTmeDat145 | TimexTmeDat146 | TimexTmeDat147
       | TimexTmeDat148 | TimexTmeDat149 | TimexTmeDat150 | TimexTmeDat151
       | TimexTmeDat152 | TimexTmeDat153 | TimexTmeDat154 | TimexTmeDat155
       | TimexTmeDat156 | TimexTmeDat157 | TimexTmeDat158 | TimexTmeDat159
       | TimexTmeDat160 | TimexTmeDat161 | TimexTmeDat162 | TimexTmeDat163
       | TimexTmeDat164 | TimexTmeDat165 | TimexTmeDat166 | TimexTmeDat167
       | TimexTmeDat168 | TimexTmeDat169 | TimexTmeDat170 | TimexTmeDat171
       | TimexTmeDat172 | TimexTmeDat173 | TimexTmeDat174 | TimexTmeDat175
       | TimexTmeDat176 | TimexTmeDat177 | TimexTmeDat178 | TimexTmeDat179
       | TimexTmeDat180 | TimexTmeDat181 | TimexTmeDat182 | TimexTmeDat183
       | TimexTmeDat184 | TimexTmeDat185 | TimexTmeDat186 | TimexTmeDat187
       | TimexTmeDat188 | TimexTmeDat189 | TimexTmeDat190 | TimexTmeDat191
       | TimexTmeDat192 | TimexTmeDat193 | TimexTmeDat194 | TimexTmeDat195
       | TimexTmeDat196 | TimexTmeDat197 | TimexTmeDat198 | TimexTmeDat199
       | TimexTmeDat200 | TimexTmeDat201 | TimexTmeDat202 | TimexTmeDat203
       | TimexTmeDat204 | TimexTmeDat205 | TimexTmeDat206 | TimexTmeDat207
       | TimexTmeDat208 | TimexTmeDat209 | TimexTmeDat210 | TimexTmeDat211
       | TimexTmeDat212 | TimexTmeDat213 | TimexTmeDat214 | TimexTmeDat215
       | TimexTmeDat216 | TimexTmeDat217 | TimexTmeDat218 | TimexTmeDat219
       | TimexTmeDat220 | TimexTmeDat221 | TimexTmeDat222 | TimexTmeDat223
       | TimexTmeDat224 | TimexTmeDat225 | TimexTmeDat226 | TimexTmeDat227
       | TimexTmeDat228 | TimexTmeDat229 | TimexTmeDat230 | TimexTmeDat231
       | TimexTmeDat232 | TimexTmeDat233 | TimexTmeDat234 | TimexTmeDat235
       | TimexTmeDat236 | TimexTmeDat237 | TimexTmeDat238 | TimexTmeDat239
       | TimexTmeDat240 | TimexTmeDat241 | TimexTmeDat242 | TimexTmeDat243
       | TimexTmeDat244 | TimexTmeDat245 | TimexTmeDat246 | TimexTmeDat247
       | TimexTmeDat248 | TimexTmeDat249 | TimexTmeDat250 | TimexTmeDat251
       | TimexTmeDat252 | TimexTmeDat253 | TimexTmeDat254 | TimexTmeDat255
       | TimexTmeDat256 | TimexTmeDat257 | TimexTmeDat258 | TimexTmeDat259
       | TimexTmeDat260 | TimexTmeDat261 | TimexTmeDat262 | TimexTmeDat263
       | TimexTmeDat264 | TimexTmeDat265 | TimexTmeDat266 | TimexTmeDat267
       | TimexTmeDat268 | TimexTmeDat269 | TimexTmeDat270 | TimexTmeDat271
       | TimexTmeDat272 | TimexTmeDat273 | TimexTmeDat274 | TimexTmeDat275
       | TimexTmeDat276 | TimexTmeDat277 | TimexTmeDat278 | TimexTmeDat279
       | TimexTmeDat280 | TimexTmeDat281 | TimexTmeDat282 | TimexTmeDat283
       | TimexTmeDat284 | TimexTmeDat285 | TimexTmeDat286 | TimexTmeDat287
       | TimexTmeDat288 | TimexTmeDat289 | TimexTmeDat290 | TimexTmeDat291
       | TimexTmeDat292 | TimexTmeDat293 | TimexTmeDat294 | TimexTmeDat295
       | TimexTmeDat296 | TimexTmeDat297 | TimexTmeDat298 | TimexTmeDat299
       | TimexTmeDat300 | TimexTmeDat301 | TimexTmeDat302 | TimexTmeDat303
       | TimexTmeDat304 | TimexTmeDat305 | TimexTmeDat306 | TimexTmeDat307
       | TimexTmeDat308 | TimexTmeDat309 | TimexTmeDat310 | TimexTmeDat311
       | TimexTmeDat312 | TimexTmeDat313 | TimexTmeDat314 | TimexTmeDat315
       | TimexTmeDat316 | TimexTmeDat317 | TimexTmeDat318 | TimexTmeDat319
       | TimexTmeDat320 | TimexTmeDat321 | TimexTmeDat322 | TimexTmeDat323
       | TimexTmeDat324 | TimexTmeDat325 | TimexTmeDat326 | TimexTmeDat327
       | TimexTmeDat328 | TimexTmeDat329 | TimexTmeDat330 | TimexTmeDat331
       | TimexTmeDat332 | TimexTmeDat333 | TimexTmeDat334 | TimexTmeDat335
       | TimexTmeDat336 | TimexTmeDat337 | TimexTmeDat338 | TimexTmeDat339
       | TimexTmeDat340 | TimexTmeDat341 | TimexTmeDat342 | TimexTmeDat343
       | TimexTmeDat344 | TimexTmeDat345 | TimexTmeDat346 | TimexTmeDat347
       | TimexTmeDat348 | TimexTmeDat349 | TimexTmeDat350 | TimexTmeDat351
       | TimexTmeDat352 | TimexTmeDat353 | TimexTmeDat354 | TimexTmeDat355
       | TimexTmeDat356 | TimexTmeDat357 | TimexTmeDat358 | TimexTmeDat359
       | TimexTmeDat360 | TimexTmeDat361 | TimexTmeDat362 | TimexTmeDat363
       | TimexTmeDat364 | TimexTmeDat365 | TimexTmeDat366 | TimexTmeDat367
       | TimexTmeDat368 | TimexTmeDat369 | TimexTmeDat370 | TimexTmeDat371
       | TimexTmeDat372 | TimexTmeDat373 | TimexTmeDat374 | TimexTmeDat375
       | TimexTmeDat376 | TimexTmeDat377 | TimexTmeDat378 | TimexTmeDat379
       | TimexTmeDat380 | TimexTmeDat381 | TimexTmeDat382 | TimexTmeDat383
       | TimexTmeDat384 | TimexTmeDat385 | TimexTmeDat386 | TimexTmeDat387
       | TimexTmeDat388 | TimexTmeDat389 | TimexTmeDat390 | TimexTmeDat391
       | TimexTmeDat392 | TimexTmeDat393 | TimexTmeDat394 | TimexTmeDat395
       | TimexTmeDat396 | TimexTmeDat397 | TimexTmeDat398 | TimexTmeDat399
       | TimexTmeDat400 | TimexTmeDat401 | TimexTmeDat402 | TimexTmeDat403
       | TimexTmeDat404 | TimexTmeDat405 | TimexTmeDat406 | TimexTmeDat407
       | TimexTmeDat408 | TimexTmeDat409 | TimexTmeDat410 | TimexTmeDat411
       | TimexTmeDat412 | TimexTmeDat413 | TimexTmeDat414 | TimexTmeDat415
       | TimexTmeDat416 | TimexTmeDat417 | TimexTmeDat418 | TimexTmeDat419
       | TimexTmeDat420 | TimexTmeDat421 | TimexTmeDat422 | TimexTmeDat423
       | TimexTmeDat424 | TimexTmeDat425 | TimexTmeDat426 | TimexTmeDat427
       | TimexTmeDat428 | TimexTmeDat429 | TimexTmeDat430 | TimexTmeDat431
       | TimexTmeDat432 | TimexTmeDat433 | TimexTmeDat434 | TimexTmeDat435
       | TimexTmeDat436 | TimexTmeDat437 | TimexTmeDat438 | TimexTmeDat439
       | TimexTmeDat440 | TimexTmeDat441 | TimexTmeDat442 | TimexTmeDat443
       | TimexTmeDat444 | TimexTmeDat445 | TimexTmeDat446 | TimexTmeDat447
       | TimexTmeDat448 | TimexTmeDat449 | TimexTmeDat450 | TimexTmeDat451
       | TimexTmeDat452 | TimexTmeDat453 | TimexTmeDat454 | TimexTmeDat455
       | Except012 | TimexTmeDat456 | TimexTmeDat457 | TimexTmeDat458
       | TimexTmeDat459 | TimexTmeDat460 | TimexTmeDat461 | TimexTmeDat462
       | TimexTmeDat463 | TimexTmeDat464 | TimexTmeDat465 | TimexTmeDat466
       | TimexTmeDat467 | TimexTmeDat468 | TimexTmeDat469 | TimexTmeDat470
       | TimexTmeDat471 | TimexTmeDat472 | TimexTmeDat473 | TimexTmeDat474
       | TimexTmeDat475 | TimexTmeDat476 | TimexTmeDat477 | TimexTmeDat478
       | TimexTmeDat479 | TimexTmeDat480 | TimexTmeDat481 | TimexTmeDat482
       | TimexTmeDat483 | TimexTmeDat484 | TimexTmeDat485 | TimexTmeDat486
       | TimexTmeDat487 | TimexTmeDat488 | TimexTmeDat489 | TimexTmeDat490
       | TimexTmeDat491 | TimexTmeDat492 | TimexTmeDat493 | TimexTmeDat494
       | TimexTmeDat495 | TimexTmeDat496 | TimexTmeDat497 | TimexTmeDat498
       | TimexTmeDat499 | TimexTmeDat500 | TimexTmeDat501 | TimexTmeDat502
       | TimexTmeDat503 | TimexTmeDat504 | TimexTmeDat505 | TimexTmeDat506
       | TimexTmeDat507 | TimexTmeDat508 | TimexTmeDat509 | TimexTmeDat510
       | TimexTmeDat511 | TimexTmeDat512 | TimexTmeDat513 | TimexTmeDat514
       | TimexTmeDat515 | TimexTmeDat516 | TimexTmeDat517 | TimexTmeDat518
       | TimexTmeDat519 | TimexTmeDat520 | TimexTmeDat521 | TimexTmeDat522
       | TimexTmeDat523 | TimexTmeDat524 | TimexTmeDat525 | TimexTmeDat526
       | TimexTmeDat527 | TimexTmeDat528 | TimexTmeDat529 | TimexTmeDat530
       | TimexTmeDat531 | TimexTmeDat532 | TimexTmeDat533 | TimexTmeDat534
       | TimexTmeDat535 | TimexTmeDat536 | TimexTmeDat537 | TimexTmeDat538
       | TimexTmeDat539 | TimexTmeDat540 | TimexTmeDat541 | TimexTmeDat542
       | TimexTmeDat543 | TimexTmeDat544 | TimexTmeDat545 | TimexTmeDat546
       | TimexTmeDat547 | TimexTmeDat548 | TimexTmeDat549 | TimexTmeDat550
       | TimexTmeDat551 | TimexTmeDat552 | TimexTmeDat553 | TimexTmeDat554
       | TimexTmeDat555 | TimexTmeDat556 | TimexTmeDat557 | TimexTmeDat558
       | TimexTmeDat559 | TimexTmeDat560 | TimexTmeDat561 | TimexTmeDat562
       | TimexTmeDat563 | TimexTmeDat564 | TimexTmeDat565 | TimexTmeDat566
       | TimexTmeDat567 | TimexTmeDat568 | TimexTmeDat569 | TimexTmeDat570
       | TimexTmeDat571 | TimexTmeDat572 | TimexTmeDat573 | TimexTmeDat574
       | TimexTmeDat575 | TimexTmeDat576 | TimexTmeDat577 | TimexTmeDat578
       | TimexTmeDat579 | TimexTmeDat580 | TimexTmeDat581 | TimexTmeDat582
       | TimexTmeDat583 | TimexTmeDat584 | TimexTmeDat585 | TimexTmeDat586
       | TimexTmeDat587 | TimexTmeDat588 | TimexTmeDat589 | TimexTmeDat590
       | TimexTmeDat591 | TimexTmeDat592 | TimexTmeDat593 | TimexTmeDat594
       | TimexTmeDat595 | TimexTmeDat596 | TimexTmeDat597 | TimexTmeDat598
       | TimexTmeDat599 | TimexTmeDat600 | TimexTmeDat601 | TimexTmeDat602
       | TimexTmeDat603 | TimexTmeDat604 | TimexTmeDat605 | TimexTmeDat606
       | TimexTmeDat607 | TimexTmeDat608 | TimexTmeDat609 | TimexTmeDat610
       | TimexTmeDat611 | TimexTmeDat612 | TimexTmeDat613 | TimexTmeDat614
       | TimexTmeDat615 | TimexTmeDat616 | TimexTmeDat617 | TimexTmeDat618
       | TimexTmeDat619 | TimexTmeDat620 | TimexTmeDat621 | TimexTmeDat622
       | TimexTmeDat623 | TimexTmeDat624 | TimexTmeDat625 | TimexTmeDat626
       | TimexTmeDat627 | TimexTmeDat628 | TimexTmeDat629 | TimexTmeDat630
       | TimexTmeDat631 | TimexTmeDat632 | TimexTmeDat633 | TimexTmeDat634
       | TimexTmeDat635 | TimexTmeDat636 | TimexTmeDat637 | TimexTmeDat638
       | TimexTmeDat639 | TimexTmeDat640 | TimexTmeDat641 | TimexTmeDat642
       | TimexTmeDat643 | TimexTmeDat644 | TimexTmeDat645 | TimexTmeDat646
       | TimexTmeDat647 | TimexTmeDat648 | TimexTmeDat649 | TimexTmeDat650
       | TimexTmeDat651 | TimexTmeDat652 | TimexTmeDat653 | TimexTmeDat654
       | TimexTmeDat655 | TimexTmeDat656 | TimexTmeDat657 | TimexTmeDat658
       | TimexTmeDat659 | TimexTmeDat660 | TimexTmeDat661 | TimexTmeDat662
       | TimexTmeDat663 | TimexTmeDat664 | TimexTmeDat665 | TimexTmeDat666
       | TimexTmeDat667 | TimexTmeDat668 | TimexTmeDat669 | TimexTmeDat670
       | TimexTmeDat671 | TimexTmeDat672 | TimexTmeDat673 | TimexTmeDat674
       | TimexTmeDat675 | TimexTmeDat676 | TimexTmeDat677 | TimexTmeDat678
       | TimexTmeDat679 | TimexTmeDat680 | TimexTmeDat681 | TimexTmeDat682
       | TimexTmeDat683 | TimexTmeDat684 | TimexTmeDat685 | TimexTmeDat686
       | TimexTmeDat687 | TimexTmeDat688 | TimexTmeDat689 | TimexTmeDat690
       | TimexTmeDat691 | TimexTmeDat692 | TimexTmeDat693 | TimexTmeDat694
       | TimexTmeDat695 | TimexTmeDat696 | TimexTmeDat697 | TimexTmeDat698
       | TimexTmeDat699 | TimexTmeDat700 | TimexTmeDat701 | TimexTmeDat702
       | TimexTmeDat703 | TimexTmeDat704 | TimexTmeDat705 | TimexTmeDat706
       | TimexTmeDat707 | TimexTmeDat708 | TimexTmeDat709 | TimexTmeDat710
       | TimexTmeDat711 | TimexTmeDat712 | TimexTmeDat713 | TimexTmeDat714
       | TimexTmeDat715 | TimexTmeDat716 | TimexTmeDat717 | TimexTmeDat718
       | TimexTmeDat719 | TimexTmeDat720 | TimexTmeDat721 | TimexTmeDat722
       | TimexTmeDat723 | TimexTmeDat724 | TimexTmeDat725 | TimexTmeDat726
       | TimexTmeDat727 | TimexTmeDat728 | TimexTmeDat729 | TimexTmeDat730
       | TimexTmeDat731 | TimexTmeDat732 | TimexTmeDat733 | TimexTmeDat734
       | TimexTmeDat735 | TimexTmeDat736 | TimexTmeDat737 | TimexTmeDat738
       | TimexTmeDat739 | TimexTmeDat740 | TimexTmeDat741 | TimexTmeDat742
       | TimexTmeDat743 | TimexTmeDat744 | TimexTmeDat745 | TimexTmeDat746
       | TimexTmeDat747 | TimexTmeDat748 | TimexTmeDat749 | TimexTmeDat750
       | TimexTmeDat751 | TimexTmeDat752 | TimexTmeDat753 | TimexTmeDat754
       | TimexTmeDat755 | TimexTmeDat756 | TimexTmeDat757 | TimexTmeDat758
       | TimexTmeDat759 | TimexTmeDat760 | TimexTmeDat761 | TimexTmeDat762
       | TimexTmeDat763 | TimexTmeDat764 | TimexTmeDat765 | TimexTmeDat766
       | TimexTmeDat767 | TimexTmeDat768 | TimexTmeDat769 | TimexTmeDat770
       | TimexTmeDat771 | TimexTmeDat772 | TimexTmeDat773 | TimexTmeDat774
       | TimexTmeDat775 | TimexTmeDat776 | TimexTmeDat777 | TimexTmeDat778
       | TimexTmeDat779 | TimexTmeDat780 | TimexTmeDat781 | TimexTmeDat782
       | Notags002
       LC(WordBoundary) ] ;
