%%
"%d" /* date */ return SHOW_DATE;
-"%f" /* From */ return SHOW_FROM;
-"%N" /* Full name */ return SHOW_FULLNAME;
-"%F" /* firt name */ return SHOW_FIRST_NAME;
+"%f" /* from */ return SHOW_FROM;
+"%N" /* full name */ return SHOW_FULLNAME;
+"%F" /* first name */ return SHOW_FIRST_NAME;
+"%L" /* last name */ return SHOW_LAST_NAME;
"%I" /* initial of sender */ return SHOW_SENDER_INITIAL;
"%s" /* subject */ return SHOW_SUBJECT;
"%t" /* to */ return SHOW_TO;
"%Q" /* quoted message */ return SHOW_QUOTED_MESSAGE;
"%m" /* message with no signature */ return SHOW_MESSAGE_NO_SIGNATURE;
"%q" /* quoted message with no signature */ return SHOW_QUOTED_MESSAGE_NO_SIGNATURE;
-"%%" /* % */ return SHOW_PERCENT;
+"\\\%" /* % */ return SHOW_PERCENT;
"\\\\" /* \ */ return SHOW_BACKSLASH;
-"\\t" /* tab */ return SHOW_TAB;
-"\\n" /* retour à la ligne */ return SHOW_EOL;
+"\\t"|"\t" /* tab */ return SHOW_TAB;
+"\\n"|"\n" /* return */ return SHOW_EOL;
"\\?" /* ? */ return SHOW_QUESTION_MARK;
-"\\(" return SHOW_OPARENT;
-"\\)" return SHOW_CPARENT;
+"\\|" return SHOW_PIPE;
+"\\{" return SHOW_OPARENT;
+"\\}" return SHOW_CPARENT;
"?d" /* query date */ return QUERY_DATE;
"?f" /* query from */ return QUERY_FROM;
"?N"|"?F"|"?I" /* query from name */ return QUERY_FULLNAME;
"?n" /* query newsgroups */ return QUERY_NEWSGROUPS;
"?i" /* query message-id */ return QUERY_MESSAGEID;
"?r" /* query references */ return QUERY_REFERENCES;
-"(" return OPARENT;
-")" return CPARENT;
+"|f" /* insert file */ return INSERT_FILE;
+"|p" /* insert program output */ return INSERT_PROGRAMOUTPUT;
+"{" return OPARENT;
+"}" return CPARENT;
. { yylval.chr = yytext[0]; return CHARACTER; }
%%