Details

The title isnt very good... What I wanted is to be able to let the param for a tag be either a int or a string (or a tag or code or whatever) the attached patch adds this grouping.

How it works is you specify the goruping with []'s in the table.. i.e "i[IS]" which says the tag wants an int followed by either an int or string (and neither can be default.).

The priority order is hardcoded in the parser to default > decimal/integer > single tag/code > string. If any of the options are lowercase then a - is accepted.
decimal and int arnt really distinguishable so if a number looks like a number and doesnt have a . it will be treated as a int instead of a d unless d is in the list and i isnt.

t is a new tag from another patch which is a single tag instead of a full skin line.