【发布时间】:2011-08-18 16:42:05
【问题描述】:
当您查看语言的 EBNF 描述时,您经常会看到整数和实数的定义:
integer ::= digit digit* // Accepts numbers with a 0 prefix
real ::= integer "." integer (('e'|'E') integer)?
(定义是即时做出的,我可能在其中犯了一个错误)。
虽然它们出现在上下文无关语法中,但数字通常在词法分析阶段被识别。它们是否包含在语言定义中以使其更完整,并且由实现者来实现它们实际上应该在扫描仪中?
【问题讨论】: