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

Define Boundary [" " | #] ;

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

Define Suffix ["s" | "e" ["n"|"t"] ("s") | ["a"|"e"|"o"] "r" ({na}) ("s")] ;

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

@{Define ${tag} $fst ;
}@

@{Define +${tag}1 $tag EndTag($tag) ; 1
}@
@{Define +${tag}2
	[$tag [Suffix | ToUpper(Suffix)]]
	EndTag($tag) ; 2
}@

Define TOP LC(Boundary) [ @@ ] RC(Boundary) ;
