本文へスキップ
Mernyx
メニューを開く

Mermaid 鉄道図のチートシート

文法の規則を、描いてみたもの。

このページのすべての図はMernyx(macOS 向けネイティブ Mermaid エディタ)が描いたものです。ブラウザで動く Mermaid.js ではなく、App のキャンバスで使うのと同じレンダラーです。

規則

規則は名前、等号、定義で、半角セミコロンで終わります。terminal はリテラル、nonterminal は別の規則です。

railroad-beta
    rule = sequence(terminal("a"), nonterminal("other")) ;
    other = terminal("b") ;
規則 2 つの鉄道図。rule が a と other を順に、other が b を表します。図を拡大

選択

choice は候補を角括弧に入れます。規則そのものを choice と呼ぶことはできません。その名前は埋まっています。

railroad-beta
    alt = choice(terminal("a"), terminal("b")) ;
規則 1 つ(alt)の鉄道図。a か b のどちらかを提示します。図を拡大

省略できる部分

optional は省略してよい部分を包みます。

railroad-beta
    rule = sequence(optional(nonterminal("tail")), terminal("head")) ;
    tail = terminal("t") ;
規則 1 つの鉄道図。最初の部分 tail が省略可能で、2 つ目が head です。図を拡大

繰り返し

oneOrMore は 1 つ以上、zeroOrMore は 0 個でもかまいません。どちらも繰り返す部分を包みます。

railroad-beta
    digits = oneOrMore(terminal("0")) ;
    words = zeroOrMore(terminal("x")) ;
2 つの鉄道図が並んでいます。digits は 0 を少なくとも 1 回、words は x を任意回数だけ繰り返します。図を拡大

Mernyx で描いてみる

.mmd ファイルを開いて、キャンバスでノードを動かしてみてください。ソースコードもついてきます。macOS ネイティブで、ブラウザは介在しません。

図のプレビュー