From 976aaa5e7caa5506ead757bb511207462526cb26 Mon Sep 17 00:00:00 2001 From: Zoffix Znet Date: Sat, 5 Dec 2015 15:42:25 -0500 Subject: Wrote working grammar --- lib/IRC/Grammar.pm6 | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'lib') diff --git a/lib/IRC/Grammar.pm6 b/lib/IRC/Grammar.pm6 index 2013b9b..46d71cc 100644 --- a/lib/IRC/Grammar.pm6 +++ b/lib/IRC/Grammar.pm6 @@ -1,24 +1,24 @@ # use Grammar::Debugger; unit grammar IRC::Grammar:ver<1.001001>; -token ws { ' ' } -token TOP { [ \r\n ]* } -token message { [':' ' '+ ]? } -token prefix { [ | ] [ '!' ]? [ '@' ]? } -token command { + | **3 } -token params { ' '+ [ ':' | ]? } -token middle { <-[: \0\r\n]> <-[ \0\r\n]>+ } -token trailing { <-[\0\r\n]>+ } -token target { [ ',' ]? } -token to { | '@' | | } -token channel { ['#' | '&'] } -token servername { \S+ } # see RFC 952 [DNS:4] for details on allowed hostnames -token nick { [ | | ]+ } -token mask { <[#$]> } -token chstring { <-[ \a\0\r\l,]> } -token user { <-[ \0\r\l]>+ } -token letter { <[a..zA..Z]> } -token number { <[0..9]> } -token special { <[-\[\]\\`^{}]> } +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 { <[-\[\]\\`^{}]> } # unit class IRC::Grammar::Actions:ver<1.001001>; # method TOP ($/) { $/.make: $ยป.made } -- cgit v1.1