あなたが言語のEBNFの説明を見ると、あなたは多くの場合、整数や実数の定義を参照してください。番号の認識は、スキャナまたはパーサーに属していますか?
integer ::= digit digit* // Accepts numbers with a 0 prefix
real ::= integer "." integer (('e'|'E') integer)?
(定義は、その場で行われた、私はおそらくそれらにミスを犯しています)。
文脈自由文法に現れますが、字句解析段階では数字がよく認識されます。より完全なものにするためにそれらは言語定義に含まれていますか?また、実際にスキャナに置くべきであることを実現するのは実装者次第ですか?