【发布时间】:2016-05-01 00:33:16
【问题描述】:
标识符的 EBNF 定义是(a-zA-Z, _ ){a-zA-Z0-9, _ }。有人可以解释这个定义并通过这个定义给我一个有效的标识符。
【问题讨论】:
-
这只是意味着它必须以字母或下划线开头,后跟任意数量的字母数字字符和下划线。
_有效,_a_var有效,_____也有效,aVar_也有效,9_var无效 -
@Alex 谢谢,得到了解释。这个字符串_4H_2也是有效的
-
严格来说,从给出的信息中无法判断。该规则使用 3 个未定义的非终结符(
a-zA-Z、_、a-zA-Z0-9)(参见 ISO 14977 — 标准 EBNF)。此外,逗号表示排序、括号分组和大括号可重复材料。假设非终结符以正则表达式扩展为[a-zA-Z]和[a-zA-Z0-9],则标识符以字母和下划线开头,并以交替的字母数字和下划线继续。因此a_和a_A_是有效的;a和_2_不是。