Module Name:    src
Committed By:   rillig
Date:           Sat Jul 10 19:29:28 UTC 2021

Modified Files:
        src/usr.bin/xlint/lint1: cgram.y

Log Message:
lint: rename grammar rules to align with C99

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.299 -r1.300 src/usr.bin/xlint/lint1/cgram.y

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/xlint/lint1/cgram.y
diff -u src/usr.bin/xlint/lint1/cgram.y:1.299 src/usr.bin/xlint/lint1/cgram.y:1.300
--- src/usr.bin/xlint/lint1/cgram.y:1.299	Sat Jul 10 18:56:54 2021
+++ src/usr.bin/xlint/lint1/cgram.y	Sat Jul 10 19:29:28 2021
@@ -1,5 +1,5 @@
 %{
-/* $NetBSD: cgram.y,v 1.299 2021/07/10 18:56:54 rillig Exp $ */
+/* $NetBSD: cgram.y,v 1.300 2021/07/10 19:29:28 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: cgram.y,v 1.299 2021/07/10 18:56:54 rillig Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.300 2021/07/10 19:29:28 rillig Exp $");
 #endif
 
 #include <limits.h>
@@ -281,18 +281,18 @@ anonymize(sym_t *s)
 %type	<y_sym>		func_decl
 %type	<y_sym>		notype_decl
 %type	<y_sym>		type_decl
-%type	<y_type>	typespec
-%type	<y_type>	notype_typespec
-%type	<y_type>	struct_spec
-%type	<y_type>	enum_spec
+%type	<y_type>	type_specifier
+%type	<y_type>	notype_type_specifier
+%type	<y_type>	struct_or_union_specifier
+%type	<y_type>	enum_specifier
 %type	<y_sym>		struct_tag
 %type	<y_sym>		enum_tag
-%type	<y_tspec>	struct
-%type	<y_sym>		struct_declaration
+%type	<y_tspec>	struct_or_union
+%type	<y_sym>		braced_struct_declaration_list
 %type	<y_name>	identifier
-%type	<y_sym>		member_declaration_list_semi
-%type	<y_sym>		member_declaration_list
-%type	<y_sym>		member_declaration
+%type	<y_sym>		struct_declaration_list_semi
+%type	<y_sym>		struct_declaration_list
+%type	<y_sym>		struct_declaration
 %type	<y_sym>		notype_member_decls
 %type	<y_sym>		type_member_decls
 %type	<y_sym>		notype_member_decl
@@ -535,11 +535,11 @@ end_type:
 	;
 
 declaration_specifiers:		/* C99 6.7 */
-	  add_typespec
-	| declmods add_typespec
+	  add_type_specifier
+	| declmods add_type_specifier
 	| type_attribute declaration_specifiers
 	| declaration_specifiers declmod
-	| declaration_specifiers add_notype_typespec
+	| declaration_specifiers add_notype_type_specifier
 	;
 
 declmods:
@@ -559,44 +559,45 @@ qualifier_or_storage_class:
 	  }
 	;
 
-add_typespec:
-	  typespec {
+add_type_specifier:
+	  type_specifier {
 		add_type($1);
 	  }
 	;
 
-typespec:
-	  notype_typespec
+type_specifier:			/* C99 6.7.2 */
+	  notype_type_specifier
 	| T_TYPENAME {
 		$$ = getsym($1)->s_type;
 	  }
 	;
 
-add_notype_typespec:
-	  notype_typespec {
+add_notype_type_specifier:
+	  notype_type_specifier {
 		add_type($1);
 	  }
 	;
 
-notype_typespec:
+/* Like type_specifier, but without typedef-name. */
+notype_type_specifier:
 	  T_TYPE {
 		$$ = gettyp($1);
 	  }
 	| T_TYPEOF term {
 		$$ = $2->tn_type;
 	  }
-	| struct_spec {
+	| struct_or_union_specifier {
 		end_declaration_level();
 		$$ = $1;
 	  }
-	| enum_spec {
+	| enum_specifier {
 		end_declaration_level();
 		$$ = $1;
 	  }
 	;
 
-struct_spec:
-	  struct struct_tag {
+struct_or_union_specifier:	/* C99 6.7.2.1 */
+	  struct_or_union struct_tag {
 		/*
 		 * STDC requires that "struct a;" always introduces
 		 * a new tag if "a" is not declared at current level
@@ -606,23 +607,23 @@ struct_spec:
 		 */
 		$$ = mktag($2, $1, false, yychar == T_SEMI);
 	  }
-	| struct struct_tag {
+	| struct_or_union struct_tag {
 		dcs->d_tagtyp = mktag($2, $1, true, false);
-	  } struct_declaration {
+	  } braced_struct_declaration_list {
 		$$ = complete_tag_struct_or_union(dcs->d_tagtyp, $4);
 	  }
-	| struct {
+	| struct_or_union {
 		dcs->d_tagtyp = mktag(NULL, $1, true, false);
-	  } struct_declaration {
+	  } braced_struct_declaration_list {
 		$$ = complete_tag_struct_or_union(dcs->d_tagtyp, $3);
 	  }
-	| struct error {
+	| struct_or_union error {
 		symtyp = FVFT;
 		$$ = gettyp(INT);
 	  }
 	;
 
-struct:
+struct_or_union:		/* C99 6.7.2.1 */
 	  T_STRUCT_OR_UNION {
 		symtyp = FTAG;
 		begin_declaration_level($1 == STRUCT ? MOS : MOU);
@@ -637,20 +638,20 @@ struct_tag:
 	  }
 	;
 
-struct_declaration:
+braced_struct_declaration_list:
 	  T_LBRACE {
 		symtyp = FVFT;
-	  } member_declaration_list_semi T_RBRACE {
+	  } struct_declaration_list_semi T_RBRACE {
 		$$ = $3;
 	  }
 	;
 
-member_declaration_list_semi:
+struct_declaration_list_semi:
 	  /* empty */ {
 		$$ = NULL;
 	  }
-	| member_declaration_list T_SEMI
-	| member_declaration_list {
+	| struct_declaration_list T_SEMI
+	| struct_declaration_list {
 		if (sflag) {
 			/* syntax req. ';' after last struct/union member */
 			error(66);
@@ -662,14 +663,14 @@ member_declaration_list_semi:
 	  }
 	;
 
-member_declaration_list:
-	  member_declaration
-	| member_declaration_list T_SEMI member_declaration {
+struct_declaration_list:
+	  struct_declaration
+	| struct_declaration_list T_SEMI struct_declaration {
 		$$ = lnklst($1, $3);
 	  }
 	;
 
-member_declaration:
+struct_declaration:
 	  begin_type add_type_qualifier_list end_type {
 		/* too late, i know, but getsym() compensates it */
 		symtyp = FMEMBER;
@@ -715,10 +716,10 @@ noclass_declspecs:
 	;
 
 noclass_declspecs_postfix:
-	  add_typespec
-	| add_type_qualifier_list add_typespec
+	  add_type_specifier
+	| add_type_qualifier_list add_type_specifier
 	| noclass_declspecs_postfix add_type_qualifier
-	| noclass_declspecs_postfix add_notype_typespec
+	| noclass_declspecs_postfix add_notype_type_specifier
 	| noclass_declspecs_postfix type_attribute
 	;
 
@@ -779,7 +780,7 @@ type_member_decl:
 	  }
 	;
 
-enum_spec:
+enum_specifier:		/* C99 6.7.2.2 */
 	  enum enum_tag {
 		$$ = mktag($2, ENUM, false, false);
 	  }
@@ -1071,7 +1072,7 @@ type_qualifier:
 	;
 
 align_as:			/* See alignment-specifier in C11 6.7.5 */
-	  typespec
+	  type_specifier
 	| constant_expr
 	;
 
@@ -1414,7 +1415,7 @@ block_item_list_opt:		/* C99 6.8.2 */
 	| block_item_list
 	;
 
-block_item_list:
+block_item_list:		/* C99 6.8.2 */
 	  block_item
 	| block_item_list block_item {
 		if (!Sflag && $1 && !$2)
@@ -1424,13 +1425,13 @@ block_item_list:
 	  }
 	;
 
-block_item:
-	  statement {
-		$$ = true;
+block_item:			/* C99 6.8.2 */
+	  declaration {
+		$$ = false;
 		restore_warning_flags();
 	  }
-	| declaration {
-		$$ = false;
+	| statement {
+		$$ = true;
 		restore_warning_flags();
 	  }
 	;

Reply via email to