Python公式ドキュメント内で書かれてる BNF

をっと。

Python 公式ドキュメントの言語リファレンスに BNF 書かれてたよな、と思って。

あ、これは EBNF でも ABNF でもない。ひとさま向けの独自 BNF 拡張かな。しかもハイライトされとるな。なんだろ?

と、Browse source したらこんなだった:

 1 .. _identifiers:
 2 
 3 Identifiers and keywords
 4 ========================
 5 
 6 .. index::
 7    single: identifier
 8    single: name
 9 
10 Identifiers (also referred to as *names*) are described by the following lexical
11 definitions:
12 
13 .. productionlist::
14    identifier: (`letter`|"_") (`letter` | `digit` | "_")*
15    letter: `lowercase` | `uppercase`
16    lowercase: "a"..."z"
17    uppercase: "A"..."Z"
18    digit: "0"..."9"
19 
20 Identifiers are unlimited in length.  Case is significant.

おーそうか。Sphinx 側でやってんのか。Sphinx で書くこと考えるならあんまし BNF 系の Pygments lexer はなくてもいいんだな。