とりあえず、英大文字・小文字は1文字づつyaccにあげればいいんじゃ?
で16進数の構文をyaccで定義すれば?