unit grammar IRC::Grammar:ver<1.001001>; token TOP { + } token SPACE { ' '+ } token message { [':' ]? \n } token prefix { [ || ['!' ]? ['@' ]? ] > } token servername { } token nick { [ | | ]* } token user { <-[\ \0\r\n]>+? | '@']>} token host { <-[\s!@]>+ } token command { + | **3 } token params { * [ ':' | ]? } token middle { <-[:\ \0\r\n]> <-[\ \0\r\n]>* } token trailing { <-[\0\r\n]>* } token letter { <[a..zA..Z]> } token number { <[0..9]> } token special { <[-\[\]\\`^{}]> }