EBNFの記法

プログラムの文法を記述する仕組みに「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).
}

以前、紹介した「セル範囲の文字列を結合する関数」は次の通りです。

{
  CONCATENATERANGE="=" "CONCATENATERANGE" "(" cell ":" cell {"," cell ":" cell} ")".
  cell=alphabet number.
}

2019年4月14日追記
URLが変更されていました。元は「http://karmin.ch/lib/plugins/ebnf/ebnf.php」でした。

コメント

  1. […] 前に「EBNFの記法」でEBNFから画像に変換する仕組みを紹介しましたが、今回は別のサイトを紹介します。 […]

  2. […] 前に「EBNFの記法」でEBNFから画像に変換する仕組みを紹介しましたが、今回は別のサイトを紹介します。 […]

タイトルとURLをコピーしました