char *sval;
}
-%token KW_SERVER KW_PROTOCOL KW_USERNAME KW_PASSWORD KW_RPOPID
-%token KW_REMOTEFOLDER KW_LOCALFOLDER KW_SMTPHOST KW_MDA KW_EOL KW_DEFAULTS
-%token <proto> PROTO_AUTO PROTO_POP2 PROTO_POP3 PROTO_IMAP PROTO_APOP PROTO_RPOP
-%token <sval> PARAM_STRING
-%token <flag> KW_KEEP KW_FLUSH KW_FETCHALL KW_REWRITE KW_PORT KW_EXPLICIT
-%type <proto> proto;
+%token KW_SERVER KW_PROTOCOL KW_LOCALNAME KW_REMOTENAME KW_PASSWORD
+%token KW_MAILBOX KW_SMTPHOST KW_MDA KW_DEFAULTS
+%token <proto> KW_PROTO
+%token <sval> PARAM_STRING
+%token <flag> KW_KEEP KW_FLUSH KW_FETCHALL KW_REWRITE KW_PORT KW_SKIP
/* these are actually used by the lexer */
-%token TRUE 1
-%token FALSE 0
+%token FLAG_TRUE 2
+%token FLAG_FALSE 1
%%
| rcfile rcline
;
-rcline: statement KW_EOL
+rcline: statement
;
statement:
;
serv_option_clause:
- KW_PROTOCOL proto {prc_setproto($2);}
- | KW_USERNAME PARAM_STRING {prc_remotename($2);}
- | KW_PASSWORD PARAM_STRING {prc_setpassword($2);}
- | KW_RPOPID PARAM_STRING {prc_setrpopid($2);}
- | KW_REMOTEFOLDER PARAM_STRING {prc_setremote($2);}
- | KW_LOCALFOLDER PARAM_STRING {prc_setlocal($2);}
- | KW_SMTPHOST PARAM_STRING {prc_setsmtphost($2);}
- | KW_MDA PARAM_STRING {prc_setmda($2);}
- | KW_KEEP {prc_setkeep($1);}
- | KW_FLUSH {prc_setflush($1);}
- | KW_FETCHALL {prc_setfetchall($1);}
- | KW_REWRITE {prc_setrewrite($1);}
- | KW_EXPLICIT {prc_setexplicit($1);}
- | KW_PORT PARAM_STRING {prc_setport($2);}
- ;
-
-proto: PROTO_POP2
- | PROTO_POP3
- | PROTO_IMAP
- | PROTO_APOP
- | PROTO_RPOP
+ KW_PROTOCOL KW_PROTO {prc_setproto($2);}
+ | KW_LOCALNAME PARAM_STRING {prc_localname($2);}
+ | KW_REMOTENAME PARAM_STRING {prc_remotename($2);}
+ | KW_PASSWORD PARAM_STRING {prc_setpassword($2);}
+ | KW_MAILBOX PARAM_STRING {prc_setmailbox($2);}
+ | KW_SMTPHOST PARAM_STRING {prc_setsmtphost($2);}
+ | KW_MDA PARAM_STRING {prc_setmda($2);}
+ | KW_KEEP {prc_setkeep($1==FLAG_TRUE);}
+ | KW_FLUSH {prc_setflush($1==FLAG_TRUE);}
+ | KW_FETCHALL {prc_setfetchall($1==FLAG_TRUE);}
+ | KW_REWRITE {prc_setrewrite($1==FLAG_TRUE);}
+ | KW_SKIP {prc_setskip($1==FLAG_TRUE);}
+ | KW_PORT PARAM_STRING {prc_setport($2);}
;
%%
-
yyerror (s)
char *s;
{