next up previous
Next: About this document ... Up: Taggning av räkneord som Previous: Möjliga förbättringar


Regler i Granskas regelspråk

category taltagg {
  info("Taltaggning")
  link("http://www.nada.kth.se/~jsh/taltagg.html" 
  "Jonas taltaggningstest")
}

datum@taltagg {
 X (wordcl=rg & token=TOKEN_DATE)
-->
 mark(X)
 info("Datum")
 jump(endlabel)
 action(scrutinizing)	      
}

nnrg1@taltagg {
 Y (wordcl=nn & real_text.length > 5 
    & (real_text.substr(real_text.length-4, 4)="-tal" 
       | real_text.substr(real_text.length-5, 5)="-tals"))
-->
 mark(Y)
 info("Årtal")
 jump(endlabel)
 action(scrutinizing)  
}

nnrg2@taltagg {
 Y (wordcl=nn & real_text.length > 6 
    & (real_text.substr(real_text.length-6, 5)="-tale" 
       | real_text.substr(real_text.length-7, 5)="-tale"))
-->
 mark(Y)
 info("Årtal")
 jump(endlabel)
 action(scrutinizing)  
}

efkr@taltagg {
 X (wordcl=rg),
 Y (tolower(text)="f.kr" | tolower(text)="e.kr" 
    | tolower(text)="f. kr" | tolower(text)="e. kr" 
    | tolower(text)="f.kr." | tolower(text)="e.kr." 
    | tolower(text)="f. kr." | tolower(text)="e. kr." 
    | tolower(text)="f kr." | tolower(text)="e kr." 
    | tolower(text)="f kr" | tolower(text)="e kr")
-->
 mark(X)
 info("Årtal")
 jump(endlabel, 1)
 action(scrutinizing)
}

talet1@taltagg {
 Y (wordcl=rg & real_text.length > 5 
    & (real_text.substr(real_text.length-5, 4)="tale" 
       | real_text.substr(real_text.length-3, 3)="tal" 
       | real_text.substr(real_text.length-4, 4)="tals" 
       | real_text.substr(real_text.length-6, 4)="tale"))
-->
 mark(Y)
 info("Årtal")
 jump(endlabel)
 action(scrutinizing)
}	 

talet2@taltagg {
 Y (wordcl=rg),
 X (text="talet")
-->
 mark(Y)
 info("Årtal")
 jump(endlabel, 1)
 action(scrutinizing)
}

år1@taltagg {
 Y (wordcl=rg & real_text.substr(0,2)="år")
-->
 mark(Y)
 info("Årtal")
 jump(endlabel)
 action(scrutinizing)
}

år2@taltagg {
 X (text="år" | text="året" | text="åren"),
 Y (wordcl=rg)
-->
 mark(Y)
 info("Årtal")
 jump(endlabel, 1)
 action(scrutinizing)
}

nnplu@taltagg {
 X (wordcl=rg),
 Z (wordcl=jj)*,
 Y (wordcl=nn & (num=plu | num=undef))
-->
 mark(X)
 info("Tal")
 jump(endlabel, 2)
 action(scrutinizing)
}

nyckelord@taltagg {
 Y (text="januari" | text="februari" | text="mars" | text="april" 
    | text="maj" | text="juni" | text="juli" | text="augusti" 
    | text="september" | text="oktober" | text="november" 
    | text="december" | text="hösten" | text="sommaren" 
    | text="vintern" | text="våren" 
    | text="halvåret" | text="kvartalet"), 
 X (wordcl=rg)
-->
 mark(X)
 info("Årtal")
 jump(endlabel, 1)
 action(scrutinizing)
}

fyrsiffrig@taltagg {
 X (wordcl=rg & real_text.length=4 
   & real_text.substr(real_text.length-1, 1)!="a"
   & real_text.substr(real_text.length-1, 1)!="v"
   & real_text.substr(real_text.length-2, 1)!=","
   & real_text.substr(real_text.length-3, 1)!=","
   & real_text.substr(real_text.length-2, 1)!=":"
   & real_text.substr(real_text.length-3, 1)!=":"
   & real_text.substr(real_text.length-2, 1)!="."
   & real_text.substr(real_text.length-3, 1)!=".")
-->
 mark(X)
 info("Årtal")
 jump(endlabel)
 action(scrutinizing)
}

basregel@taltagg {
 X (wordcl=rg)
-->
 mark(X)
 info("Tal")
 action(scrutinizing)
}

ordningstal@taltagg {
 X (wordcl=ro)
-->
 mark(X)
 info("Tal")
 action(scrutinizing)
}


Jonas Sjöbergh 2001-10-15