機械翻訳について

MaxLの線路図の読み方

MaxL 「文法」は、線路の構文表記法を使用して示されています。 線路図は、MaxLで解析可能なすべての有効な(文法的に正しい)文を示しています。

MaxL文の構造

  • キーワードは、プレーンな小文字フォントで表され、MaxL文法の単位です。 キーワードは、MaxL文に正しい順序でリテラルに入力する必要があります。 次の図の抜粋のキーワードの例を参照してください:


    non_unique_membersを使用してデータベースDBS-NAMEを作成する文では、タイプは次のとおりです。 createおよびdatabaseはキーワードです。 DBS-NAMEはターミナルです。 およびnon_unique_membersの使用はキーワードです。
  • ターミナルは、角カッコなしで大文字で表され、「ターミナル」表に定義されている適切な形式の値に置き換えられます。 前述の図で、DBS-NAMEはターミナルです。 ターミナルを有効な名前(sample.basicなど)に置き換える必要があります。

    キーワードは、一重引用符で囲まれていないかぎり、ターミナルとして使用できません。 たとえば、databaseという名前のデータベースを作成する場合、文create database database;はエラーを返しますが、create database "database";は機能します。

  • セミコロンは文の終わりを示します。 セミコロンを省略するか、文の予期される終わりの前にセミコロンを配置すると、構文エラーが発生します。

  • 山カッコ<>を使用して大文字で表される非ターミナルは、追加の図 (通常はメイン図の下)で定義されます。 ここには非ターミナルは表示されません。

線路図記号

次の表は、線路図で使用される記号の意味を示しています。

表3-1 線路図記号

記号 定義
2つの右向き矢印の後に線が続きます。 文はここから始まります。
1つの右向き矢印で終わる線。 文は次の行に続きます。
右向き矢印の後に線が表示されます。 文は前の行から続きます。
右向き矢印と左向き矢印で終わる線。 文はここで終わります。
本線の下に2本のラダー埋め込み横線。 上部の埋め込み横線の単語は太字で、2番目の埋め込み横線の単語は太字ではありません。 代替: オプションで、キーワードを1つ選択します。 太字は、何も選択しない場合のデフォルトを示します。
本線に付いている3つのラダー横線に単語が付いています。 代替: キーワードを1つ選択する必要があります。
コンマが付いた埋め込み式のラダー横線。 任意の長さのカンマ区切りリストを使用できます。
TERMINAL-NAME。 すべて大文字。 単語がこれ以上定義されていません。 「ターミナル」表に表示されている書式の値に置き換えます。
<NON-TERMINAL>。 すべて大文字で、山カッコで囲みます。 文で使用される単語がさらに定義されます。
<NON-TERMINAL>の後に::=記号が続きます。 すべて大文字で、山カッコで囲みます。 文で使用される非ターミナルは、ここで定義されます。

サンプル線路図

次の図は、次の英語の文を解析するバリアント文法を示しています:

"The quick brown fox jumps over the lazy dog."


sample.gifの説明が続きます
「図sample.gifの説明」

(矢印マークの付いた)本線のキーワードと変数は必須です。オプションの文法は(本線の下の)埋め込みです。 単語の垂直スタックは代替を表します。 太字は、単語が選択されていない場合のデフォルトを示します。

例の文法で解析可能な有効な文は次のとおりです:

  • The fox jumps over the dog. 太字は、オプションが入力されていない場合のデフォルト値を示します。したがって、この文のエントリはThe brown fox jumps over the dogとして解釈されます。

  • The quick brown fox jumps over the dog.

  • The red fox jumps over the lazy cat.

  • The quick brown fox jumps onto the tired elephant.