module languages/asf/syntax/Tags

exports

sorts ASF-TagId ASF-Tag

lexical syntax

    head:[A-Za-z0-9\"\'] 
	-> ASF-TagId {avoid,cons("one-char")}

    head:[A-Za-z0-9\"\'] middle:[A-Za-z0-9\"\'\-]* last:[A-Za-z0-9\"\'] 
	-> ASF-TagId {avoid,cons("many-chars")}

context-free syntax

    "[" "]"           -> ASF-Tag {cons("empty")}
    "[" ASF-TagId "]" -> ASF-Tag {cons("not-empty")}