! -*- 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) ;
