ISO EBNF 中的异常内容
Contents of exceptions in ISO EBNF
在 ISO 14977 EBNF 标准中,第 4.7 节描述了异常的合法内容。我相当确定异常可能包含任何有效的句法因素,只要它不包含任何元标识符即可。这意味着可以像这样使用特殊序列作为例外
syntax =
my rule - ? Something clever ? ;
是这样吗?
您可以在 ISO here.
免费获得标准
不,那是不正确的。您可以在异常中使用元标识符,只要在完全评估时它们会产生终端。 4.7 节中给出的示例显示了根据自身定义的元标识符,它永远无法完全解析为终端。这就是他们说的意思:
...could equally be represented by a syntactic-factor containing no meta-identifiers.
标准本身中有很多这样的例子 - 检查第 8 节。例如:
gap free symbol = terminal character - (first quote symbol | second quote symbol)
在 ISO 14977 EBNF 标准中,第 4.7 节描述了异常的合法内容。我相当确定异常可能包含任何有效的句法因素,只要它不包含任何元标识符即可。这意味着可以像这样使用特殊序列作为例外
syntax =
my rule - ? Something clever ? ;
是这样吗?
您可以在 ISO here.
免费获得标准不,那是不正确的。您可以在异常中使用元标识符,只要在完全评估时它们会产生终端。 4.7 节中给出的示例显示了根据自身定义的元标识符,它永远无法完全解析为终端。这就是他们说的意思:
...could equally be represented by a syntactic-factor containing no meta-identifiers.
标准本身中有很多这样的例子 - 检查第 8 节。例如:
gap free symbol = terminal character - (first quote symbol | second quote symbol)