选题:C语言中符号形成规则的形式化描述
C语言中基本语法单位可分为关键字,标识符,运算符,常量,分隔符这五种,以下将分类讨论标识符,关键字,分隔符和常量的形成规则。
[1.标识符]
标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。
I —> L
I —> IL
I —> ID
L—> a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
D—>0|1|2|3|4|5|6|7|8|9
[2.关键字]
I —>void|signed|unsigned|short|long|int|float|double|char|enum|struct|union typedef|const|volatile|auto|static|extern|register|sizeof|goto|return|break|continue|if|else|switch|case|default|do|while|for|_Bool|_Imaginary|_Complex|restrict|inline
[3.常量(十进制)]
I—>D
I—>-D
I—>ID
D—>1|2|3|4|5|6|7|8|9|0
p.s.八进制和十六进制只需修改为0o和0x开头,0-7和0-f为字母表的语言即可;
[4.分隔符]
I—>;| |\n|:
I—>II