I believe "cvar" stands for "Const, Volatile, Attribute, or Restrict". This is called "type-qualifier" in K&R. [1] Adopt this more generic naming. No functional changes are intended. [1] https://cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of%20C%20in%20Backus-Naur%20form.htm
Showing the changes to scripts (1 of 1 file). Show all
Unified · Split
| @@ -223,7 +223,7 @@ storage_class_specifier: · 222 unmodified lines | ||
| 223 | 223 | |
| 224 | 224 | type_specifier: |
| 225 | 225 | simple_type_specifier |
| 226 | − | cvar_qualifier | |
| 226 | + | type_qualifier | |
| 227 | 227 | | TYPEOF_KEYW '(' parameter_declaration ')' |
| 228 | 228 | | TYPEOF_PHRASE |
| 229 | 229 | |
| @@ -270,21 +270,21 @@ simple_type_specifier: · 40 unmodified lines | ||
| 270 | 270 | ; |
| 271 | 271 | |
| 272 | 272 | ptr_operator: |
| 273 | − '*' cvar_qualifier_seq_opt | |
| 273 | + '*' type_qualifier_seq_opt | |
| 274 | 274 | { $$ = $2 ? $2 : $1; } |
| 275 | 275 | ; |
| 276 | 276 | |
| 277 | −cvar_qualifier_seq_opt: | |
| 277 | +type_qualifier_seq_opt: | |
| 278 | 278 | /* empty */ { $$ = NULL; } |
| 279 | − | cvar_qualifier_seq | |
| 279 | + | type_qualifier_seq | |
| 280 | 280 | ; |
| 281 | 281 | |
| 282 | −cvar_qualifier_seq: | |
| 283 | − cvar_qualifier | |
| 284 | − | cvar_qualifier_seq cvar_qualifier { $$ = $2; } | |
| 282 | +type_qualifier_seq: | |
| 283 | + type_qualifier | |
| 284 | + | type_qualifier_seq type_qualifier { $$ = $2; } | |
| 285 | 285 | ; |
| 286 | 286 | |
| 287 | −cvar_qualifier: | |
| 287 | +type_qualifier: | |
| 288 | 288 | CONST_KEYW | VOLATILE_KEYW | ATTRIBUTE_PHRASE |
| 289 | 289 | | RESTRICT_KEYW |
| 290 | 290 | { /* restrict has no effect in prototypes so ignore it */ |