[Cartoon]

CLL 第21章 形式文法

以下の2つの一覧表はロジバンの形式文法を構成する。第1の一覧表は、パーサ(構文解析器)の記述に使われる YACC 言語版で、ロジバン文のパーサを作るために使われてきた。このパーサは LLG (Logical Language Group) から取り寄せ可能だ。第2の一覧表は EBNF (Extended Backus-Naur Form, 拡張バッカス・ナウア記法) で書かれていて、第1の一覧表と同じ文法を、もっと人間が読みやすい形に書き換えたものだ。この2つの一覧表の間に万が一食い違いがある場合には、 YACC 版の方を公式とする。それぞれの形式には、各セルマホと規則との間の相互参照があって、各セルマホをどの規則が参照しているかを示している。

1. ロジバンの YACC 文法

/* ロジバン機械文法、第3ベースライン、1997年1月10日。
元のベースライン 1990年7月20日の版に JC の技術的修正 1-28 を加えたもの。
このドラフトには 1996年12月29日付の変更案 1-47 も加えてある。

ロジバン機械文法ドキュメントは、作者 LLG (The Logical Language Group, Inc.) によって明示的にパブリック・ドメインに捧げられる。
連絡先は 2904 BEAU LANE, FAIRFAX VA 22031 USA
U.S. PHONE: 703-385-0273
INTL PHONE: +1 703 385-0273


grammar.300 */

/* ロジバンの機械構文解析アルゴリズムは多手順過程 (multi-step process, 多段階過程) である。ここに与えられている YACC 機械文法は、複数の手順の合成物であり、 YACC が文法の構文の曖昧性を検証できるように、手順を連鎖させたものだ。 YACC は文法の一部分についてのパーサ(構文解析器)を生成するために使われる。これは LALR1 というパーサであり、うまく識別・処理するように YACC を設計した文法の型である。しかし、文法の残りのほとんどについては、何らかの言語符号化処理 (language-coded processing) を使って解析しないといけない。

手順 1 - 字句解析

音素・強勢・休止から、ロジバンを曖昧性無く単語の流れに分解することができる。発言のどんな機械処理でも、もちろん、発言の流れの中の「非ロジバン的な」不具合を扱う方法を持たなければならない。分解された単語は、ロジバンの音声の綴り方規則を使って、テキスト・ファイルとして表現できる。

以下の手順では、ロジバン文の中に非ロジバン文が存在する可能性を仮定している(適切に範囲を明示した上で)。そのような非ロジバン文は、発言から音声的に減らすことはできないかもしれない。しかし手順 2 によって、音声から起こした文の流れをフィルタに掛けることが可能になる。これによって、そういった非ロジバン文の部分は、適切にその範囲を明示され、識別されるので、構文解析アルゴリズムと干渉しあうことはない。

手順 2 - フィルタリング

最初から最後まで、以下のフィルタリングと字句解析を実行する。コンフリクトする場合は、既定の優先順位に従う。

a. ロジバンの単語「zoi」(セルマホ ZOI に属する)が確認された場合は、その次に現れるロジバンの単語を「非ロジバン文開始の区切り記号」と見なす。この区切り記号としてのロジバン単語の直後には、必ず休止を入れなければならない。そうすることによって、このロジバン単語は、それに続く非ロジバン文と分離される。この区切り記号の後に続く文章は全て、再度「休止 + この区切り記号」が出現するまで、文法上は単一のトークン(本節の文法では anything_699 とラベル付けされる)と見なされる。「非ロジバン文終了の区切り記号」を見出すという処理以外には、この文章内では何も処理する必要が無い。

b. ロジバンの単語「zo」(セルマホ ZO に属する)が確認された場合は、その次に現れるロジバンの単語を any_word_698 とラベル付けされたトークンであると見なし、この単語については、普通の文法上の機能としての字句解析をしない。

c. ロジバンの単語「lo'u」(セルマホ LOhU に属する)が確認された場合は、そのあと、終了の区切り記号「le'u」(セルマホ LEhU に属する)が見つかるまで、上記2つの手順が吸収する「終了の区切り記号」を無視する。この2つの区切り記号に挟まれた文は、単一のトークン any_words_697 として扱われる。

d. 上記の手順で言及されたいろいろな区切り記号も含め、残りの単語を全部、ロジバンのセルマホのカテゴリとして分類する。手順 3 以降の手順では、各単語のセルマホのトークンの型だけが重要だ。

e. 単語「si」(セルマホ SI に属する)が確認された場合は、これ自体と、直前の単語(あるいは、上記の規則によって文章が1つのトークンに凝縮されている場合は、そのトークン)を消去する。

f. 単語「sa」(セルマホ SA に属する)が確認された場合は、 これ自体と、直前の文章を必要なだけ遡ったところまでを消去する。「必要なだけ」というのは、sa の後に続くものが sa の前にあるものと繋がるようにするために必要なだけである。(この規則は形式化しにくいので、いずれ定義し直されるかもしれない。)

g. 単語「su」(セルマホ SU に属する)が確認された場合は、これ自体と、直前の文章全部を、以下のセルマホのどれかに属する単語のトークンが見つかるまで遡り、これらのトークンも含めて消去する: NIhO, LU, TUhE, TO。しかし、話し手が同定されている場合は、 SU が消去する範囲は、その話し手の談話の最初からとなる。ただし、 SU が話し手の談話の最初に現れた場合は全談話の消去になる。つまり、その話し手が既に su 以外の発言をしている場合、会話全体を消去するためには su を2回続けて言う必要がある。

手順 3 - 終了

文章に FAhO が含まれている場合、 FAhO を文章の終了として扱い、これの後に続くものは全て無視する。

手順 4 - 文法に依存しないトークンの吸収

新規に構文解析器に通す際に (In a new pass)、以下のような吸収 (absorption) を実行する(「吸収」とは、次の手順に進むために、文法からそのトークンを取り除き、構文解析完了後、任意で再挿入し、吸収するトークンと共にグループ化することを意味する。)

a. 「何か - (ZEI - 何か) ...」(ZEI は何個でも良い)という形のトークンの列は、セルマホ BRIVLA の単一のトークンに融合される。

b. セルマホ BAhE のトークンは全て、直後のトークンに吸収される。 BAhE のトークンが文章の最後に現れる場合は単独のままにしておく(これはエラーである)。

c. セルマホ BU のトークンは、全て直前のトークンに吸収される。この直前のトークンのラベルをセルマホ BY に替える。

d. セルマホ NAI が UI か CAI のトークンの直後に現れる場合は、 NAI が直前のトークンに吸収される。

e. セルマホ DAhO, FUhO, FUhE, UI, Y, CAI に属するものは全て直前のトークンに吸収される。これらヌル文法トークンは全て、文法上のどの単語の直後に来ても構わない。これらのトークンはその単語の文法上の機能と干渉しないし、文章中の他のトークンの文法上の解釈に、何ら影響を及ぼさない。文章の最初にこれらの(心態)指標が来る場合は、明示的に文法が扱う。

手順 5 - 字句解析語彙素 (Lexer Lexemes) の挿入

ロジバン自体は LALR1 で書かれていない。後続のトークンによって文法上の機能が決まる単語がある。その結果、 YACC 文法の構文解析は2つの手順に分かれる。第1の手順では、定義された文法に従う、あるトークン列が、以下のいずれかとして同定される。

a. 単一の特定の「字句解析トークン (lexer token)」と置き換えられ、手順 6 に進む。

b. 字句解析トークンがそのトークン列の直前に挿入され、これによってトークン列が一意的に同定される。

本書に含まれる YACC 文法は、これらの a, b のうち、どちらが使われる場合でも、手順 6 のパーサの YACC生成が簡単になるように書かれている。字句解析トークンによってラベル付けされたトークン列は、 900 から 1099 までの数でラベル付けされた規則定義語 (rule terminals) の中に見出される。これらの規則は、挿入された字句解析トークンによって定義され、その結果、この言語が、手順1から4が実行された後のオプション b の下で LALR1 であることが証明される。逆に、オプション a が使われた場合、これらの規則はコメント・アウトされ、 800 から 900 までの数でラベル付けされた規則定義語が、トークンを定義する文字列無しの、字句解析トークンだけを参照する。これらのオプションが両立するように、トークンの集合の中で、字句解析トークンの集合が2つ定義される。

この手順の中で、トークン列は、適切な字句解析トークンでラベル付けされなければならない。字句解析トークンを挿入する順番は重要だ。なぜなら、字句解析トークンでラベル付けできる短いトークン列が、長いトークン列の中にあるかもしれないからだ。この場合、もし字句解析トークンが短いトークン列の前に挿入されたり、短いトークン列の代わりに置かれたりすれば、長いトークン列を同定することができない。

オプション a. が選ばれた場合、以下の順番で挿入すれば、正しく動作する(ただし可能な順番はこれ以外にもある): A, C, D, B, U, E, H, I, J, K, M, N, G, O, V, W, F, P, R, T, S, Y, L, Q. この順番によって、最も長い規則が最初に処理されるようになる。例えば PA+MAI は、 MAI が後についているので PA とは見なされない。

手順 6 - YACC 構文解析

以上の手順を経て、 YACC はロジバンの文章の構文解析をすることができる。構文解析の際、オプション 5a を使う場合は 1 から 899 までの数でラベル付けされた規則定義語に従い、オプション 5b を使う場合は 1 から 1099 までの数でラベル付けされた規則定義語に従う。オプション 5a を使った場合は 900 番を越える番号の規則をコメントアウトする。それから、700番台の字句解析トークンをコメントアウトし、900番を越える番号の字句解析トークンを復帰させる。

*/

%token A_501            /* ek類(論理接続); 基本後置型論理接続詞 */
%token BAI_502          /* 法制オペレータ */
%token BAhE_503         /* 次の単語を強調 */
%token BE_504           /* スムティをセルブリに繋げるスムティの繋ぎ目 */
%token BEI_505          /* BE, BEI間の複数のスムティを分離 */
%token BEhO_506         /* BE/BEIで指定された描写の終了 */
%token BIhI_507         /* 区間を表す要素で JOI に属する */
%token BO_508           /* 2つの構成単位を最短の係り範囲で結合 */
%token BRIVLA_509       /* 任意のブリヴラ */
%token BU_511           /* 任意の単語を BY レルフ詞にする */
%token BY_513           /* 個々のレルフ詞 */
%token CAhA_514         /* 間制の現実性/可能性指定 */
%token CAI_515          /* 後置型強度マーカー */
%token CEI_516          /* 代ブリディ割り当てオペレータ */
%token CEhE_517         /* 後置型名辞リスト接続 */
%token CMENE_518        /* 名前; 子音で終わる必要がある。
                                                                その後、LA か DOI セルマホのシマヴォが埋め込まれていない場合は休止。
                                                        母音で始まり母音が先行する場合は単語の前で休止。 */
%token CO_519           /* タンル反転  */
%token COI_520          /* 呼応マーカー。内部に名前が入っても良い; 
                                                                この後には必ず休止か DOI が来る。 */
%token CU_521           /* セルブリと、それに先行するスムティとを分離 */
%token CUhE_522         /* 間制/法制 質問 */
%token DAhO_524         /* 照応 (anaphora) /後方照応 (cataphora) の割り当てを解除 */
%token DOI_525          /* 呼応マーカー */
%token DOhU_526         /* DOI マーカーが付いた呼応の終端詞 */
%token FA_527           /* 語の前に置いて場所構造の場所を指定するタグ */
%token FAhA_528         /* 空間内の超方向 (superdirections) */
%token FAhO_529         /* 発話列終了を示す「終了休止」で、普通は省略可能 */
%token FEhE_530         /* 空間間隔への変更フラグ */
%token FEhU_531         /* ブリディから法制への転換終了 */
%token FIhO_532         /* ブリディから法制への転換マーカー */
%token FOI_533          /* 合成レルフ終了 */
%token FUhE_535         /* 心態指標の長い係り範囲開始 */
%token FUhO_536         /* 心態指標の長い係り範囲終了*/
%token GA_537           /* gek類 (論理接続); 前置型論理接続 */
%token GEhU_538         /* GOI 関係節終了マーカー */
%token GI_539           /* 前置型の中間マーカー */
%token GIhA_541         /* ブリディ末端の論理接続 */
%token GOI_542          /* スムティ修飾語句をスムティに繋げる */
%token GOhA_543         /* 代ブリディ */
%token GUhA_544         /* タンル単位のGEKで、JEK類に対応する */
%token I_545            /* 文の繋ぎ目 */
%token JA_546           /* jek類 (論理接続); タンル内論理接続 */
%token JAI_547          /* 法制転換フラグ */
%token JOI_548          /* 非論理接続 */
%token KEhE_550         /* KE グループの右終端詞 */
%token KE_551           /* 左に付く長い係り範囲のマーカー */
%token KEI_552          /* NU 抽象の右終端詞 */
%token KI_554           /* 間制が複数の発話に係る範囲 */
%token KOhA_555         /* スムティ照応 */
%token KU_556           /* 描写などの右終端詞 */
%token KUhO_557         /* NOI 関係節の右終端詞 */
%token LA_558           /* 名前描写の冠詞 */
%token LAU_559          /* レルフ接頭辞 */
%token LAhE_561         /* スムティ限定詞 */
%token LE_562           /* スムティ描写型冠詞 */
%token LEhU_565         /* 文法的に正しくない可能性のある文章の右引用符 */
%token LI_566           /* 数量をスムティに転換 */
%token LIhU_567         /* 文法的に正しい文の右引用符 */
%token LOhO_568         /* LIの省略可能な終端詞 */
%token LOhU_569         /* 文法的に正しくない可能性のある文章の左引用符 */
%token LU_571           /* 文法的に正しい文の左引用符 */
%token LUhU_573         /* LAhE を閉じる境界 */
%token ME_574           /* スムティをタンルの構成単位に転換 */
%token MEhU_575         /* ME の終端詞 */
%token MOhI_577         /* 移動間制マーカー */
%token NA_578           /* ブリディ否定  */
%token NAI_581          /* 単語に付いて、それを否定 */
%token NAhE_583         /* 段階否定  */
%token NIhO_584         /* 新段落; 主題変更 */
%token NOI_585          /* スムティに従属節を繋ぐ */
%token NU_586           /* 抽象  */
%token NUhI_587         /* 名辞組開始マーカー */
%token NUhU_588         /* 名辞組中間と終了のマーカー */
%token PEhE_591         /* 後置型名辞組接続の接頭辞 */
%token PU_592           /* 時間軸上の向き */
%token RAhO_593         /* GOhI の解釈変更のフラグ */
%token ROI_594          /* 数を外延的な間制に転換 */
%token SA_595           /* 現在の発話の最初の方へ遡るメタ言語的消去 */
%token SE_596           /* 転換 */
%token SEI_597          /* メタ言語的ブリディ挿入のマーカー */
%token SEhU_598         /* メタ言語的ブリディ終了のマーカー */
%token SI_601           /* 単一の語のメタ言語的消去 */
%token SOI_602          /* 相互スムティのマーカー */
%token SU_603           /* 全文章のメタ言語的消去 */
%token TAhE_604         /* 間隔性の間制 */
%token TEI_605          /* 合成レルフ開始 */
%token TO_606           /* 談話の左括弧 */
%token TOI_607          /* 談話の右括弧 */
%token TUhE_610         /* 複数になるマーカー */
%token TUhU_611         /* 複数の発話の係り範囲終了のマーカー */
%token UI_612           /* 心態詞、観察系、談話系 */
%token VA_613           /* 時空における距離 */
%token VAU_614          /* 単純なブリディやブリディ末端の終了 */
%token VEhA_615         /* 時空における間隔の大きさ */
%token VIhA_616         /* 時空の次元のマーカー */
%token VUhO_617         /* 論理接続されたスムティと関係節とを結びつけるグルー */
%token XI_618           /* 添字オペレータ */
%token Y_619            /* ためらい */
%token ZAhO_621         /* 事象の性質 - 起動相など */
%token ZEhA_622         /* 時間隔の大きさを表す間制 */
%token ZEI_623          /* ルジヴォ接着 */
%token ZI_624           /* 時間軸方向の長さを表す間制 */
%token ZIhE_625         /* 関係節どうしを結合 */
%token ZO_626           /* 単一の語のメタ言語的引用マーカー */
%token ZOI_627          /* 引用区切り記号のマーカー */
%token ZOhU_628         /* 冠頭(題目部)終端詞 (省略できない) */

%token BIhE_650         /* 優先順位の高い MEX 演算子の接頭辞 */
%token BOI_651          /* 数字列やレルフ列の終端詞 */
%token FUhA_655         /* 逆ポーランド記法のフラグ */
%token GAhO_656         /* BIhIの区間開始/終了のマーカー */
%token JOhI_657         /* 行列型被演算子のフラグ */
%token KUhE_658         /* MEX 前置型区切り記号 */
%token MAI_661          /* 数を発話順序に変える */
%token MAhO_662         /* MEX 式を MEX 演算子に変える */
%token MOI_663          /* 数をセルブリに変える */
%token MOhE_664         /* スムティを被演算子に変える、 LI の逆 */
%token NAhU_665         /* セルブリを演算子に変える */
%token NIhE_666         /* セルブリを被演算子に変える; MOI の逆 */
%token NUhA_667         /* 演算子をセルブリに変える; MOhE の逆 */
%token PA_672           /* 数と数区切り */
%token PEhO_673         /* 前置型(ポーランド記法)のフラグ */
%token TEhU_675         /* MEX 構成終了 */
%token VEI_677          /* MEX 左括弧 */
%token VEhO_678         /* MEX 右括弧 */
%token VUhU_679         /* MEX 演算子 */

%token any_words_697    /* 字句解析可能なロジバン単語の列 */
%token any_word_698     /* 字句解析可能な単一のロジバン単語 */
%token anything_699     /* 字句解析不能である可能性がある音素列 */


/* 以下のトークンは実際の字句解析トークンだ。
 _900 番台のトークンは、文法全体の文脈で、字句解析規則 (lexer rules) の制限付きテストができるようにするために複製されたものだ。
これらは実際のパーサで使われ、 900 番台の規則はその字句解析器の中にある。 */

%token lexer_A_701      /* MAI 発話順序に付くフラグ */
%token lexer_B_702      /* EK_BO, EK_KE 以外の EK に付くフラグ */
%token lexer_C_703      /* EK_BO に付くフラグ */
%token lexer_D_704      /* EK_KE に付くフラグ */
%token lexer_E_705      /* JEK に付くフラグ */
%token lexer_F_706      /* JOIK に付くフラグ */
%token lexer_G_707      /* GEK に付くフラグ */
%token lexer_H_708      /* GUhEK に付くフラグ */
%token lexer_I_709      /* NAhE_BO に付くフラグ */
%token lexer_J_710      /* NA_KU に付くフラグ */
%token lexer_K_711      /* I_BO に付くフラグ (オプション。 JOIK/JEK 字句解析子タグ)  */
%token lexer_L_712      /* PA に付くフラグ、 MAI を除く。(MAI なら字句解析子 A) */
%token lexer_M_713      /* GIhEK_BO に付くフラグ */
%token lexer_N_714      /* GIhEK_KE に付くフラグ */
%token lexer_O_715      /* 法制オペレータ か BAI か その合成に付くフラグ */
%token lexer_P_716      /* GIK に付くフラグ */
%token lexer_Q_717      /* lerfu_string に付くフラグ、 MAI を除く。(MAI なら字句解析子 A) */
%token lexer_R_718      /* GIhEK に付くフラグ、 BO や KE を除く。 */
%token lexer_S_719      /* 単なる I に付くフラグ */
%token lexer_T_720      /* I_JEK に付くフラグ */
%token lexer_U_721      /* JEK_BO に付くフラグ */
%token lexer_V_722      /* JOIK_BO に付くフラグ */
%token lexer_W_723      /* JOIK_KE に付くフラグ */
/* %token lexer_X_724   /* ヌル */
%token lexer_Y_725      /* PA_MOI のフラグ */


/* %token lexer_A_905    /* :  lexer_A_701  utt_ordinal_root_906 */
/* %token lexer_B_910    /* :  lexer_B_702  EK_root_911 */
/* %token lexer_C_915    /* :  lexer_C_703  EK_root_911  BO_508 */
/* %token lexer_D_916    /* :  lexer_D_704  EK_root_911  KE_551 */
/* %token lexer_E_925    /* :  lexer_E_705  JEK_root_926 */
/* %token lexer_F_930    /* :  lexer_F_706  JOIK_root_931 */
/* %token lexer_G_935    /* :  lexer_G_707  GA_537 */
/* %token lexer_H_940    /* :  lexer_H_708  GUhA_544 */
/* %token lexer_I_945    /* :  lexer_I_709  NAhE_583  BO_508 */
/* %token lexer_J_950    /* :  lexer_J_710  NA_578  KU_556 */
/* %token lexer_K_955    /* :  lexer_K_711  I_432  BO_508 */
/* %token lexer_L_960    /* :  lexer_L_712  number_root_961 */
/* %token lexer_M_965    /* :  lexer_M_713  GIhEK_root_991  BO_508 */
/* %token lexer_N_966    /* :  lexer_N_714  GIhEK_root_991  KE_551 */
/* %token lexer_O_970    /* :  lexer_O_715  simple_tense_modal_972 */
/* %token lexer_P_980    /* :  lexer_P_716  GIK_root_981 */
/* %token lexer_Q_985    /* :  lexer_Q_717  lerfu_string_root_986 */
/* %token lexer_R_990    /* :  lexer_R_718  GIhEK_root_991 */
/* %token lexer_S_995    /* :  lexer_S_719  I_545 */
/* %token lexer_T_1000   /* :  lexer_T_720  I_545  simple_JOIK_JEK_957 */
/* %token lexer_U_1005   /* :  lexer_U_721  JEK_root_926  BO_508 */
/* %token lexer_V_1010   /* :  lexer_V_722  JOIK_root_931  BO_508 */
/* %token lexer_W_1015   /* :  lexer_W_723  JOIK_root_931  KE_551 */
/* %token lexer_X_1020   /* ヌル */
/* %token lexer_Y_1025   /* :  lexer_Y_725  number_root_961  MOI_663 */


%start text_0

%%

text_0                  :  text_A_1
                        |  indicators_411  text_A_1
                        |  free_modifier_32  text_A_1
                        |  cmene_404  text_A_1
                        |  indicators_411  free_modifier_32  text_A_1
                        |  NAI_581  text_0
                        ;

text_A_1                :  JOIK_JEK_422  text_B_2
                        /* 不完全な JOIK_JEK で、 先行する I が無いもの */
                        /* 参照: paragraph_10の注 */
                        |  text_B_2
                        ;

text_B_2                :  I_819  text_B_2
                        |  I_JEK_820  text_B_2
                        |  I_BO_811  text_B_2
                        |  para_mark_410  text_C_3
                        |  text_C_3
                        ;

text_C_3                :  paragraphs_4
   /* 特定のセルマホが続く以下の指標は生き残る:
    シメネ, TOI_607, LU_571, lexer_K, lexer_S I_roots およびその合成, text(_0) の開始。
   それ以外の有効な字句解析子は吸収される。
   指標を付けることによって潜在的な曖昧性が生じる記号列は、 NAI を含む指標だけだ。
   指標を、トークンとそれを否定する NAI との間に挿入することはできない。
   さもないと、その指標が否定されているのか、元のトークンが否定されているのか、分からなくなる。 */
                        |  /* 空 */
  /* 空の文は合法だ。
  空の文は、以前は FAhO_529 を明示することによって扱われたが、今では前パーサに吸収される。 */
                        ;


paragraphs_4            :  paragraph_10
                        |  paragraph_10  para_mark_410  paragraphs_4
                        ;

paragraph_10            :  statement_11
                        |  fragment_20
                        |  paragraph_10  I_819  statement_11
                        |  paragraph_10  I_819  fragment_20
                        |  paragraph_10  I_819
                        /* これによって、1つの文が誤った始まり方をしないようにする。
                        また、接続詞質問の回答として、 I の後に不完全な JOIK_JEK が来ることを許す。 */
                        ;

statement_11            :  statement_A_12
                        |  prenex_30  statement_11
                        ;

statement_A_12          :  statement_B_13
                        |  statement_A_12  I_JEK_820  statement_B_13
                        |  statement_A_12  I_JEK_820
                        ;

statement_B_13          :  statement_C_14
                        |  statement_C_14  I_BO_811  statement_B_13
                        |  statement_C_14  I_BO_811
                        ;

statement_C_14          :  sentence_40
                        |  TUhE_447  text_B_2  TUhU_gap_454
                        |  tag_491  TUhE_447  text_B_2  TUhU_gap_454
                        ;


fragment_20             :  EK_802
                        |  NA_445
                        |  GIhEK_818
                        |  quantifier_300
                        |  terms_80  VAU_gap_456        /* ma に対する回答 */
                        /* mod_head_490gap_450VAU_gap_456
                           の両方を必要とするが、これを達成するのに、特別な規則は必要ない。 */
                        |  relative_clauses_121
                        |  links_161
                        |  linkargs_160
                        |  prenex_30
                        ;


prenex_30               :  terms_80  ZOhU_492
                        ;

free_modifier_32        :  free_modifier_A_33
                        |  free_modifier_A_33  free_modifier_32
                        ;

free_modifier_A_33      :  vocative_35
                        |  parenthetical_36
                        |  discursive_bridi_34
                        |  subscript_486
                        |  utterance_ordinal_801
                        ;

discursive_bridi_34     :  SEI_440  selbri_130  SEhU_gap_459
                        |  SOI_498  sumti_90  SEhU_gap_459
                        |  SOI_498  sumti_90  sumti_90  SEhU_gap_459
                        |  SEI_440  terms_80  front_gap_451
                                  selbri_130  SEhU_gap_459
                        |  SEI_440  terms_80  selbri_130  SEhU_gap_459
                        ;

vocative_35             :  DOI_415  selbri_130  DOhU_gap_457
                        |  DOI_415  selbri_130
                                  relative_clauses_121  DOhU_gap_457
                        |  DOI_415  relative_clauses_121
                                  selbri_130  DOhU_gap_457
                        |  DOI_415  relative_clauses_121
                                  selbri_130  relative_clauses_121  DOhU_gap_457
                        |  DOI_415  cmene_404  DOhU_gap_457
                        |  DOI_415  cmene_404
                                  relative_clauses_121  DOhU_gap_457
                        |  DOI_415  relative_clauses_121  cmene_404
                                 DOhU_gap_457
                        |  DOI_415  relative_clauses_121  cmene_404
                                  relative_clauses_121  DOhU_gap_457
                        |  DOI_415  sumti_90  DOhU_gap_457
                        |  DOI_415  DOhU_gap_457
                        ;

parenthetical_36        :  TO_606  text_0  TOI_gap_468
                        ;


sentence_40             :  bridi_tail_50  /* 剥き出しの観察文、あるいは mo に対する回答 */
                        |  terms_80  front_gap_451  bridi_tail_50
                        |  terms_80  bridi_tail_50
                        ;

subsentence_41          :  sentence_40
                        |  prenex_30  subsentence_41
                        ;


bridi_tail_50           :  bridi_tail_A_51
                        |  bridi_tail_A_51  GIhEK_KE_814  bridi_tail_50
                                  KEhE_gap_466  tail_terms_71
                        ;

bridi_tail_A_51         :  bridi_tail_B_52
                        |  bridi_tail_A_51  GIhEK_818  bridi_tail_B_52
                           tail_terms_71
                        ;

bridi_tail_B_52         :  bridi_tail_C_53
                        |  bridi_tail_C_53  GIhEK_BO_813  bridi_tail_B_52
                           tail_terms_71
                        ;

bridi_tail_C_53         :  gek_sentence_54
                        |  selbri_130  tail_terms_71
                        ;

gek_sentence_54         :  GEK_807  subsentence_41
                                GIK_816  subsentence_41  tail_terms_71
                        |  tag_491  KE_493  gek_sentence_54  KEhE_gap_466
                        |  NA_445  gek_sentence_54
                        ;

tail_terms_71           :  terms_80  VAU_gap_456
                        |  VAU_gap_456
                        ;


terms_80                :  terms_A_81
                        |  terms_80  terms_A_81
                        ;

terms_A_81              :  terms_B_82
                        |  terms_A_81  PEhE_494  JOIK_JEK_422  terms_B_82
                        ;

terms_B_82              :  term_83
                        |  terms_B_82  CEhE_495  term_83
                        ;

term_83                 :  sumti_90
                        |  modifier_84
                        |  term_set_85
                        |  NA_KU_810
                        ;

modifier_84             :  mod_head_490  gap_450
                        |  mod_head_490  sumti_90
                        ;

term_set_85             :  NUhI_496  terms_80  NUhU_gap_460
                        |  NUhI_496  GEK_807  terms_80  NUhU_gap_460
                                GIK_816  terms_80  NUhU_gap_460
                        ;


sumti_90                :  sumti_A_91
                        |  sumti_A_91  VUhO_497  relative_clauses_121
                        ;

sumti_A_91              :  sumti_B_92
                        |  sumti_B_92  EK_KE_804  sumti_90  KEhE_gap_466
                        |  sumti_B_92  JOIK_KE_823  sumti_90  KEhE_gap_466
                        ;

sumti_B_92              :  sumti_C_93
                        |  sumti_B_92  JOIK_EK_421  sumti_C_93
                        ;

sumti_C_93              :  sumti_D_94
                        |  sumti_D_94  EK_BO_803  sumti_C_93
                        |  sumti_D_94  JOIK_BO_822  sumti_C_93
                        ;

sumti_D_94              :  sumti_E_95
                        |  GEK_807  sumti_90  GIK_816  sumti_D_94
                        ;

sumti_E_95              :  sumti_F_96
                        |  sumti_F_96  relative_clauses_121
                           /* 不定スムティ */
                        |  quantifier_300  selbri_130  gap_450
                        |  quantifier_300  selbri_130
                                gap_450  relative_clauses_121
                        ;

sumti_F_96              :  sumti_G_97
                           /* 外部量化スムティ */
                        |  quantifier_300  sumti_G_97
                        ;

sumti_G_97              :  qualifier_483  sumti_90  LUhU_gap_463
                        |  qualifier_483  relative_clauses_121
                                sumti_90  LUhU_gap_463
                           /*スムティのグループ化, 集合/群れ/個の転換; スムティの段階否定も */
                        |  anaphora_400
                        |  LA_499  cmene_404
                        |  LA_499  relative_clauses_121  cmene_404
                        |  LI_489  MEX_310  LOhO_gap_472
                        |  description_110
                        |  quote_arg_432
                        ;



description_110         :  LA_499  sumti_tail_111  gap_450
                        |  LE_488  sumti_tail_111  gap_450
                        ;

sumti_tail_111          :  sumti_tail_A_112
                           /* 内部量化スムティの関係節 */
                        |  relative_clauses_121  sumti_tail_A_112
                           /* 擬似所有
                              (短縮された内部限定);
                              スムティは量化できない。 */
                        |  sumti_G_97  sumti_tail_A_112
                           /* 外部限定を伴う擬似所有 */
                        |  sumti_G_97  relative_clauses_121  sumti_tail_A_112
                        ;

sumti_tail_A_112        :  selbri_130
                        |  selbri_130  relative_clauses_121
                           /* 明示された内部数量詞 */
                        |  quantifier_300  selbri_130
                           /* 内部から描写に対する量化をする数量詞と、外部からスムティへの量化をして特定化する数量詞。 */
                        |  quantifier_300  selbri_130  relative_clauses_121
                        |  quantifier_300  sumti_90
                        ;

relative_clauses_121    :  relative_clause_122
                        |  relative_clauses_121  ZIhE_487  relative_clause_122
                        ;

relative_clause_122     :  GOI_485  term_83  GEhU_gap_464
                        |  NOI_484  subsentence_41  KUhO_gap_469
                        ;


selbri_130              :  tag_491  selbri_A_131
                        |  selbri_A_131
                        ;

selbri_A_131            :  selbri_B_132
                        |  NA_445  selbri_130
                        ;

selbri_B_132            :  selbri_C_133
                        |  selbri_C_133  CO_443  selbri_B_132
                        ;

selbri_C_133            :  selbri_D_134
                        |  selbri_C_133  selbri_D_134
                        ;

selbri_D_134            :  selbri_E_135
                        |  selbri_D_134  JOIK_JEK_422  selbri_E_135
                        |  selbri_D_134  JOIK_KE_823  selbri_C_133
                                KEhE_gap_466
                        ;

selbri_E_135            :  selbri_F_136
                        |  selbri_F_136  JEK_BO_821  selbri_E_135
                        |  selbri_F_136  JOIK_BO_822  selbri_E_135
                        ;

selbri_F_136            :  tanru_unit_150
                        |  tanru_unit_150  BO_479  selbri_F_136
                        |  GUhEK_selbri_137
                        |  NAhE_482  GUhEK_selbri_137
                        ;

GUhEK_selbri_137        :  GUhEK_808  selbri_130  GIK_816  selbri_F_136
                        ;


tanru_unit_150          :  tanru_unit_A_151
                        |  tanru_unit_150  CEI_444  tanru_unit_A_151
                        ;


tanru_unit_A_151        :  tanru_unit_B_152
                        |  tanru_unit_B_152  linkargs_160
                        ;

tanru_unit_B_152        :  bridi_valsi_407
                        |  KE_493  selbri_C_133  KEhE_gap_466
                        |  SE_480  tanru_unit_B_152
                        |  JAI_478  tag_491  tanru_unit_B_152
                        |  JAI_478  tanru_unit_B_152
                        |  ME_477  sumti_90  MEhU_gap_465
                        |  ME_477  sumti_90  MEhU_gap_465  MOI_476
                        |  NUhA_475  MEX_operator_374
                        |  NAhE_482  tanru_unit_B_152
                        |  NU_425  subsentence_41  KEI_gap_453
                        ;


linkargs_160            :  BE_446  term_83  BEhO_gap_467
                        |  BE_446  term_83  links_161  BEhO_gap_467
                        ;

links_161               :  BEI_442  term_83
                        |  BEI_442  term_83  links_161
                        ;


/*  MEX の主要な開始点 (entry point)。数字1個以外は、全て括弧内に入れなければならない。   */

quantifier_300          :  number_812  BOI_gap_461
                        |  left_bracket_470  MEX_310  right_bracket_gap_471
                        ;



/*  LI の後に使われる MEX の開始点 (Entry point)。
括弧は不要だが、 LI には省略可能な終端詞がある。
(これによって、「式 a + b」と「式 (a + b)」の違いを表すことができる。)   */

/*  この規則は左結合の中置型の式と、逆ポーランド記法の式の土台となる。
中置型で単項を扱う場合は、ヌル被演算子を使う。
中置型で3個以上の被演算子(どういう意味であれ)を扱う場合は、追加の演算子か、行列型被演算子を使う。   */

MEX_310                 :  MEX_A_311
                        |  MEX_310  operator_370  MEX_A_311
                        |  FUhA_441  rp_expression_330
                        ;

/*  BIhE による短い係り範囲の右グループ化の中置型の式の土台。  */

MEX_A_311               :  MEX_B_312
                        |  MEX_B_312  BIhE_439  operator_370  MEX_A_311
                        ;

/*  前置型(ポーランド)記法の式のための土台。
これらの式は前置型フラグで始まり、次に演算子、その次に項が来る。  */

MEX_B_312               :  operand_381
                        |  operator_370  MEX_C_313  MEX_gap_452
                        |  PEhO_438  operator_370  MEX_C_313  MEX_gap_452
                        ;

MEX_C_313               :  MEX_B_312
                        |  MEX_C_313  MEX_B_312
                        ;


/*  逆ポーランド記法の演算子には、常にちょうど2個の被演算子がある。
    被演算子1個だけを扱いたい場合は、ヌル被演算子を使う。
    被演算子を3個以上使いたい場合は、ヌル演算子を使う。  */

rp_expression_330       :  rp_operand_332  rp_operand_332  operator_370
                        ;


rp_operand_332          :  operand_381
                        |  rp_expression_330
                        ;


/*  演算子を論理接続しても良い。 */

operator_370            :  operator_A_371
                        |  operator_370  JOIK_JEK_422  operator_A_371
                        |  operator_370  JOIK_KE_823  operator_370
                                KEhE_gap_466
                        ;

operator_A_371          :  operator_B_372
                        |  GUhEK_808  operator_A_371  GIK_816  operator_B_372
                        |  operator_B_372  JOIK_BO_822  operator_A_371
                        |  operator_B_372  JEK_BO_821  operator_A_371
                        ;

operator_B_372          :  MEX_operator_374
                        |  KE_493  operator_370  KEhE_gap_466
                        ;

MEX_operator_374        :  VUhU_679
                        |  VUhU_679  free_modifier_32
                        |  SE_480  MEX_operator_374
   /* 項の順番を変える */
                        |  NAhE_482  MEX_operator_374
   /* 段階否定 */
                        |  MAhO_430  MEX_310  TEhU_gap_473
                        |  NAhU_429  selbri_130  TEhU_gap_473
                        ;


operand_381             :  operand_A_382
                        |  operand_A_382  EK_KE_804  operand_381  KEhE_gap_466
                        |  operand_A_382  JOIK_KE_823  operand_381  KEhE_gap_466
                        ;

operand_A_382           :  operand_B_383
                        |  operand_A_382  JOIK_EK_421  operand_B_383
                        ;

operand_B_383           :  operand_C_385
                        |  operand_C_385  EK_BO_803  operand_B_383
                        |  operand_C_385  JOIK_BO_822  operand_B_383
                        ;

operand_C_385           :  quantifier_300
                        |  lerfu_string_817  BOI_gap_461
   /* 被演算子としてのレルフ列 - 古典的な数学の変数 */
                        |  NIhE_428  selbri_130  TEhU_gap_473
   /* ブリディの被演算子化 - MOI の逆 */
                        |  MOhE_427  sumti_90  TEhU_gap_473
   /* スムティの被演算子化 - LI の逆 */
                        |  JOhI_431  MEX_C_313  TEhU_gap_473
                        |  GEK_807  operand_381  GIK_816  operand_C_385
                        |  qualifier_483  operand_381  LUhU_gap_463
                        ;


/* _400 シリーズの構成はほとんど特定の記号列で、それらの記号列のいくつかは字句解析器に使われることもある。
字句解析器は、_400番より小さい番号の付いた定義語を参照してはいけない。
なぜなら、それらは、セルマホの非・決定論的な記号列に基づいて構成された文法を持つからだ。
400番より大きい番号にも、いくつかそういうものがあるから、注意すべきだ。
特に free_modifier_32 を参照するトークンが、まさにそういうものだ。  */


anaphora_400            :  KOhA_555
                        |  KOhA_555  free_modifier_32
                        |  lerfu_string_817  BOI_gap_461
                        ;


cmene_404               :  cmene_A_405
                        |  cmene_A_405  free_modifier_32
                        ;

cmene_A_405             :  CMENE_518  /* 休止 */
                        |  cmene_A_405  CMENE_518  /* 休止 */
/* 複合 CMENE は形態から特定される(字句解析器によって) -- 子音 & 休止 によって分離される。 */
                        ;


bridi_valsi_407         :  bridi_valsi_A_408
                        |  bridi_valsi_A_408  free_modifier_32
                        ;

bridi_valsi_A_408       :  BRIVLA_509
                        |  PA_MOI_824
                        |  GOhA_543
                        |  GOhA_543  RAhO_593
                        ;

para_mark_410           :  NIhO_584
                        |  NIhO_584  free_modifier_32
                        |  NIhO_584  para_mark_410
                        ;


indicators_411          :  indicators_A_412
                        |  FUhE_535  indicators_A_412
                        ;

indicators_A_412        :  indicator_413
                        |  indicators_A_412  indicator_413
                        ;

indicator_413           :  UI_612
                        |  CAI_515
                        |  UI_612  NAI_581
                        |  CAI_515  NAI_581
                        |  Y_619
                        |  DAhO_524
                        |  FUhO_536
                        ;

DOI_415                 :  DOI_525
                        |  COI_416
                        |  COI_416  DOI_525
                        ;

COI_416                 :  COI_A_417
                        |  COI_416  COI_A_417
                        ;

COI_A_417               :  COI_520
                        |  COI_520  NAI_581
                        ;


JOIK_EK_421             :  EK_802
                        |  JOIK_806
                        |  JOIK_806  free_modifier_32
                        ;

JOIK_JEK_422            :  JOIK_806
                        |  JOIK_806  free_modifier_32
                        |  JEK_805
                        |  JEK_805  free_modifier_32
                        ;


XI_424                  :  XI_618
                        |  XI_618  free_modifier_32
                        ;

NU_425                  :  NU_A_426
                        |  NU_425  JOIK_JEK_422  NU_A_426
                        ;

NU_A_426                :  NU_586
                        |  NU_586  NAI_581
                        |  NU_586  free_modifier_32
                        |  NU_586  NAI_581  free_modifier_32
                        ;

MOhE_427                :  MOhE_664
                        |  MOhE_664  free_modifier_32
                        ;

NIhE_428                :  NIhE_666
                        |  NIhE_666  free_modifier_32
                        ;

NAhU_429                :  NAhU_665
                        |  NAhU_665  free_modifier_32
                        ;

MAhO_430                :  MAhO_662
                        |  MAhO_662  free_modifier_32
                        ;

JOhI_431                :  JOhI_657
                        |  JOhI_657  free_modifier_32
                        ;

quote_arg_432           :  quote_arg_A_433
                        |  quote_arg_A_433  free_modifier_32
                        ;

quote_arg_A_433         :  ZOI_quote_434
                        |  ZO_quote_435
                        |  LOhU_quote_436
                        |  LU_571  text_0  LIhU_gap_448
                        ;

/* The quoted material in the following three 定義語terminals must be identified by
   the lexer, but no additional lexer processing is needed. */

ZOI_quote_434           :  ZOI_627  any_word_698
                                  /*pause*/  anything_699  /*pause*/  any_word_698
                        ;

/* ’pause’ is morphemic, represented by ’.’ The lexer assembles anything_699 */

ZO_quote_435            :  ZO_626  any_word_698
                        ;

/* ’word’ may not be a compound; but it can be any valid Lojban selma'o value,
   including ZO, ZOI, SI, SA, SU. The preparser will not lex the word per its
   normal selma'o. */

LOhU_quote_436          :  LOhU_569  any_words_697  LEhU_565
                        ;

/* ’words’ may be any Lojban words, with no claim of grammaticality; the
   preparser will not lex the individual words per their normal selma'o;
   used to quote ungrammatical Lojban, equivalent to the * or ? writing
   convention for such text.  */

/* The preparser needs one bit of sophistication for this rule.  A
   quoted string should be able to contain other quoted strings - this is
   only a problem for a LOhU quote itself, since the LEhU clossing this
   quote would otherwise close the outer quotes, which is incorrect.  For
   this purpose, we will cheat on the use of ZO in such a quote (since this
   is ungrammatical text, it is a sign ignored by the parser).  Use ZO to
   mark any nested quotation LOhU.  The preparser then will absorb it by
   the ZO rule, before testing for LOhU.  This is obviously not the
   standard usage for ZO, which would otherwise cause the result to be a
   sumti.  But, since the result will be part of an unparsed string anyway,
   it doesn’t matter.  */

/* It may be seen that any of the ZO/ZOI/LOhU trio of quotation markers
   may contain the powerful metalinguistic erasers.  Since these quotations
   are not parsed internally, these オペレータ are ignored within the quote.
   To erase a ZO, then, two SI’s are needed after giving a quoted word of
   any type.  ZOI takes four SI’s, with the ENTIRE BODY OF THE QUOTE
   treated as a single ’word’ since it is one selma'o.  Thus one for the
   quote body, two for the single word delimiters, and one for the ZOI.  In
   LOhU, the entire body is treated as a single word, so three SI’s can
   erase it.  */

/* All rule terminator names with ’gap’ in them are potentially
   elidable, where such elision does not cause an ambiguity.  This is
   implemented through use of the YACC ’error’ token, which effectively
   recovers from an elision.  */

FIhO_437                :  FIhO_532
                        |  FIhO_532  free_modifier_32
                        ;

PEhO_438                :  PEhO_673
                        |  PEhO_673  free_modifier_32
                        ;

BIhE_439                :  BIhE_650
                        |  BIhE_650  free_modifier_32
                        ;

SEI_440                 :  SEI_597
                        |  SEI_597  free_modifier_32
                        ;

FUhA_441                :  FUhA_655
                        |  FUhA_655  free_modifier_32
                        ;

BEI_442                 :  BEI_505
                        |  BEI_505  free_modifier_32
                        ;

CO_443                  :  CO_519
                        |  CO_519  free_modifier_32
                        ;

CEI_444                 :  CEI_516
                        |  CEI_516  free_modifier_32
                        ;

NA_445                  :  NA_578
                        |  NA_578  free_modifier_32
                        ;

BE_446                  :  BE_504
                        |  BE_504  free_modifier_32
                        ;

TUhE_447                :  TUhE_610
                        |  TUhE_610  free_modifier_32
                        ;


LIhU_gap_448            :  LIhU_567
                        |  error
                        ;


gap_450                 :  KU_556
                        |  KU_556  free_modifier_32
                        |  error
                        ;

front_gap_451           :  CU_521
                        |  CU_521  free_modifier_32
                        ;

MEX_gap_452             :  KUhE_658
                        |  KUhE_658  free_modifier_32
                        |  error
                        ;

KEI_gap_453             :  KEI_552
                        |  KEI_552  free_modifier_32
                        |  error
                        ;

TUhU_gap_454            :  TUhU_611
                        |  TUhU_611  free_modifier_32
                        |  error
                        ;

VAU_gap_456             :  VAU_614
                        |  VAU_614  free_modifier_32
                        |  error
                        ;

/* redundant to attach a free modifier on the following */

DOhU_gap_457            :  DOhU_526
                        |  error
                        ;

FEhU_gap_458            :  FEhU_531
                        |  FEhU_531  free_modifier_32
                        |  error
                        ;

SEhU_gap_459            :  SEhU_598
                        |  error
/* a free modifier on a discursive should be somewhere within the discursive.
   See SEI_440 */
                        ;

NUhU_gap_460            :  NUhU_588
                        |  NUhU_588  free_modifier_32
                        |  error
                        ;


BOI_gap_461             :  BOI_651
                        |  BOI_651  free_modifier_32
                        |  error
                        ;

sub_gap_462             :  BOI_651
                        |  error
                        ;


LUhU_gap_463            :  LUhU_573
                        |  LUhU_573  free_modifier_32
                        |  error
                        ;


GEhU_gap_464            :  GEhU_538
                        |  GEhU_538  free_modifier_32
                        |  error
                        ;


MEhU_gap_465            :  MEhU_575
                        |  MEhU_575   free_modifier_32
                        |  error
                        ;


KEhE_gap_466            :  KEhE_550
                        |  KEhE_550  free_modifier_32
                        |  error
                        ;


BEhO_gap_467            :  BEhO_506
                        |  BEhO_506  free_modifier_32
                        |  error
                        ;


TOI_gap_468             :  TOI_607
                        |  error
                        ;


KUhO_gap_469            :  KUhO_557
                        |  KUhO_557  free_modifier_32
                        |  error
                        ;


left_bracket_470        :  VEI_677
                        |  VEI_677  free_modifier_32
                        ;

right_bracket_gap_471   :  VEhO_678
                        |  VEhO_678  free_modifier_32
                        |  error
                        ;

LOhO_gap_472            :  LOhO_568
                        |  LOhO_568  free_modifier_32
                        |  error
                        ;

TEhU_gap_473            :  TEhU_675
                        |  TEhU_675  free_modifier_32
                        |  error
                        ;

right_br_no_free_474    :  VEhO_678
                        |  error
                        ;



NUhA_475                :  NUhA_667
                        |  NUhA_667  free_modifier_32
                        ;

MOI_476                 :  MOI_663
                        |  MOI_663  free_modifier_32
                        ;

ME_477                  :  ME_574
                        |  ME_574  free_modifier_32
                        ;

JAI_478                 :  JAI_547
                        |  JAI_547  free_modifier_32
                        ;

BO_479                  :  BO_508
                        |  BO_508  free_modifier_32
                        ;

SE_480                  :  SE_596
                        |  SE_596  free_modifier_32
                        ;


FA_481                  :  FA_527
                        |  FA_527  free_modifier_32
                        ;

NAhE_482                :  NAhE_583
                        |  NAhE_583  free_modifier_32
                        ;

qualifier_483           :  LAhE_561
                        |  LAhE_561  free_modifier_32
                        |  NAhE_BO_809
                        ;

NOI_484                 :  NOI_585
                        |  NOI_585  free_modifier_32
                        ;

GOI_485                 :  GOI_542
                        |  GOI_542  free_modifier_32
                        ;

subscript_486           :  XI_424  number_812  sub_gap_462
                        |  XI_424  left_bracket_470  MEX_310
                                right_br_no_free_474
                        |  XI_424  lerfu_string_817  sub_gap_462
                        ;

ZIhE_487                :  ZIhE_625
                        |  ZIhE_625  free_modifier_32
                        ;

LE_488                  :  LE_562
                        |  LE_562  free_modifier_32
                        ;

LI_489                  :  LI_566
                        |  LI_566  free_modifier_32
                        ;

mod_head_490            :  tag_491
                        |  FA_481
                        ;


tag_491                 :  tense_modal_815
                        |  tag_491  JOIK_JEK_422  tense_modal_815
                        ;

ZOhU_492                :  ZOhU_628
                        |  ZOhU_628  free_modifier_32
                        ;

KE_493                  :  KE_551
                        |  KE_551  free_modifier_32
                        ;

PEhE_494                :  PEhE_591
                        |  PEhE_591  free_modifier_32
                        ;

CEhE_495                :  CEhE_517
                        |  CEhE_517  free_modifier_32
                        ;

NUhI_496                :  NUhI_587
                        |  NUhI_587  free_modifier_32
                        ;

VUhO_497                :  VUhO_617
                        |  VUhO_617  free_modifier_32
                        ;

SOI_498                 :  SOI_602
                        |  SOI_602  free_modifier_32
                        ;

LA_499                  :  LA_558
                        |  LA_558  free_modifier_32
                        ;


utterance_ordinal_801   :  lexer_A_905
                        ;

EK_802                  :  lexer_B_910
                        |  lexer_B_910  free_modifier_32
                        ;

EK_BO_803               :  lexer_C_915
                        |  lexer_C_915  free_modifier_32
                        ;

EK_KE_804               :  lexer_D_916
                        |  lexer_D_916  free_modifier_32
                        ;

JEK_805                 :  lexer_E_925
                        ;

JOIK_806                :  lexer_F_930
                        ;

GEK_807                 :  lexer_G_935
                        |  lexer_G_935  free_modifier_32
                        ;

GUhEK_808               :  lexer_H_940
                        |  lexer_H_940  free_modifier_32
                        ;

NAhE_BO_809             :  lexer_I_945
                        |  lexer_I_945  free_modifier_32
                        ;

NA_KU_810               :  lexer_J_950
                        |  lexer_J_950  free_modifier_32
                        ;

I_BO_811                :  lexer_K_955
                        |  lexer_K_955  free_modifier_32
                        ;

number_812              :  lexer_L_960
                        ;

GIhEK_BO_813            :  lexer_M_965
                        |  lexer_M_965  free_modifier_32
                        ;

GIhEK_KE_814            :  lexer_N_966
                        |  lexer_N_966  free_modifier_32
                        ;

tense_modal_815         :  lexer_O_970
                        |  lexer_O_970  free_modifier_32
                        |  FIhO_437  selbri_130  FEhU_gap_458
                        ;

GIK_816                 :  lexer_P_980
                        |  lexer_P_980  free_modifier_32
                        ;


lerfu_string_817        :  lexer_Q_985
                        ;

GIhEK_818               :  lexer_R_990
                        |  lexer_R_990  free_modifier_32
                        ;

I_819                   :  lexer_S_995
                        |  lexer_S_995  free_modifier_32
                        ;

I_JEK_820               :  lexer_T_1000
                        |  lexer_T_1000  free_modifier_32
                        ;

JEK_BO_821              :  lexer_U_1005
                        |  lexer_U_1005  free_modifier_32
                        ;

JOIK_BO_822             :  lexer_V_1010
                        |  lexer_V_1010  free_modifier_32
                        ;

JOIK_KE_823             :  lexer_W_1015
                        |  lexer_W_1015  free_modifier_32
                        ;

PA_MOI_824              :  lexer_Y_1025
                        ;


/* The following rules are used only in lexer processing.  They have been
   tested for ambiguity at various levels in the YACC grammar, but are in
   the recursive descent lexer in the current parser.  The lexer inserts
   the lexer tokens before the processed strings, but leaves the original
   tokens.  */

lexer_A_905             :  lexer_A_701  utt_ordinal_root_906
                        ;

utt_ordinal_root_906    :  lerfu_string_root_986  MAI_661
                        |  number_root_961  MAI_661
                        ;


lexer_B_910             :  lexer_B_702  EK_root_911
                        ;

EK_root_911             :  A_501
                        |  SE_596  A_501
                        |  NA_578  A_501
                        |  A_501  NAI_581
                        |  SE_596  A_501  NAI_581
                        |  NA_578  A_501  NAI_581
                        |  NA_578  SE_596  A_501
                        |  NA_578  SE_596  A_501  NAI_581
                        ;


lexer_C_915             :  lexer_C_703  EK_root_911  BO_508
                        |  lexer_C_703  EK_root_911  simple_tag_971  BO_508
                        ;


lexer_D_916             :  lexer_D_704  EK_root_911  KE_551
                        |  lexer_D_704  EK_root_911  simple_tag_971  KE_551
                        ;


lexer_E_925             :  lexer_E_705  JEK_root_926
                        ;

JEK_root_926            :  JA_546
                        |  JA_546  NAI_581
                        |  NA_578  JA_546
                        |  NA_578  JA_546  NAI_581
                        |  SE_596  JA_546
                        |  SE_596  JA_546  NAI_581
                        |  NA_578  SE_596  JA_546
                        |  NA_578  SE_596  JA_546  NAI_581
                        ;


lexer_F_930             :  lexer_F_706  JOIK_root_931
                        ;

JOIK_root_931           :  JOI_548
                        |  JOI_548  NAI_581
                        |  SE_596  JOI_548
                        |  SE_596  JOI_548  NAI_581
                        |  interval_932
                        |  GAhO_656  interval_932  GAhO_656
                        ;

interval_932            :  BIhI_507
                        |  BIhI_507  NAI_581
                        |  SE_596  BIhI_507
                        |  SE_596  BIhI_507  NAI_581
                        ;




lexer_G_935             :  lexer_G_707  GA_537
                        |  lexer_G_707  SE_596  GA_537
                        |  lexer_G_707  GA_537  NAI_581
                        |  lexer_G_707  SE_596  GA_537  NAI_581
                        |  lexer_G_707  simple_tag_971  GIK_root_981
                        |  lexer_G_707  JOIK_root_931  GI_539
                        ;


lexer_H_940             :  lexer_H_708  GUhA_544
                        |  lexer_H_708  SE_596  GUhA_544
                        |  lexer_H_708  GUhA_544  NAI_581
                        |  lexer_H_708  SE_596  GUhA_544  NAI_581
                        ;


lexer_I_945             :  lexer_I_709  NAhE_583  BO_508
                        ;


lexer_J_950             :  lexer_J_710  NA_578  KU_556
                        ;


lexer_K_955             :  lexer_K_711  I_root_956  BO_508
                        |  lexer_K_711  I_root_956  simple_tag_971  BO_508
                        ;

I_root_956              :  I_545
                        |  I_545  simple_JOIK_JEK_957
                        ;


simple_JOIK_JEK_957     :  JOIK_806
                        |  JEK_805
                        ;
                        /* no freemod in this version; cf. JOIK_JEK_422 */
                        /* this reference to a version of JOIK and JEK
                           which already have the lexer tokens attached
                           prevents shift/reduce errors.  The problem is
                           resolved in a hard-coded parser implementation
                           which builds lexer_K, before lexer_S, before
                           lexer_E and lexer_F. */



lexer_L_960             :  lexer_L_712  number_root_961
                        ;


number_root_961         :  PA_672
                        |  number_root_961  PA_672
                        |  number_root_961  lerfu_word_987
                        ;

lexer_M_965             :  lexer_M_713  GIhEK_root_991  BO_508
                        |  lexer_M_713  GIhEK_root_991  simple_tag_971  BO_508
                        ;


lexer_N_966             :  lexer_N_714  GIhEK_root_991  KE_551
                        |  lexer_N_714  GIhEK_root_991  simple_tag_971  KE_551
                        ;


lexer_O_970             :  lexer_O_715  simple_tense_modal_972
                        ;
/* the following rule is a lexer version of non-定義語terminal_815 for compounding
   PU/法制s; it disallows the lexer picking out FIhO clauses, which would
   require it to have knowledge of the main parser grammar */

simple_tag_971          :  simple_tense_modal_972
                        |  simple_tag_971  simple_JOIK_JEK_957
                                simple_tense_modal_972
                        ;


simple_tense_modal_972  :  simple_tense_modal_A_973
                        |  NAhE_583  simple_tense_modal_A_973
                        |  KI_554
                        |  CUhE_522
                        ;

simple_tense_modal_A_973:  modal_974
                        |  modal_974  KI_554
                        |  tense_A_977
                        ;

modal_974               :  modal_A_975
                        |  modal_A_975  NAI_581
                        ;

modal_A_975             :  BAI_502
                        |  SE_596  BAI_502
                        ;

tense_A_977             :  tense_B_978
                        |  tense_B_978  KI_554
                        ;

tense_B_978             :  tense_C_979
                        |  CAhA_514
                        |  tense_C_979  CAhA_514
                        ;
/* specifies actuality/potentiality of the bridi */

/* puca'a = actually was */
/* baca'a = actually will be */
/* bapu'i = can and will have */
/* banu'o = can, but won’t have yet */
/* canu'ojebapu'i = can, hasn’t yet, but will */

tense_C_979             :  time_1030
   /* time-only */
   /* space defaults to time-space reference space */

                        |  space_1040
   /* can include time if specified with VIhA; otherwise time defaults to the
      time-space reference time */

                        |  time_1030  space_1040
   /* time and space - If space_1040 is marked with
   VIhA for space-time the tense may be self-contradictory */
   /* interval prop before space_time is for time distribution */
                        |  space_1040  time_1030
                        ;

lexer_P_980             :  lexer_P_716  GIK_root_981
                        ;

GIK_root_981            :  GI_539
                        |  GI_539  NAI_581
                        ;

lexer_Q_985             :  lexer_Q_717  lerfu_string_root_986
                        ;

lerfu_string_root_986   :  lerfu_word_987
                        |  lerfu_string_root_986  lerfu_word_987
                        |  lerfu_string_root_986  PA_672
                        ;

lerfu_word_987          :  BY_513
                        |  LAU_559  lerfu_word_987
                        |  TEI_605  lerfu_string_root_986  FOI_533
                        ;


lexer_R_990             :  lexer_R_718  GIhEK_root_991
                        ;


GIhEK_root_991          :  GIhA_541
                        |  SE_596  GIhA_541
                        |  NA_578  GIhA_541
                        |  GIhA_541  NAI_581
                        |  SE_596  GIhA_541  NAI_581
                        |  NA_578  GIhA_541  NAI_581
                        |  NA_578  SE_596  GIhA_541
                        |  NA_578  SE_596  GIhA_541  NAI_581
                        ;


lexer_S_995             :  lexer_S_719  I_545
                        ;

lexer_T_1000            :  lexer_T_720  I_545  simple_JOIK_JEK_957
                        ;


lexer_U_1005            :  lexer_U_721  JEK_root_926  BO_508
                        |  lexer_U_721  JEK_root_926  simple_tag_971  BO_508
                        ;

lexer_V_1010            :  lexer_V_722  JOIK_root_931  BO_508
                        |  lexer_V_722  JOIK_root_931  simple_tag_971  BO_508
                        ;

lexer_W_1015            :  lexer_W_723  JOIK_root_931  KE_551
                        |  lexer_W_723  JOIK_root_931  simple_tag_971  KE_551
                        ;

lexer_Y_1025            :  lexer_Y_725  number_root_961  MOI_663
                        |  lexer_Y_725  lerfu_string_root_986  MOI_663
                        ;



time_1030               :  ZI_624
                        |  ZI_624  time_A_1031
                        |  time_A_1031
                        ;

time_A_1031             :  time_B_1032
                        |  time_interval_1034
                        |  time_B_1032  time_interval_1034
                        ;

time_B_1032             :  time_offset_1033
                        |  time_B_1032  time_offset_1033
                        ;


time_offset_1033        :  time_direction_1035
                        |  time_direction_1035  ZI_624
                        ;


time_interval_1034      :  ZEhA_622
                        |  ZEhA_622  time_direction_1035
                        |  time_int_props_1036
                        |  ZEhA_622  time_int_props_1036
                        |  ZEhA_622  time_direction_1035  time_int_props_1036
                        ;

time_direction_1035     :  PU_592
                        |  PU_592  NAI_581
                        ;

time_int_props_1036     :  interval_property_1051
                        |  time_int_props_1036  interval_property_1051
                        ;


space_1040              :  space_A_1042
                        |  space_motion_1041
                        |  space_A_1042  space_motion_1041
                        ;


space_motion_1041       :  MOhI_577  space_offset_1045
                        ;

space_A_1042            :  VA_613
                        |  VA_613  space_B_1043
                        |  space_B_1043
                        ;

space_B_1043            :  space_C_1044
                        |  space_intval_1046
                        |  space_C_1044  space_intval_1046
                        ;

space_C_1044            :  space_offset_1045
                        |  space_C_1044  space_offset_1045
                        ;


space_offset_1045       :  space_direction_1048
                        |  space_direction_1048  VA_613
                        ;


space_intval_1046       :  space_intval_A_1047
                        |  space_intval_A_1047  space_direction_1048
                        |  space_int_props_1049
                        |  space_intval_A_1047  space_int_props_1049
                        |  space_intval_A_1047  space_direction_1048
                                  space_int_props_1049
                        ;


space_intval_A_1047     :  VEhA_615
                        |  VIhA_616
                        |  VEhA_615  VIhA_616
                        ;

space_direction_1048    :  FAhA_528
                        |  FAhA_528  NAI_581
                        ;

space_int_props_1049    :  space_int_props_A_1050
                        |  space_int_props_1049  space_int_props_A_1050
                        ;

space_int_props_A_1050  : FEhE_530  interval_property_1051
                        ;

/* This 定義語terminal gives an interval size in space-time (VEhA), and possibly a
   dimensionality of the interval.  The dimensionality may also be used
   with the interval size left unspecified.  When this 定義語terminal is used for the
   spacetime origin, then barring any overriding VIhA, a VIhA here defines
   the dimensionality of the space-time being discussed.                 */




interval_property_1051  :  number_root_961  ROI_594
                        |  number_root_961  ROI_594  NAI_581
                        |  TAhE_604
                        |  TAhE_604  NAI_581
                        |  ZAhO_621
                        |  ZAhO_621  NAI_581
                        ;

/* extensional/intensional interval parameters */
/* These may be appended to any defined interval, or may stand in place of
   either time or space tenses.  If no other tense is present, this 定義語terminal
   stands for the time-space interval parameter with an unspecified interval.*/

   /* roroi = always and everywhere */
   /* roroiku'avi = always here (ku'a = intersection) */
   /* puroroi = always in the past
   /* paroi = once upon a time (somewhere) */
   /* paroiku'avi = once upon a time here */


/* The following are “Lexer-only rules”, covered by steps 1-4 described
   at the beginning.  The grammar of these constructs is nonexistent,
   except possibly in cases where they interact with each other.  Even
   there, however, the effects are semantic rather than grammatical.  Where
   it is believed possible that conflicts could exist, the grammar of these
   constructs has been put in the above grammar, even though the
   lexer/Preparser will actually prevent these from being passed thru to
   the parse routine.  (Otherwise we have to put unacceptably fancy code in
   the PreParser to determine just when these can be passed thru, and when
   they can’t.)  Constructs in this category include quotes and indicators
   as defined above.  (The above grammar handles utterance scope
   (free_modifier) and clause scope (gap) applications of the latter,
   however, and indicators should be allowed to be absorbed into almost any
   word without changing its grammar.

   SI_601, SA_595, and SU_603 are metalinguistic erasers.

token_1100              :  any_word_698
                        |  BAhE_503  any_word_698
                        |  anything_699
                        |  any_word_698  BU_511
                        |  any_word_698  DAhO_524
                        |  any_word_698  FUhO_536
                        |  any_word_698  FUhE_535
                        |  any_word_698  UI_612
                        |  any_word_698  UI_612  NAI_581
                        |  any_word_698  Y_619
                        |  any_word_698  CAI_515
                        |  any_word_698  CAI_515  NAI_581
                        |  UI_612  NAI_581
                        |  CAI_515  NAI_581
                        ;

null_1101               :  any_word_698  SI_601
                        |  possibly_unlexable_word  (PAUSE)  SI_601
                        |  utterance_20  SA_595
                        |  possibly unlexable string  (PAUSE)  SA_595
                           erases back to the last individual token
                           I or NIhO or start of text, ignoring the
                           insides of ZOI, ZO, and LOhU/LEhU quotes.
                           Start of text is defined for SU below.
                        |  text_C_3  SU_603
                        |  possibly unparsable text  (PAUSE)  SU_603
                           erases back to start of text which is the
                           beginning of a speaker’s statement,
                           a parenthesis (TO/TOI), a LU/LIhU quote,
                           or a TUhE/TUhU utterance string.
                        ;


*/
%%

2. YACC Grammar Cross-Reference

A_501
EK_root_911
anaphora_400
sumti_G_97
anything_699
token_1100, ZOI_quote_434
any_word_698
null_1101, token_1100, ZOI_quote_434, ZO_quote_435
any_words_697
LOhU_quote_436
BAhE_503
token_1100
BAI_502
modal_A_975
BE_446
linkargs_160
BE_504
BE_446
BEhO_506
BEhO_gap_467
BEhO_gap_467
linkargs_160
BEI_442
links_161
BEI_505
BEI_442
BIhE_439
MEX_A_311
BIhE_650
BIhE_439
BIhI_507
interval_932
BO_479
selbri_F_136
BO_508
BO_479, lexer_C_915, lexer_I_945, lexer_K_955, lexer_M_965, lexer_U_1005, lexer_V_1010
BOI_651
BOI_gap_461, sub_gap_462
BOI_gap_461
anaphora_400, operand_C_385, quantifier_300
bridi_tail_50
bridi_tail_50, sentence_40
bridi_tail_A_51
bridi_tail_50, bridi_tail_A_51
bridi_tail_B_52
bridi_tail_A_51, bridi_tail_B_52
bridi_tail_C_53
bridi_tail_B_52
bridi_valsi_407
tanru_unit_B_152
bridi_valsi_A_408
bridi_valsi_407
BRIVLA_509
bridi_valsi_A_408
BU_511
token_1100
BY_513
lerfu_word_987
CAhA_514
tense_B_978
CAI_515
indicator_413, token_1100
CEhE_495
terms_B_82
CEhE_517
CEhE_495
CEI_444
tanru_unit_150
CEI_516
CEI_444
cmene_404
sumti_G_97, text_0, vocative_35
CMENE_518
cmene_A_405
cmene_A_405
cmene_404, cmene_A_405
CO_443
selbri_B_132
CO_519
CO_443
COI_416
COI_416, DOI_415
COI_520
COI_A_417
COI_A_417
COI_416
CU_521
front_gap_451
CUhE_522
simple_tense_modal_972
DAhO_524
indicator_413, token_1100
description_110
sumti_G_97
discursive_bridi_34
free_modifier_A_33
DOhU_526
DOhU_gap_457
DOhU_gap_457
vocative_35
DOI_415
vocative_35
DOI_525
DOI_415
EK_802
fragment_20, JOIK_EK_421
EK_BO_803
operand_B_383, sumti_C_93
EK_KE_804
operand_381, sumti_A_91
EK_root_911
lexer_B_910, lexer_C_915, lexer_D_916
error
BEhO_gap_467, BOI_gap_461, DOhU_gap_457, FEhU_gap_458, gap_450, GEhU_gap_464, KEhE_gap_466, KEI_gap_453, KUhO_gap_469, LIhU_gap_448, LOhO_gap_472, LUhU_gap_463, MEhU_gap_465, MEX_gap_452, NUhU_gap_460, right_bracket_gap_471, right_br_no_free_474, SEhU_gap_459, sub_gap_462, TEhU_gap_473, TOI_gap_468, TUhU_gap_454, VAU_gap_456
FA_481
mod_head_490
FA_527
FA_481
FAhA_528
space_direction_1048
FEhE_530
space_int_props_A_1050
FEhU_531
FEhU_gap_458
FEhU_gap_458
tense_modal_815
FIhO_437
tense_modal_815
FIhO_532
FIhO_437
FOI_533
lerfu_word_987
fragment_20
paragraph_10
free_modifier_32
anaphora_400, BE_446, BEhO_gap_467, BEI_442, BIhE_439, BO_479, BOI_gap_461, bridi_valsi_407, CEhE_495, CEI_444, cmene_404, CO_443, EK_802, EK_BO_803, EK_KE_804, FA_481, FEhU_gap_458, FIhO_437, free_modifier_32, front_gap_451, FUhA_441, gap_450, GEhU_gap_464, GEK_807, GIhEK_818, GIhEK_BO_813, GIhEK_KE_814, GIK_816, GOI_485, GUhEK_808, I_819, I_BO_811, I_JEK_820, JAI_478, JEK_BO_821, JOhI_431, JOIK_BO_822, JOIK_EK_421, JOIK_JEK_422, JOIK_KE_823, KE_493, KEhE_gap_466, KEI_gap_453, KUhO_gap_469, LA_499, LE_488, left_bracket_470, LI_489, LOhO_gap_472, LUhU_gap_463, MAhO_430, ME_477, MEhU_gap_465, MEX_gap_452, MEX_operator_374, MOhE_427, MOI_476, NA_445, NAhE_482, NAhE_BO_809, NAhU_429, NA_KU_810, NIhE_428, NOI_484, NU_A_426, NUhA_475, NUhI_496, NUhU_gap_460, para_mark_410, PEhE_494, PEhO_438, qualifier_483, quote_arg_432, right_bracket_gap_471, SE_480, SEI_440, SOI_498, TEhU_gap_473, tense_modal_815, text_0, TUhE_447, TUhU_gap_454, VAU_gap_456, VUhO_497, XI_424, ZIhE_487, ZOhU_492
free_modifier_A_33
free_modifier_32
front_gap_451
discursive_bridi_34, sentence_40
FUhA_441
MEX_310
FUhA_655
FUhA_441
FUhE_535
indicators_411, token_1100
FUhO_536
indicator_413, token_1100
GA_537
lexer_G_935
GAhO_656
JOIK_root_931
gap_450
description_110, modifier_84, sumti_E_95
GEhU_538
GEhU_gap_464
GEhU_gap_464
relative_clause_122
GEK_807
gek_sentence_54, operand_C_385, sumti_D_94, term_set_85
gek_sentence_54
bridi_tail_C_53, gek_sentence_54
GI_539
GIK_root_981, lexer_G_935
GIhA_541
GIhEK_root_991
GIhEK_818
bridi_tail_A_51, fragment_20
GIhEK_BO_813
bridi_tail_B_52
GIhEK_KE_814
bridi_tail_50
GIhEK_root_991
lexer_M_965, lexer_N_966, lexer_R_990
GIK_816
gek_sentence_54, GUhEK_selbri_137, operand_C_385, operator_A_371, sumti_D_94, term_set_85
GIK_root_981
lexer_G_935, lexer_P_980
GOhA_543
bridi_valsi_A_408
GOI_485
relative_clause_122
GOI_542
GOI_485
GUhA_544
lexer_H_940
GUhEK_808
GUhEK_selbri_137, operator_A_371
GUhEK_selbri_137
selbri_F_136
I_545
I_root_956, lexer_S_995, lexer_T_1000
I_819
paragraph_10, text_B_2
I_BO_811
statement_B_13, text_B_2
I_JEK_820
statement_A_12, text_B_2
indicator_413
indicators_A_412
indicators_411
text_0
indicators_A_412
indicators_411, indicators_A_412
interval_932
JOIK_root_931
interval_property_1051
space_int_props_A_1050, time_int_props_1036
I_root_956
lexer_K_955
JA_546
JEK_root_926
JAI_478
tanru_unit_B_152
JAI_547
JAI_478
JEK_805
JOIK_JEK_422, simple_JOIK_JEK_957
JEK_BO_821
operator_A_371, selbri_E_135
JEK_root_926
lexer_E_925, lexer_U_1005
JOhI_431
operand_C_385
JOhI_657
JOhI_431
JOI_548
JOIK_root_931
JOIK_806
JOIK_EK_421, JOIK_JEK_422, simple_JOIK_JEK_957
JOIK_BO_822
operand_B_383, operator_A_371, selbri_E_135, sumti_C_93
JOIK_EK_421
operand_A_382, sumti_B_92
JOIK_JEK_422
NU_425, operator_370, selbri_D_134, tag_491, terms_A_81, text_A_1
JOIK_KE_823
operand_381, operator_370, selbri_D_134, sumti_A_91
JOIK_root_931
lexer_F_930, lexer_G_935, lexer_V_1010, lexer_W_1015
KE_493
gek_sentence_54, operator_B_372, tanru_unit_B_152
KE_551
KE_493, lexer_D_916, lexer_N_966, lexer_W_1015
KEhE_550
KEhE_gap_466
KEhE_gap_466
bridi_tail_50, gek_sentence_54, operand_381, operator_370, operator_B_372, selbri_D_134, sumti_A_91, tanru_unit_B_152
KEI_552
KEI_gap_453
KEI_gap_453
tanru_unit_B_152
KI_554
simple_tense_modal_972, simple_tense_modal_A_973, tense_A_977
KOhA_555
anaphora_400
KU_556
gap_450, lexer_J_950
KUhE_658
MEX_gap_452
KUhO_557
KUhO_gap_469
KUhO_gap_469
relative_clause_122
LA_499
description_110, sumti_G_97
LA_558
LA_499
LAhE_561
qualifier_483
LAU_559
lerfu_word_987
LE_488
description_110
LE_562
LE_488
left_bracket_470
quantifier_300, subscript_486
LEhU_565
LOhU_quote_436
lerfu_string_817
anaphora_400, operand_C_385, subscript_486
lerfu_string_root_986
lerfu_string_root_986, lerfu_word_987, lexer_Q_985, lexer_Y_1025, utt_ordinal_root_906
lerfu_word_987
lerfu_string_root_986, lerfu_word_987, number_root_961
lexer_A_701
lexer_A_905
lexer_A_905
utterance_ordinal_801
lexer_B_702
lexer_B_910
lexer_B_910
EK_802
lexer_C_703
lexer_C_915
lexer_C_915
EK_BO_803
lexer_D_704
lexer_D_916
lexer_D_916
EK_KE_804
lexer_E_705
lexer_E_925
lexer_E_925
JEK_805
lexer_F_706
lexer_F_930
lexer_F_930
JOIK_806
lexer_G_707
lexer_G_935
lexer_G_935
GEK_807
lexer_H_708
lexer_H_940
lexer_H_940
GUhEK_808
lexer_I_709
lexer_I_945
lexer_I_945
NAhE_BO_809
lexer_J_710
lexer_J_950
lexer_J_950
NA_KU_810
lexer_K_711
lexer_K_955
lexer_K_955
I_BO_811
lexer_L_712
lexer_L_960
lexer_L_960
number_812
lexer_M_713
lexer_M_965
lexer_M_965
GIhEK_BO_813
lexer_N_714
lexer_N_966
lexer_N_966
GIhEK_KE_814
lexer_O_715
lexer_O_970
lexer_O_970
tense_modal_815
lexer_P_716
lexer_P_980
lexer_P_980
GIK_816
lexer_Q_717
lexer_Q_985
lexer_Q_985
lerfu_string_817
lexer_R_718
lexer_R_990
lexer_R_990
GIhEK_818
lexer_S_719
lexer_S_995
lexer_S_995
I_819
lexer_T_1000
I_JEK_820
lexer_T_720
lexer_T_1000
lexer_U_1005
JEK_BO_821
lexer_U_721
lexer_U_1005
lexer_V_1010
JOIK_BO_822
lexer_V_722
lexer_V_1010
lexer_W_1015
JOIK_KE_823
lexer_W_723
lexer_W_1015
lexer_Y_1025
PA_MOI_824
lexer_Y_725
lexer_Y_1025
LI_489
sumti_G_97
LI_566
LI_489
LIhU_567
LIhU_gap_448
LIhU_gap_448
quote_arg_A_433
linkargs_160
fragment_20, tanru_unit_A_151
links_161
fragment_20, linkargs_160, links_161
LOhO_568
LOhO_gap_472
LOhO_gap_472
sumti_G_97
LOhU_569
LOhU_quote_436
LOhU_quote_436
quote_arg_A_433
LU_571
quote_arg_A_433
LUhU_573
LUhU_gap_463
LUhU_gap_463
operand_C_385, sumti_G_97
MAhO_430
MEX_operator_374
MAhO_662
MAhO_430
MAI_661
utt_ordinal_root_906
ME_477
tanru_unit_B_152
ME_574
ME_477
MEhU_575
MEhU_gap_465
MEhU_gap_465
tanru_unit_B_152
MEX_310
MEX_310, MEX_operator_374, quantifier_300, subscript_486, sumti_G_97
MEX_A_311
MEX_310, MEX_A_311
MEX_B_312
MEX_A_311, MEX_C_313
MEX_C_313
MEX_B_312, MEX_C_313, operand_C_385
MEX_gap_452
MEX_B_312
MEX_operator_374
MEX_operator_374, operator_B_372, tanru_unit_B_152
modal_974
simple_tense_modal_A_973
modal_A_975
modal_974
mod_head_490
modifier_84
modifier_84
term_83
MOhE_427
operand_C_385
MOhE_664
MOhE_427
MOhI_577
space_motion_1041
MOI_476
tanru_unit_B_152
MOI_663
lexer_Y_1025, MOI_476
NA_445
fragment_20, gek_sentence_54, selbri_A_131
NA_578
EK_root_911, GIhEK_root_991, JEK_root_926, lexer_J_950, NA_445
NAhE_482
MEX_operator_374, selbri_F_136, tanru_unit_B_152
NAhE_583
lexer_I_945, NAhE_482, simple_tense_modal_972
NAhE_BO_809
qualifier_483
NAhU_429
MEX_operator_374
NAhU_665
NAhU_429
NAI_581
COI_A_417, EK_root_911, GIhEK_root_991, GIK_root_981, indicator_413, interval_932, interval_property_1051, JEK_root_926, JOIK_root_931, lexer_G_935, lexer_H_940, modal_974, NU_A_426, space_direction_1048, text_0, time_direction_1035, token_1100
NA_KU_810
term_83
NIhE_428
operand_C_385
NIhE_666
NIhE_428
NIhO_584
para_mark_410
NOI_484
relative_clause_122
NOI_585
NOI_484
NU_425
NU_425, tanru_unit_B_152
NU_586
NU_A_426
NU_A_426
NU_425
NUhA_475
tanru_unit_B_152
NUhA_667
NUhA_475
NUhI_496
term_set_85
NUhI_587
NUhI_496
NUhU_588
NUhU_gap_460
NUhU_gap_460
term_set_85
number_812
quantifier_300, subscript_486
number_root_961
interval_property_1051, lexer_L_960, lexer_Y_1025, number_root_961, utt_ordinal_root_906
operand_381
MEX_B_312, operand_381, operand_C_385, rp_operand_332
operand_A_382
operand_381, operand_A_382
operand_B_383
operand_A_382, operand_B_383
operand_C_385
operand_B_383, operand_C_385
operator_370
MEX_310, MEX_A_311, MEX_B_312, operator_370, operator_B_372, rp_expression_330
operator_A_371
operator_370, operator_A_371
operator_B_372
operator_A_371
PA_672
lerfu_string_root_986, number_root_961
PA_MOI_824
bridi_valsi_A_408
paragraph_10
paragraph_10, paragraphs_4
paragraphs_4
paragraphs_4, text_C_3
para_mark_410
paragraphs_4, para_mark_410, text_B_2
parenthetical_36
free_modifier_A_33
PEhE_494
terms_A_81
PEhE_591
PEhE_494
PEhO_438
MEX_B_312
PEhO_673
PEhO_438
prenex_30
fragment_20, statement_11, subsentence_41
PU_592
time_direction_1035
qualifier_483
operand_C_385, sumti_G_97
quantifier_300
fragment_20, operand_C_385, sumti_E_95, sumti_F_96, sumti_tail_A_112
quote_arg_432
sumti_G_97
quote_arg_A_433
quote_arg_432
RAhO_593
bridi_valsi_A_408
relative_clause_122
relative_clauses_121
relative_clauses_121
fragment_20, relative_clauses_121, sumti_90, sumti_E_95, sumti_G_97, sumti_tail_111, sumti_tail_A_112, vocative_35
right_bracket_gap_471
quantifier_300
right_br_no_free_474
subscript_486
ROI_594
interval_property_1051
rp_expression_330
MEX_310, rp_operand_332
rp_operand_332
rp_expression_330
SA_595
null_1101
SE_480
MEX_operator_374, tanru_unit_B_152
SE_596
EK_root_911, GIhEK_root_991, interval_932, JEK_root_926, JOIK_root_931, lexer_G_935, lexer_H_940, modal_A_975, SE_480
SEhU_598
SEhU_gap_459
SEhU_gap_459
discursive_bridi_34
SEI_440
discursive_bridi_34
SEI_597
SEI_440
selbri_130
bridi_tail_C_53, discursive_bridi_34, GUhEK_selbri_137, MEX_operator_374, operand_C_385, selbri_A_131, sumti_E_95, sumti_tail_A_112, tense_modal_815, vocative_35
selbri_A_131
selbri_130
selbri_B_132
selbri_A_131, selbri_B_132
selbri_C_133
selbri_B_132, selbri_C_133, selbri_D_134, tanru_unit_B_152
selbri_D_134
selbri_C_133, selbri_D_134
selbri_E_135
selbri_D_134, selbri_E_135
selbri_F_136
GUhEK_selbri_137, selbri_E_135, selbri_F_136
sentence_40
statement_C_14, subsentence_41
SI_601
null_1101
simple_JOIK_JEK_957
I_root_956, lexer_T_1000, simple_tag_971
simple_tag_971
lexer_C_915, lexer_D_916, lexer_G_935, lexer_K_955, lexer_M_965, lexer_N_966, lexer_U_1005, lexer_V_1010, lexer_W_1015, simple_tag_971
simple_tense_modal_972
lexer_O_970, simple_tag_971
simple_tense_modal_A_973
simple_tense_modal_972
SOI_498
discursive_bridi_34
SOI_602
SOI_498
space_1040
tense_C_979
space_A_1042
space_1040
space_B_1043
space_A_1042
space_C_1044
space_B_1043, space_C_1044
space_direction_1048
space_intval_1046, space_offset_1045
space_int_props_1049
space_int_props_1049, space_intval_1046
space_int_props_A_1050
space_int_props_1049
space_intval_1046
space_B_1043
space_intval_A_1047
space_intval_1046
space_motion_1041
space_1040
space_offset_1045
space_C_1044, space_motion_1041
statement_11
paragraph_10, statement_11
statement_A_12
statement_11, statement_A_12
statement_B_13
statement_A_12, statement_B_13
statement_C_14
statement_B_13
SU_603
null_1101
sub_gap_462
subscript_486
subscript_486
free_modifier_A_33
subsentence_41
gek_sentence_54, relative_clause_122, subsentence_41, tanru_unit_B_152
sumti_90
discursive_bridi_34, modifier_84, operand_C_385, sumti_A_91, sumti_D_94, sumti_G_97, sumti_tail_A_112, tanru_unit_B_152, term_83, vocative_35
sumti_A_91
sumti_90
sumti_B_92
sumti_A_91, sumti_B_92
sumti_C_93
sumti_B_92, sumti_C_93
sumti_D_94
sumti_C_93, sumti_D_94
sumti_E_95
sumti_D_94
sumti_F_96
sumti_E_95
sumti_G_97
sumti_F_96, sumti_tail_111
sumti_tail_111
description_110
sumti_tail_A_112
sumti_tail_111
tag_491
gek_sentence_54, mod_head_490, selbri_130, statement_C_14, tag_491, tanru_unit_B_152
TAhE_604
interval_property_1051
tail_terms_71
bridi_tail_50, bridi_tail_A_51, bridi_tail_B_52, bridi_tail_C_53, gek_sentence_54
tanru_unit_150
selbri_F_136, tanru_unit_150
tanru_unit_A_151
tanru_unit_150
tanru_unit_B_152
tanru_unit_A_151, tanru_unit_B_152
TEhU_675
TEhU_gap_473
TEhU_gap_473
MEX_operator_374, operand_C_385
TEI_605
lerfu_word_987
tense_A_977
simple_tense_modal_A_973
tense_B_978
tense_A_977
tense_C_979
tense_B_978
tense_modal_815
tag_491
term_83
linkargs_160, links_161, relative_clause_122, terms_B_82
terms_80
discursive_bridi_34, fragment_20, prenex_30, sentence_40, tail_terms_71, terms_80, term_set_85
terms_A_81
terms_80, terms_A_81
terms_B_82
terms_A_81, terms_B_82
term_set_85
term_83
text_0
parenthetical_36, quote_arg_A_433, text_0
text_A_1
text_0
text_B_2
statement_C_14, text_A_1, text_B_2
text_C_3
null_1101, text_B_2
time_1030
tense_C_979
time_A_1031
time_1030
time_B_1032
time_A_1031, time_B_1032
time_direction_1035
time_interval_1034, time_offset_1033
time_interval_1034
time_A_1031
time_int_props_1036
time_interval_1034, time_int_props_1036
time_offset_1033
time_B_1032
TO_606
parenthetical_36
TOI_607
TOI_gap_468
TOI_gap_468
parenthetical_36
TUhE_447
statement_C_14
TUhE_610
TUhE_447
TUhU_611
TUhU_gap_454
TUhU_gap_454
statement_C_14
UI_612
indicator_413, token_1100
utterance_20
null_1101
utterance_ordinal_801
free_modifier_A_33
utt_ordinal_root_906
lexer_A_905
VA_613
space_A_1042, space_offset_1045
VAU_614
VAU_gap_456
VAU_gap_456
fragment_20, tail_terms_71
VEhA_615
space_intval_A_1047
VEhO_678
right_bracket_gap_471, right_br_no_free_474
VEI_677
left_bracket_470
VIhA_616
space_intval_A_1047
vocative_35
free_modifier_A_33
VUhO_497
sumti_90
VUhO_617
VUhO_497
VUhU_679
MEX_operator_374
XI_424
subscript_486
XI_618
XI_424
Y_619
indicator_413, token_1100
ZAhO_621
interval_property_1051
ZEhA_622
time_interval_1034
ZI_624
time_1030, time_offset_1033
ZIhE_487
relative_clauses_121
ZIhE_625
ZIhE_487
ZO_626
ZO_quote_435
ZOhU_492
prenex_30
ZOhU_628
ZOhU_492
ZOI_627
ZOI_quote_434
ZOI_quote_434
quote_arg_A_433
ZO_quote_435
quote_arg_A_433

2. EBNF Grammar of Lojban

Lojban Machine Grammar, EBNF Version, Final Baseline

This EBNF document is explicitly dedicated to the public domain by its author, The Logical Language Group, Inc. Contact that organization at: 2904 Beau Lane, Fairfax VA 22031 USA 703-385-0273 (intl: +1 703 385 0273)

Explanation of notation: All rules have the form:

namenumber = bnf-expression



which means that the grammatical construct “name” is defined by “bnf-expression”. The number cross-references this grammar with the rule numbers in the YACC grammar. The names are the same as those in the YACC grammar, except that subrules are labeled with A, B, C, ... in the YACC grammar and with 1, 2, 3, ... in this grammar. In addition, rule 971 is “simple_tag” in the YACC grammar but “stag” in this grammar, because of its frequent appearance.
  1. Names in lower case are grammatical constructs.
  2. Names in UPPER CASE are selma'o (lexeme) names, and are 定義語terminals.
  3. Concatenation is expressed by juxtaposition with no 演算子or symbol.
  4. | represents alternation (choice).
  5. [] represents an optional element.
  6. & represents and/or (“A & B” is the same as “A | B | A B”).
  7. ... represents optional repetition of the construct to the left. Left-grouping is implied; right-grouping is shown by explicit self-referential recursion with no “...”
  8. () serves to indicate the grouping of the other 演算子ors. Otherwise, “...” binds closer than &, which binds closer than |.
  9. # is shorthand for “[free ...]”, a construct which appears in many places.
  10. // encloses an elidable terminator, which may be omitted (without change of meaning) if no grammatical ambiguity results.
text0 =
[NAI ...] [CMENE ... # | (indicators & free ...)] [joik-jek] text-1
text-12 =
[(I [jek | joik] [[stag] BO] #) ... | NIhO ... #] [paragraphs]
paragraphs4 =
paragraph [NIhO ... # paragraphs]
paragraph10 =
(statement | fragment) [I # [statement | fragment]] ...
statement11 =
statement-1
| prenex statement
statement-112 =
statement-2 [I joik-jek [statement-2]] ...
statement-213 =
statement-3 [I [jek | joik] [stag] BO # [statement-2]]
statement-314 =
sentence
| [tag] TUhE # text-1 /TUhU#/
fragment20 =
ek #
| gihek #
| quantifier
| NA #
| terms /VAU#/
| prenex
| relative-clauses
| links
| linkargs
prenex30 =
terms ZOhU #
sentence40 =
[terms [CU #]] bridi-tail
subsentence41 =
sentence
| prenex subsentence
bridi-tail50 =
bridi-tail-1 [gihek [stag] KE # bridi-tail /KEhE#/ tail-terms]
bridi-tail-151 =
bridi-tail-2 [gihek # bridi-tail-2 tail-terms] ...
bridi-tail-252 =
bridi-tail-3 [gihek [stag] BO # bridi-tail-2 tail-terms]
bridi-tail-353 =
selbri tail-terms
| gek-sentence
gek-sentence54 =
gek subsentence gik subsentence tail-terms
| [tag] KE # gek-sentence /KEhE#/
| NA # gek-sentence
tail-terms71 =
[terms] /VAU#/
terms80 =
terms-1 ...
terms-181 =
terms-2 [PEhE # joik-jek terms-2] ...
terms-282 =
term [CEhE # term] ...
term83 =
sumti | (tag | FA #) (sumti
| /KU#/)
| termset
| NA KU #
termset85 =
NUhI # gek terms /NUhU#/ gik terms /NUhU#/
| NUhI # terms /NUhU#/
sumti90 =
sumti-1 [VUhO # relative-clauses]
sumti-191 =
sumti-2 [(ek | joik) [stag] KE # sumti /KEhE#/]
sumti-292 =
sumti-3 [joik-ek sumti-3] ...
sumti-393 =
sumti-4 [(ek
| joik) [stag] BO # sumti-3]
sumti-494 =
sumti-5
| gek sumti gik sumti-4
sumti-595 =
[quantifier] sumti-6 [relative-clauses]
| quantifier selbri /KU#/ [relative-clauses]
sumti-697 =
(LAhE # | NAhE BO #) [relative-clauses] sumti /LUhU#/
| KOhA #
| lerfu-string /BOI#/
| LA # [relative-clauses] CMENE ... #
| (LA | LE) # sumti-tail /KU#/
| LI # mex /LOhO#/
| ZO any-word #
| LU text /LIhU#/
| LOhU any-word ... LEhU #
| ZOI any-word anything any-word #
sumti-tail111 =
[sumti-6 [relative-clauses]] sumti-tail-1
| relative-clauses sumti-tail-1
sumti-tail-1112 =
[quantifier] selbri [relative-clauses]
| quantifier sumti
relative-clauses121 =
relative-clause [ZIhE # relative-clause] ...
relative-clause122 =
GOI # term /GEhU#/
| NOI # subsentence /KUhO#/
selbri130 =
[tag] selbri-1
selbri-1131 =
selbri-2
| NA # selbri
selbri-2132 =
selbri-3 [CO # selbri-2]
selbri-3133 =
selbri-4 ...
selbri-4134 =
selbri-5 [joik-jek selbri-5 | joik [stag] KE # selbri-3 /KEhE#/] ...
selbri-5135 =
selbri-6 [(jek | joik) [stag] BO # selbri-5]
selbri-6136 =
tanru-unit [BO # selbri-6]
| [NAhE #] guhek selbri gik selbri-6
tanru-unit150 =
tanru-unit-1 [CEI # tanru-unit-1] ...
tanru-unit-1151 =
tanru-unit-2 [linkargs]
tanru-unit-2152 =
BRIVLA #
| GOhA [RAhO] #
| KE # selbri-3 /KEhE#/
| ME # sumti /MEhU#/ [MOI #] | (number
| lerfu-string) MOI #
| NUhA # mex-operator
| SE # tanru-unit-2
| JAI # [tag] tanru-unit-2
| any-word (ZEI any-word) ...
| NAhE # tanru-unit-2
| NU [NAI] # [joik-jek NU [NAI] #] ... subsentence /KEI#/
linkargs160 =
BE # term [links] /BEhO#/
links161 =
BEI # term [links]
quantifier300 =
number /BOI#/
| VEI # mex /VEhO#/
mex310 =
mex-1 [operator mex-1] ...
| FUhA # rp-expression
mex-1311 =
mex-2 [BIhE # operator mex-1]
mex-2312 =
operand
| [PEhO #] operator mex-2 ... /KUhE#/
rp-expression330 =
rp-operand rp-operand operator
rp-operand332 =
operand
| rp-expression
operator370 =
operator-1 [joik-jek operator-1 | joik [stag] KE # operator /KEhE#/] ...
operator-1371 =
operator-2
| guhek operator-1 gik operator-2
| operator-2 (jek | joik) [stag] BO # operator-1
operator-2372 =
mex-operator
| KE # operator /KEhE#/
mex-operator374 =
SE # mex-operator
| NAhE # mex-operator
| MAhO # mex /TEhU#/
| NAhU # selbri /TEhU#/
| VUhU #
operand381 =
operand-1 [(ek | joik) [stag] KE # operand /KEhE#/]
operand-1382 =
operand-2 [joik-ek operand-2] ...
operand-2383 =
operand-3 [(ek | joik) [stag] BO # operand-2]
operand-3385 =
quantifier
| lerfu-string /BOI#/
| NIhE # selbri /TEhU#/
| MOhE # sumti /TEhU#/
| JOhI # mex-2 ... /TEhU#/
| gek operand gik operand-3
| (LAhE # | NAhE BO #) operand /LUhU#/
number812 =
PA [PA | lerfu-word] ...
lerfu-string817 =
lerfu-word [PA | lerfu-word] ...
lerfu-word987 =
BY
| any-word BU
| LAU lerfu-word
| TEI lerfu-string FOI
ek802 =
[NA] [SE] A [NAI]
gihek818 =
[NA] [SE] GIhA [NAI]
jek805 =
[NA] [SE] JA [NAI]
joik806 =
[SE] JOI [NAI]
| interval
| GAhO interval GAhO
interval932 =
[SE] BIhI [NAI]
joik-ek421 =
joik #
| ek #
joik-jek422 =
joik #
| jek #
gek807 =
[SE] GA [NAI] #
| joik GI #
| stag gik
guhek808 =
[SE] GUhA [NAI] #
gik816 =
GI [NAI] #
tag491 =
tense-modal [joik-jek tense-modal] ...
stag971 =
simple-tense-modal [(jek | joik) simple-tense-modal] ...
tense-modal815 =
simple-tense-modal #
| FIhO # selbri /FEhU#/
simple-tense-modal972 =
[NAhE] [SE] BAI [NAI] [KI]
| [NAhE] (time [space]
| space [time]) & CAhA [KI]
| KI
| CUhE
time1030 =
ZI & time-offset ... & ZEhA [PU [NAI]] & interval-property ...
time-offset1033 =
PU [NAI] [ZI]
space1040 =
VA & space-offset ... & space-interval & (MOhI space-offset)
space-offset1045 =
FAhA [NAI] [VA]
space-interval1046 =
((VEhA & VIhA) [FAhA [NAI]]) & space-int-props
space-int-props1049 =
(FEhE interval-property) ...
interval-property1051 =
number ROI [NAI]
| TAhE [NAI]
| ZAhO [NAI]
free32 =
SEI # [terms [CU #]] selbri /SEhU/
| SOI # sumti [sumti] /SEhU/
| vocative [relative-clauses] selbri [relative-clauses] /DOhU/
| vocative [relative-clauses] CMENE ... # [relative-clauses] /DOhU/
| vocative [sumti] /DOhU/
| (number | lerfu-string) MAI
| TO text /TOI/
| XI # (number | lerfu-string) /BOI/
| XI # VEI # mex /VEhO/
vocative415 =
(COI [NAI]) ... & DOI
indicators411 =
[FUhE] indicator ...
indicator413 =
(UI | CAI) [NAI]
| Y
| DAhO
| FUhO

The following rules are non-formal:

word1100 =
[BAhE] any-word [indicators]
any-word =
“any single word (no compound cmavo)”
anything =
“any text at all, whether Lojban or not”
null1101 =
any-word SI
| utterance SA
| text SU
FAhO is a universal terminator and signals the end of parsable input.

3. EBNF Cross-Reference

A
ek802
BAI
simple-tense-modal972
BAhE
word1100
BE
linkargs160
BEI
links161
BEhO
linkargs160
BIhE
mex-1311
BIhI
interval932
BO
bridi-tail-252, operand-2383, operand-3385, operator-1371, selbri-5135, selbri-6136, statement-213, sumti-393, sumti-697, text-12
BOI
free32, operand-3385, quantifier300, sumti-697
BRIVLA
tanru-unit-2152
BU
lerfu-word987
BY
lerfu-word987
CAI
indicator413
CAhA
simple-tense-modal972
CEI
tanru-unit150
CEhE
terms-282
CMENE
free32, sumti-697, text0
CO
selbri-2132
COI
vocative415
CU
free32, sentence40
CUhE
simple-tense-modal972
DAhO
indicator413
DOI
vocative415
DOhU
free32
FA
term83
FAhA
space-interval1046, space-offset1045
FEhE
space-int-props1049
FEhU
tense-modal815
FIhO
tense-modal815
FOI
lerfu-word987
FUhA
mex310
FUhE
indicators411
FUhO
indicator413
GA
gek807
GAhO
joik806
GEhU
relative-clause122
GI
gek807, gik816
GIhA
gihek818
GOI
relative-clause122
GOhA
tanru-unit-2152
GUhA
guhek808
I
paragraph10, statement-112, statement-213, text-12
JA
jek805
JAI
tanru-unit-2152
JOI
joik806
JOhI
operand-3385
KE
bridi-tail50, gek-sentence54, operand381, operator-2372, operator370, selbri-4134, sumti-191, tanru-unit-2152
KEI
tanru-unit-2152
KEhE
bridi-tail50, gek-sentence54, operand381, operator-2372, operator370, selbri-4134, sumti-191, tanru-unit-2152
KI
simple-tense-modal972
KOhA
sumti-697
KU
sumti-595, sumti-697, term83
KUhE
mex-2312
KUhO
relative-clause122
LA
sumti-697
LAU
lerfu-word987
LAhE
operand-3385, sumti-697
LE
sumti-697
LEhU
sumti-697
LI
sumti-697
LIhU
sumti-697
LOhO
sumti-697
LOhU
sumti-697
LU
sumti-697
LUhU
operand-3385, sumti-697
MAI
free32
MAhO
mex-operator374
ME
tanru-unit-2152
MEhU
tanru-unit-2152
MOI
tanru-unit-2152
MOhE
operand-3385
MOhI
space1040
NA
ek802, fragment20, gek-sentence54, gihek818, jek805, selbri-1131, term83
NAI
ek802, gek807, gihek818, gik816, guhek808, indicator413, interval-property1051, interval932, jek805, joik806, simple-tense-modal972, space-interval1046, space-offset1045, tanru-unit-2152, text0, time-offset1033, time1030, vocative415
NAhE
mex-operator374, operand-3385, selbri-6136, simple-tense-modal972, sumti-697, tanru-unit-2152
NAhU
mex-operator374
NIhE
operand-3385
NIhO
paragraphs4, text-12
NOI
relative-clause122
NU
tanru-unit-2152
NUhA
tanru-unit-2152
NUhI
termset85
NUhU
termset85
PA
lerfu-string817, number812
PEhE
terms-181
PEhO
mex-2312
PU
time-offset1033, time1030
RAhO
tanru-unit-2152
ROI
interval-property1051
SA
null1101
SE
ek802, gek807, gihek818, guhek808, interval932, jek805, joik806, mex-operator374, simple-tense-modal972, tanru-unit-2152
SEI
free32
SEhU
free32
SI
null1101
SOI
free32
SU
null1101
TAhE
interval-property1051
TEI
lerfu-word987
TEhU
mex-operator374, operand-3385
TO
free32
TOI
free32
TUhE
statement-314
TUhU
statement-314
UI
indicator413
VA
space-offset1045, space1040
VAU
fragment20, tail-terms71
VEI
free32, quantifier300
VEhA
space-interval1046
VEhO
free32, quantifier300
VIhA
space-interval1046
VUhO
sumti90
VUhU
mex-operator374
XI
free32
Y
indicator413
ZAhO
interval-property1051
ZEI
tanru-unit-2152
ZEhA
time1030
ZI
time-offset1033, time1030
ZIhE
relative-clauses121
ZO
sumti-697
ZOI
sumti-697
ZOhU
prenex30
any-word
lerfu-word987, null1101, sumti-697, tanru-unit-2152, word1100
anything
sumti-697
bridi-tail
bridi-tail50, sentence40
bridi-tail-1
bridi-tail50
bridi-tail-2
bridi-tail-151, bridi-tail-252
bridi-tail-3
bridi-tail-252
ek
fragment20, joik-ek421, operand-2383, operand381, sumti-191, sumti-393
fragment
paragraph10
free
text0
gek
gek-sentence54, operand-3385, sumti-494, termset85
gek-sentence
bridi-tail-353, gek-sentence54
gihek
bridi-tail-151, bridi-tail-252, bridi-tail50, fragment20
gik
gek-sentence54, gek807, operand-3385, operator-1371, selbri-6136, sumti-494, termset85
guhek
operator-1371, selbri-6136
indicator
indicators411
indicators
text0, word1100
interval
joik806
interval-property
space-int-props1049, time1030
jek
joik-jek422, operator-1371, selbri-5135, stag971, statement-213, text-12
joik
gek807, joik-ek421, joik-jek422, operand-2383, operand381, operator-1371, operator370, selbri-4134, selbri-5135, stag971, statement-213, sumti-191, sumti-393, text-12
joik-ek
operand-1382, sumti-292
joik-jek
operator370, selbri-4134, statement-112, tag491, tanru-unit-2152, terms-181, text0
lerfu-string
free32, lerfu-word987, operand-3385, sumti-697, tanru-unit-2152
lerfu-word
lerfu-string817, lerfu-word987, number812
linkargs
fragment20, tanru-unit-1151
links
fragment20, linkargs160, links161
mex
free32, mex-operator374, quantifier300, sumti-697
mex-1
mex-1311, mex310
mex-2
mex-1311, mex-2312, operand-3385
mex-operator
mex-operator374, operator-2372, tanru-unit-2152
number
free32, interval-property1051, quantifier300, tanru-unit-2152
operand
mex-2312, operand-3385, operand381, rp-operand332
operand-1
operand381
operand-2
operand-1382, operand-2383
operand-3
operand-2383, operand-3385
operator
mex-1311, mex-2312, mex310, operator-2372, operator370, rp-expression330
operator-1
operator-1371, operator370
operator-2
operator-1371
paragraph
paragraphs4
paragraphs
paragraphs4, text-12
prenex
fragment20, statement11, subsentence41
quantifier
fragment20, operand-3385, sumti-595, sumti-tail-1112
relative-clause
relative-clauses121
relative-clauses
fragment20, free32, sumti-595, sumti-697, sumti-tail-1112, sumti-tail111, sumti90
rp-expression
mex310, rp-operand332
rp-operand
rp-expression330
selbri
bridi-tail-353, free32, mex-operator374, operand-3385, selbri-1131, selbri-6136, sumti-595, sumti-tail-1112, tense-modal815
selbri-1
selbri130
selbri-2
selbri-1131, selbri-2132
selbri-3
selbri-2132, selbri-4134, tanru-unit-2152
selbri-4
selbri-3133
selbri-5
selbri-4134, selbri-5135
selbri-6
selbri-5135, selbri-6136
sentence
statement-314, subsentence41
simple-tense-modal
stag971, tense-modal815
space
simple-tense-modal972
space-int-props
space-interval1046
space-interval
space1040
space-offset
space1040
stag
bridi-tail-252, bridi-tail50, gek807, operand-2383, operand381, operator-1371, operator370, selbri-4134, selbri-5135, statement-213, sumti-191, sumti-393, text-12
statement
paragraph10, statement11
statement-1
statement11
statement-2
statement-112, statement-213
statement-3
statement-213
subsentence
gek-sentence54, relative-clause122, subsentence41, tanru-unit-2152
sumti
free32, operand-3385, sumti-191, sumti-494, sumti-697, sumti-tail-1112, tanru-unit-2152, term83
sumti-1
sumti90
sumti-2
sumti-191
sumti-3
sumti-292, sumti-393
sumti-4
sumti-393, sumti-494
sumti-5
sumti-494
sumti-6
sumti-595, sumti-tail111
sumti-tail
sumti-697
sumti-tail-1
sumti-tail111
tag
gek-sentence54, selbri130, statement-314, tanru-unit-2152, term83
tail-terms
bridi-tail-151, bridi-tail-252, bridi-tail-353, bridi-tail50, gek-sentence54
tanru-unit
selbri-6136
tanru-unit-1
tanru-unit150
tanru-unit-2
tanru-unit-1151, tanru-unit-2152
tense-modal
tag491
term
linkargs160, links161, relative-clause122, terms-282
terms
fragment20, free32, prenex30, sentence40, tail-terms71, termset85
terms-1
terms80
terms-2
terms-181
termset
term83
text
free32, null1101, sumti-697
text-1
statement-314, text0
time
simple-tense-modal972
time-offset
time1030
utterance
null1101
vocative
free32