Rename some tokens, use more accurate names (the current ones are incorrect trunk
authorrmind <rmind@NetBSD.org>
Mon, 18 Nov 2013 21:39:03 +0000
branchtrunk
changeset 222555 6ab51e0a43f1
parent 222554 fa2305b9cc76
child 222556 63ffb1b5fa44
Rename some tokens, use more accurate names (the current ones are incorrect or missleading) and add few comments in the parser code.
usr.sbin/npf/npfctl/npf_parse.y
usr.sbin/npf/npfctl/npf_scan.l
--- a/usr.sbin/npf/npfctl/npf_parse.y	Mon Nov 18 20:51:03 2013 +0000
+++ b/usr.sbin/npf/npfctl/npf_parse.y	Mon Nov 18 21:39:03 2013 +0000
@@ -1,4 +1,4 @@
-/*	$NetBSD: npf_parse.y,v 1.27 2013/11/08 00:38:26 rmind Exp $	*/
+/*	$NetBSD: npf_parse.y,v 1.28 2013/11/18 21:39:03 rmind Exp $	*/
 
 /*-
  * Copyright (c) 2011-2013 The NetBSD Foundation, Inc.
@@ -155,7 +155,7 @@
 %token	<str>		TABLE_ID
 %token	<str>		VAR_ID
 
-%type	<str>		addr, some_name, list_elem, table_store, string
+%type	<str>		addr, some_name, element, table_store, string
 %type	<str>		proc_param_val, opt_apply, ifname, on_ifname
 %type	<num>		port, opt_final, number, afamily, opt_family
 %type	<num>		block_or_pass, rule_dir, group_dir, block_opts
@@ -192,7 +192,7 @@
 	;
 
 line
-	: def
+	: vardef
 	| table
 	| map
 	| group
@@ -201,33 +201,45 @@
 	|
 	;
 
-def
+alg
+	: ALG STRING
+	{
+		npfctl_build_alg($2);
+	}
+	;
+
+/*
+ * A value - an element or a list of elements.
+ * Can be assigned to a variable or used inline.
+ */
+
+vardef
 	: VAR_ID
 	{
 		cvar = npfvar_create($1);
 		npfvar_add(cvar);
 	}
-	  EQ definition
+	  EQ value
 	{
 		cvar = NULL;
 	}
 	;
 
-definition
-	: list_elem
-	| listdef
+value
+	: element
+	| list
 	;
 
-listdef
+list
 	: CURLY_OPEN list_elems CURLY_CLOSE
 	;
 
 list_elems
-	: list_elem COMMA list_elems
-	| list_elem
+	: element COMMA list_elems
+	| element
 	;
 
-list_elem
+element
 	: IDENTIFIER
 	{
 		npfvar_t *vp = npfvar_create(".identifier");
@@ -267,6 +279,10 @@
 	}
 	;
 
+/*
+ * Table definition.
+ */
+
 table
 	: TABLE TABLE_ID TYPE table_type table_store
 	{
@@ -284,6 +300,10 @@
 	| TFILE STRING	{ $$ = $2; }
 	;
 
+/*
+ * Map definition.
+ */
+
 map_sd
 	: TSTATIC	{ $$ = NPFCTL_NAT_STATIC; }
 	| TDYNAMIC	{ $$ = NPFCTL_NAT_DYNAMIC; }
@@ -319,6 +339,10 @@
 	}
 	;
 
+/*
+ * Rule procedure definition and its parameters.
+ */
+
 rproc
 	: PROCEDURE STRING CURLY_OPEN procs CURLY_CLOSE
 	{
@@ -326,13 +350,6 @@
 	}
 	;
 
-alg
-	: ALG STRING
-	{
-		npfctl_build_alg($2);
-	}
-	;
-
 procs
 	: proc_call SEPLINE procs
 	{
@@ -383,6 +400,10 @@
 	|		{ $$ = NULL; }
 	;
 
+/*
+ * Group and dynamic ruleset definition.
+ */
+
 group
 	: GROUP group_opts
 	{
@@ -443,6 +464,10 @@
 	|
 	;
 
+/*
+ * Rule and misc.
+ */
+
 rule
 	: block_or_pass opt_stateful rule_dir opt_final on_ifname
 	  opt_family opt_proto all_or_filt_opts opt_apply
--- a/usr.sbin/npf/npfctl/npf_scan.l	Mon Nov 18 20:51:03 2013 +0000
+++ b/usr.sbin/npf/npfctl/npf_scan.l	Mon Nov 18 21:39:03 2013 +0000
@@ -1,4 +1,4 @@
-/*	$NetBSD: npf_scan.l,v 1.14 2013/11/12 00:46:34 rmind Exp $	*/
+/*	$NetBSD: npf_scan.l,v 1.15 2013/11/18 21:39:03 rmind Exp $	*/
 
 /*-
  * Copyright (c) 2011-2012 The NetBSD Foundation, Inc.
@@ -186,7 +186,7 @@
 			return TABLE_ID;
 		}
 
-"$"{ID}	{
+"$"{ID}		{
 			yylval.str = estrndup(yytext + 1, yyleng - 1);
 			return VAR_ID;
 		}