プログラムの文法を記述する仕組みに「EBNF」があります。
基本的なところをまとめてみます。
- 全体を { と } で挟む。
- 行の最初は 文字列= とする。
- [a] は省略可を表す。
- {b} は0回以上の繰り返しを表す。
- (c|d) は選択を表す。
- そのまま表示する文字列は ” と ” で挟む。
- 行の最後は . とする。
EBNFの記法には色々と亜流があるらしく、ここで紹介したのは次のサイトで使える記法です。
EBNF Parser & Syntax Diagram Renderer [karmin.ch]
次のようにすることでEBNFを画像に変換してくれます。
<img src="https://karmin.ch/ebnf.php?syntax={EBNF記法}">
例えば次の通りです。
{
test=x y[a]{b}(c|d).
}
test=x y[a]{b}(c|d).
}
以前、紹介した「セル範囲の文字列を結合する関数」は次の通りです。
{
CONCATENATERANGE="=" "CONCATENATERANGE" "(" cell ":" cell {"," cell ":" cell} ")".
cell=alphabet number.
}
CONCATENATERANGE="=" "CONCATENATERANGE" "(" cell ":" cell {"," cell ":" cell} ")".
cell=alphabet number.
}
2019年4月14日追記
URLが変更されていました。元は「http://karmin.ch/lib/plugins/ebnf/ebnf.php」でした。
コメント
[…] 前に「EBNFの記法」でEBNFから画像に変換する仕組みを紹介しましたが、今回は別のサイトを紹介します。 […]
[…] 前に「EBNFの記法」でEBNFから画像に変換する仕組みを紹介しましたが、今回は別のサイトを紹介します。 […]