/* -*-c-*-
*
- * $Id: parser.y,v 1.6 1998/04/23 13:26:49 mdw Exp $
+ * $Id$
*
* Parser for `become.conf' files
*
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: parser.y,v $
- * Revision 1.6 1998/04/23 13:26:49 mdw
- * New `parse' interface to configuration file parser; informs caller
- * whether parsing encountered any errors. Also support no-network
- * configuration.
- *
- * Revision 1.5 1998/01/12 16:46:22 mdw
- * Fix copyright date.
- *
- * Revision 1.4 1997/09/17 10:26:52 mdw
- * Use rewritten class handler. Makes the expression parsers considerably
- * simpler.
- *
- * Revision 1.3 1997/09/09 18:17:06 mdw
- * Allow default port to be given as a service name or port number.
- *
- * Revision 1.2 1997/08/04 10:24:24 mdw
- * Sources placed under CVS control.
- *
- * Revision 1.1 1997/07/21 13:47:45 mdw
- * Initial revision
- *
- */
-
/*----- Header files ------------------------------------------------------*/
%{
#include <pwd.h>
#include <unistd.h>
+/* --- mLib headers --- */
+
+#include <mLib/report.h>
+#include <mLib/sym.h>
+
/* --- Local headers --- */
#include "class.h"
#include "lexer.h"
#include "name.h"
#include "rule.h"
-#include "sym.h"
#include "userdb.h"
-#include "utils.h"
+
+#define YYDEBUG 1
+#define YYERROR_VERBOSE
%}
/*----- Stack type --------------------------------------------------------*/
/*----- Error reporting ---------------------------------------------------*/
%{
-#define YYDEBUG 1
-#define YYERROR_VERBOSE
-
/* --- @yyprint@ --- *
*
* Arguments: @FILE *fp@ = pointer to stream to write on
yynerrs++; YYERROR;
#endif
}
+ ;
/* --- Parsing allow specifications --- */
user_class_opt command_class_opt ';' {
rule_add($2, $3, $5, $6);
}
+ ;
host_class_opt : /* empty */ { $$ = class_all; }
| '[' host_class ']' { $$ = $2; }
n->c = 0;
$$ = n;
}
+ ;
/*----- Various class expression types ------------------------------------*
*