lojbanのxorxesによる暫定案に日本語解説を追加。 文責: 重城良国 This is a version (not official) of the full grammar of Lojban. I intend to make many changes to it, some cosmetic, some not. Don't take the contents of this page too seriously for now. In ((zasni gerna cenba vreji)) I will try to keep a record of the changes as I make them. mi'e ((xorxes)) http://www.lojban.org/tiki/zasni+gerna http://www.lojban.org/tiki/zasni+gerna+cenva+vreji 全体の構造 A. 文法 1. 文章、段落、記述(文よりも大きなまとまり) 2. 文やブリディ 3. 項、スムティ 4. 数式(空) 5. 関係節、関係句 6. セルブリ、タンル単位 7. 付加引数(be ... bei ... be'o) 8. 接続句 9. 時制、法制タグ 10. 自由修飾句 B. 低レベルの文法 11. 単語の前後にpre, postをつけたもの 12. pre, postの定義 13. 打ち消し、bu, zei、引用 C. 単語(セルマホの定義等) D. 形態論 ; ****** GRAMMAR ****** 1. 文章、段落、記述(文よりも大きなまとまり) text <- words-SU* SI-tail* post paragraphs FAhO#? ; suによる打ち消し、siによる打ち消し、の後に自由修飾句が来て、 ; そのあとに段落が来て、オプショナルなFAhOが続く。 ; word-SIではなくSI-tailである理由は余分なsiを許容するということ。 ; ; .i mi klama si si si si si si .i do prami mi ; ; のようなことができる。 paragraphs <- paragraph (NIhO# paragraph)* ; 段落は ni'o によってつなげる paragraph <- statement (I# statement)* ; 段落は .i によってつなげられた記述 statement <- statement-1 (I# joik statement-1)* ; .i + joikは単なる.iより強く結合する statement-1 <- sentence (I# joik? tag? BO# sentence)* ; .iboは.i + joikよりも強く結合する ; boの前にはtagを置くことができる 2. 文やブリディ sentence <- (term+ CU#?)? bridi-tail / TUhE# paragraphs TUhU#? / gek sentence GI# sentence / term+ ZOhU# sentence / term* VAU#? ; 基本的にはtermが複数来てcuが来てbridi-tailが来るという形 ; 残りは、tu'e ... tu'uによるグループ化、ge ... gi ... による接続、 ; ... zo'u ...による構造、そしてtermのみから成る文 bridi-tail <- bridi-tail-1 (gihek bridi-tail-1 term* VAU#?)* ; gihekによるbridi-tailの接続 bridi-tail-1 <- bridi-tail-2 (gihek tag? BO# bridi-tail-2 term* VAU#?)* ; boによる結合力強化版、boの前にはtagが置ける bridi-tail-2 <- selbri term* VAU#? / (tag / NA#)* gek bridi-tail GI# bridi-tail term* VAU#? ; 基本はセルブリの後に項が来てvauで終わる ; またはge ... gi ...によるブリディ末端の接続 ; geの前にはtagやnaが複数置ける 3. 項、スムティ term <- FA#? sumti / tag? sumti / FA# KU#? / tag KU#? / NA# KU#? / gek term+ VAU#? GI# term+ VAU#? ; FA スムティ、オプショナルなタグ + スムティ、FA ku、タグ ku、na ku ; それとge 項 ... gi 項 ...という形 ; ; FA ku の構造は新しいように思う ; また ge ... gi ... はオプショナルなvauで終了させることができる sumti <- sumti-1 (joik sumti-1)* (VUhO# rels)? ; スムティはjoikで接続でき、それ全体に関係節をつけるにはvu'oが必要 sumti-1 <- sumti-2 (joik tag? BO# sumti-2)* ; boがつくと結合力が強まる。boの前にはタグが置ける sumti-2 <- quantifier? bare-sumti / quantifier selbri KU#? rels? / gek sumti GI# sumti ; スムティには数量詞をつけることができる ; また数量詞 + セルブリでスムティとなる ; ge ... gi ... でスムティを接続した全体もスムティとなる bare-sumti <- (description / LI# mex LOhO#? / ZO-word# / LU# paragraphs LIhU#? / LOhU-words-LEhU# / ZOI-anything# / KOhA# / !tag !selbri lerfu+ BOI#? / !tag !selbri (LAhE# / NAhE# BO#) rels? sumti LUhU#?) rels? ; スムティの列挙。すべてに関係節がつけられる ; 描写、数、引用(zo, lu ... li'u, lo'u ... le'u, zoi ...)、代スムティ(KOhA)、 ; 文字列、la'e / na'e bo スムティ lu'u がある。 description <- LE# (rels / bare-sumti)? quantifier? (selbri / bare-sumti) KU#? ; 描写スムティはlo (関係節/スムティ) 数量詞 (セルブリ/スムティ) ku ; という形。 ; cmeneがselbriとなるため文法が簡略化された。 ; 表現力も上がるし、いいことずくめだと思う。 4. 数式 quantifier <- !bare-sumti !selbri mex rels? ; quantifierはほぼmexと同じだが、関係節が取れる。 ; quantifierに関係節がつく構造については聞いたことがないな。 ; また大きな変化として、vei ... ve'o でくくらなくても良い mex <- mex-1 (joik mex-1)* ; mexはjoikで接続できる。 ; ここ、すごい! ; 演算子をJOIに入れたことでいろいろなところが簡潔になっている気がする ; ; 前置形式とか後置形式はどうなったのかな? ; 廃止ということかな。 ; 表現できる範囲は ge'a を使えば同じなので、いいのだろう。 mex-1 <- PA#+ BOI#? / lerfu+ BOI#? / NIhE# selbri TEhU#? / VEI# mex VEhO#? / (LAhE# / NAhE# BO#) mex LUhU#? ; mexは数または文字の並び、ni'e + セルブリ、vei mex ve'o、 ; (la'e/na'e bo) mex ; ; 特記すべきはla'eやna'e boでmexを修飾できること ; ただこの定義だと文字と数を混ぜることはできない lerfu <- BY# / word-BU# ; lerfuは.abu by. cy. dy. .ebu ... 5. 関係節、関係句 rels <- rel (ZIhE# rel)* ; 関係節はzi'eでつなげられる rel <- GOI# term GEhU#? / NOI# sentence KUhO#? ; 関係節(句)は(goi 項)または(noi 文) 6. セルブリ、タンル単位 selbri <- selbri-1+ (CO# selbri-1)* rels? (CEI# selbri)? / tag selbri / NA# selbri ; ノーマルなタンル構造 ; セルブリにはcoが複数つけられる、その結合力は弱い ; 関係節もつけられる ; ceiによる代入は複数つけられる ; また、tagやnaはいくつでもつけられる selbri-1 <- selbri-2 (joik selbri-2)* ; joikによるタンル接続 selbri-2 <- selbri-3 (joik tag? BO# selbri-3)* ; joik boによるタンル接続 selbri-3 <- tanru-unit (BO# tanru-unit)* ; boによるタンル接続 tanru-unit <- tanru-unit-1 linkargs? ; be ... bei ... be'oをつけることができる tanru-unit-1 <- BRIVLA# / word-ZEI-word# / CMEVLA# / GOhA# / mex MOI# / ME# (sumti / mex / joik) MEhU#? MOI#? / NU# sentence KEI#? / KE# selbri KEhE#? / (SE# / JAI# tag? / NAhE#) tanru-unit-1 ; ブリブラ、zeiによる複合語、シュメブラ、GOhA、mex MOIはタンル単位になる ; me (スムティ/数式/joik)もタンル単位になる。これにmoiをつけても良い ; (nu 文)もke セルブリ ke'eもタンル単位になる ; 上記構造に任意の数のSE, JAI [tag], NAhEをつけてもタンル単位になる 7. 付加引数(be ... bei ... be'o) linkargs <- BE# term (BEI# term)* BEhO#? ; be 項 bei 項 be'oの構造 8. 接続句 joik <- NA#? SE#? JOI# ; naやSEのついたJOI# ; ちなみに#はpreとpostがついていることを示している gihek <- NA#? SE#? GIhA# ; 同上 gek <- SE#? GA# / SE#? JOI# GI# / tag-unit+ (joik tag-unit+)* GI# ; gekはGAそのものや(JOI + gi)それと(tag + gi) 9. 時制、法制タグ tag <- tag-unit+ (joik tag-unit+)* !GI# ; タグはタグ単位をjoikでつなげたもの tag-unit <- BAI# / mex ROI# / FIhO# selbri FEhU# / (NAhE# / SE#) tag-unit ; タグ単位はBAIそのもの(mex + ROI)、(fi'o + セルブリ) ; または、それ自体にNAhEやSEをつけたもの 10. 自由修飾句 free <- UI# / XI# mex-1 / mex-1 MAI# / SEI# (term+ CU#?)? selbri SEhU#? / TO# paragraphs TOI#? / vocative ; 自由修飾句はUI、添え字、mex MAI(ただし複雑なmexはvei ... ve'oとする) ; sei + 単文(ただしここでの文はtail termsを取らない) ; to 段落 toi ; それとvocative vocative <- (COI#+ DOI#? / DOI#) (rels? selbri / sumti?) DOhU#? ; vocativeは(COI/COI DOI/DOI)に続けて ; 任意のセルブリまたはスムティを取るもの ; セルブリの前に関係節が置ける B. 低レベルの文法 11. 単語の前後にBAhEやUI等をつけたもの ここはほぼ単語の前語にpreとpostをつけただけなので省略する 12. へ ; --- SELMAhO --- COI# <- pre COI vocative-post PA# <- pre PA number-post BY# <- pre BY lerfu-post BRIVLA# <- pre BRIVLA post CMEVLA# <- pre CMEVLA post CMAVO# <- pre CMAVO post BAI# <- pre BAI post BE# <- pre BE post BEI# <- pre BEI post BEhO# <- pre BEhO post BO# <- pre BO post BOI# <- pre BOI post CEI# <- pre CEI post CO# <- pre CO post CU# <- pre CU post DOhU# <- pre DOhU post DOI# <- pre DOI post FA# <- pre FA post FAhO# <- pre FAhO post FEhU# <- pre FEhU post FIhO# <- pre FIhO post GA# <- pre GA post GEhU# <- pre GEhU post GI# <- pre GI post GIhA# <- pre GIhA post GOI# <- pre GOI post GOhA# <- pre GOhA post I# <- pre I post JAI# <- pre JAI post JOI# <- pre JOI post KE# <- pre KE post KEhE# <- pre KEhE post KEI# <- pre KEI post KOhA# <- pre KOhA post KU# <- pre KU post KUhO# <- pre KUhO post LAhE# <- pre LAhE post LE# <- pre LE post LEhU# <- pre LEhU post LI# <- pre LI post LIhU# <- pre LIhU post LOhO# <- pre LOhO post LU# <- pre LU post LUhU# <- pre LUhU post MAI# <- pre MAI post ME# <- pre ME post MEhU# <- pre MEhU post MOI# <- pre MOI post NA# <- pre NA post NAhE# <- pre NAhE post NIhE# <- pre NIhE post NIhO# <- pre NIhO post NOI# <- pre NOI post NU# <- pre NU post ROI# <- pre ROI post SE# <- pre SE post SEI# <- pre SEI post SEhU# <- pre SEhU post TEhU# <- pre TEhU post TO# <- pre TO post TOI# <- pre TOI post TUhE# <- pre TUhE post TUhU# <- pre TUhU post UI# <- pre UI post VAU# <- pre VAU post VEI# <- pre VEI post VEhO# <- pre VEhO post VUhO# <- pre VUhO post XI# <- pre XI post ZIhE# <- pre ZIhE post ZOhU# <- pre ZOhU post ; --- Pseudo SELMAHO --- word-ZEI-word# <- pre word-ZEI-word post word-BU# <- pre word-BU lerfu-post ZO-word# <- pre ZO-word post LOhU-words-LEhU# <- pre LOhU-words-LEhU post ZOI-anything# <- pre ZOI-anything post 12. 単語の前後にくっつけるもの ; --- Word Modifiers --- pre <- (word-SI* BAhE)* word-SI* ; ほぼBAhE。siによる打ち消しを処理 post <- !BU-tail !ZEI-tail free? ; ほぼ自由修飾句 ; buやzeiによる構造のほうが優先される number-post <- !BU-tail !ZEI-tail (!PA# free)? ; 上記でPAではじまらないということ lerfu-post <- !BU-tail !ZEI-tail (!lerfu free)? ; 上記でlerfuではじまらないということ vocative-post <- !BU-tail !ZEI-tail (!vocative free)? ; 上記でvocativeではじまらないということ 13. 打ち消し、bu, zei、引用 ; ****** MAGIC WORD CONSTRUCTS ****** ; (ZOI-delimiters not fully implemented here.) words-SU <- (word-ZEI-word / word-BU / ZO-word / LOhU-words-LEhU / ZOI-anything / !SU any-word)* SU-tail ; suによる打ち消し ; zei, bu, zo, lo'u ... le'u, zoi のなかにはsuが出てきても良い ; それ以外ではsu以外のすべての単語 word-SI <- (word-ZEI-word / word-BU / ZO-word / LOhU-words-LEhU / ZOI-anything / any-word) SI-tail ; zei, bu, zo, lo'u ... le'u, zoiによる構造は一語として扱う ; .abuも一語 word-BU <- (ZO-word / LOhU-words-LEhU / ZOI-anything / any-word) (BU-tail* ZEI-tail+)* BU-tail+ ; 例: ; broda bu bu bu zei brode zei brodi bu ; これは文字を表す語となる word-ZEI-word <- (ZO-word / LOhU-words-LEhU / ZOI-anything / any-word) (ZEI-tail* BU-tail+)* ZEI-tail+ ; 例: ; broda bu zei brode zei brodi bu bu bu bu bu zei brodo ; これは一語のブリブラになる SU-tail <- word-SI* SU ; ほぼsu SI-tail <- word-SI* SI ; ほぼsi BU-tail <- word-SI* BU ; ほぼbu ZEI-tail <- word-SI* ZEI any-word ; zei + 語 ZO-word <- ZO any-word ; zo + 語 LOhU-words-LEhU <- LOhU (!LEhU any-word)* LEhU? ; lo'uの後にle'u以外の語が来て任意のle'uが来る ; 入れ子には「ならない」 ; 例: ; lo'u mi do du da de di lo'u ti ta tu broda le'u ZOI-anything <- ZOI FAhO (!FAhO anything)* FAhO? ; ここではFAhOは一例 ; 純粋なPEGではzoiは扱えない C. 単語(セルマホの定義等) ; 変更のあったところだけ見ていこうと思うが抜けがあるかもしれない ; http://www.lojban.org/tiki/Reduction+of+number+of+selma'o 参照 ; ; 次はBAI ; ****** WORDS ****** anything <- Y* non-space+ any-word <- CMEVLA / BRIVLA / CMAVO CMEVLA <- Y* cmevla BRIVLA <- Y* brivla CMAVO <- Y* cmavo BAI <- Y* &cmavo ( c a h a / p u h i / n u h o / k a h e / c u h e / n a u / r u h i / t a h e / d i h i / n a h o / v e h u / v e h a / v e h i / v e h e / v i h i / v i h a / v i h u / v i h e / v i / v a / v u / d u h a / b e h a / n e h u / v u h a / g a h u / t i h a / n i h a / c a h u / z u h a / r i h u / r u h u / r e h o / t e h e / b u h u / n e h a / p a h o / n e h i / t o h o / z o h i / z e h o / z o h a / f a h a / z e h u / z e h a / z e h i / z e h e / c o h i / p u h o / c o h u / m o h u / c a h o / c o h a / d e h a / b a h o / d i h a / z a h o / z u / z a / z i / b a / p u / c a / k i / d u h o / s i h u / z a u / k i h i / d u h i / c u h u / t u h i / t i h u / d i h o / j i h u / r i h a / n i h i / m u h i / k i h u / v a h u / k o i / c a h i / t a h i / p u h e / j a h i / k a i / b a i / f i h e / d e h i / c i h o / m a u / m u h u / r i h i / r a h i / k a h a / p a h u / p a h a / l e h a / k u h u / t a i / b a u / m a h i / c i h e / f a u / p o h i / c a u / m a h e / c i h u / r a h a / p u h a / l i h e / l a h u / b a h i / k a h i / s a u / f a h e / b e h i / t i h i / j a h e / g a h a / v a h o / j i h o / m e h a / d o h e / j i h e / p i h o / g a u / z u h e / m e h e / r a i ) &&post-cmavo ; CAhA, CUhE, FAhA, KI, PU, TAhE, VA, VEhA, VIhA, ZAhO, ZEhA, ZI ; がBAIに統合された ; ; 次はBY BAhE <- Y* &cmavo ( b a h e / z a h e ) &post-cmavo BE <- Y* &cmavo ( b e ) &post-cmavo BEI <- Y* &cmavo ( b e i ) &post-cmavo BEhO <- Y* &cmavo ( b e h o ) &post-cmavo BO <- Y* &cmavo ( b o ) &post-cmavo BOI <- Y* &cmavo ( b o i ) &post-cmavo BU <- Y* &cmavo ( b u ) &post-cmavo BY <- Y* &cmavo ( t e i / f o i / c e h a / l a u / z a i / t a u / j o h o / r u h o / g e h o / j e h o / l o h a / n a h a / s e h e / t o h a / g a h e / y h y / b y / c y / d y / f y / g y / j y / k y / l y / m y / n y / p y / r y / s y / t y / v y / x y / z y ) &post-cmavo ; FOI, LAU, TEIはBYに統合された ; ; 次はJOI CEI <- Y* &cmavo ( c e i ) &post-cmavo CO <- Y* &cmavo ( c o ) &post-cmavo COI <- Y* &cmavo ( j u h i / c o i / f i h i / t a h a / m u h o / f e h o / c o h o / p e h u / k e h o / n u h e / r e h i / b e h e / j e h e / m i h e / k i h e / v i h o ) &post-cmavo CU <- Y* &cmavo ( c u ) &post-cmavo DOI <- Y* &cmavo ( d o i ) &post-cmavo DOhU <- Y* &cmavo ( d o h u ) &post-cmavo FA <- Y* &cmavo ( f a i / f a / f e / f o / f u / f i h a / f i ) &post-cmavo FAhO <- Y* &cmavo ( f a h o ) &post-cmavo FEhU <- Y* &cmavo ( f e h u ) &post-cmavo FIhO <- Y* &cmavo ( f i h o ) &post-cmavo GA <- Y* &cmavo ( g e h i / g e / g o / g a / g u ) &post-cmavo GEhU <- Y* &cmavo ( g e h u ) &post-cmavo GI <- Y* &cmavo ( g i ) &post-cmavo GIhA <- Y* &cmavo ( g i h e / g i h i / g i h o / g i h a / g i h u ) &post-cmavo GOI <- Y* &cmavo ( n o h u / n e / g o i / p o h u / p e / p o h e / p o ) &post-cmavo GOhA <- Y* &cmavo ( m o / n e i / g o h u / g o h o / g o h i / n o h a / g o h e / g o h a / d u / b u h a / b u h e / b u h i / c o h e ) &post-cmavo I <- Y* &cmavo ( i ) &post-cmavo JAI <- Y* &cmavo ( j a i ) &post-cmavo JOI <- Y* &cmavo ( f a h u / p i h u / j o i / c e h o / c e / j o h u / k u h a / j o h e / j u h e / j o h i / j e h i / j e / j o / j a / j u / a / e / j i / o / u / m i h i / b i h o / b i h i / g e h a / f u h u / p i h i / f e h i / v u h u / s u h i / j u h u / g e i / p a h i / f a h i / t e h a / c u h a / v a h a / n e h o / d e h o / f e h a / s a h o / r e h a / r i h o / s a h i / p i h a / s i h i ) &post-cmavo ; A, GUhAは廃止され、BIhI、JA、VUhUはJOIに統合された ; ; 次はLE KE <- Y* &cmavo ( k e ) &post-cmavo KEhE <- Y* &cmavo ( k e h e ) &post-cmavo KEI <- Y* &cmavo ( k e i ) &post-cmavo KOhA <- Y* &cmavo ( d a h u / d a h e / d i h u / d i h e / d e h u / d e h e / d e i / d o h i / m i h o / m a h a / m i h a / d o h o / k o h a / f o h u / k o h e / k o h i / k o h o / k o h u / f o h a / f o h e / f o h i / f o h o / v o h a / v o h e / v o h i / v o h o / v o h u / r u / r i / r a / t a / t u / t i / z i h o / k e h a / m a / z u h i / z o h e / c e h u / d a / d e / d i / k o / m i / d o ) &post-cmavo KU <- Y* &cmavo ( k u ) &post-cmavo KUhO <- Y* &cmavo ( k u h o ) &post-cmavo LAhE <- Y* &cmavo ( t u h a / l u h a / l u h o / l a h e / v u h i / l u h i / l u h e ) &post-cmavo LE <- Y* &cmavo ( l a i / l a h i / l a / l e i / l o i / l e h i / l o h i / l e h e / l o h e / l o / l e ) &post-cmavo ; LAはLEに統合された ; ; 次はNAhE LEhU <- Y* &cmavo ( l e h u ) &post-cmavo LI <- Y* &cmavo ( m e h o / l i ) &post-cmavo LIhU <- Y* &cmavo ( l i h u ) &post-cmavo LOhO <- Y* &cmavo ( l o h o ) &post-cmavo LOhU <- Y* &cmavo ( l o h u ) &post-cmavo LU <- Y* &cmavo ( l u ) &post-cmavo LUhU <- Y* &cmavo ( l u h u ) &post-cmavo MAI <- Y* &cmavo ( m o h o / m a i ) &post-cmavo ME <- Y* &cmavo ( m e / n u h a ) &post-cmavo MEhU <- Y* &cmavo ( m e h u ) &post-cmavo MOI <- Y* &cmavo ( m e h u / m e i / m o i / s i h e / c u h o / v a h e ) &post-cmavo NA <- Y* &cmavo ( j a h a / n a ) &post-cmavo NAhE <- Y* &cmavo ( f e h e / m o h i / t o h e / j e h a / n a h e / n o h e ) &post-cmavo ; FEhE, MOhIはNAhEに統合された ; ; 次はUI NIhE <- Y* &cmavo ( n i h e ) &post-cmavo NIhO <- Y* &cmavo ( n i h o / n o h i ) &post-cmavo NOI <- Y* &cmavo ( v o i / n o i / p o i ) &post-cmavo NU <- Y* &cmavo ( n i / d u h u / s i h o / n u / l i h i / k a / j e i / s u h u / z u h o / m u h e / p u h u / z a h i ) &post-cmavo PA <- Y* &cmavo ( d a u / f e i / g a i / j a u / r e i / v a i / p i h e / p i / f i h u / z a h u / m e h i / n i h u / k i h o / c e h i / m a h u / r a h e / d a h a / s o h a / j i h i / s u h o / s u h e / r o / r a u / s o h u / s o h i / s o h e / s o h o / m o h a / d u h e / t e h o / k a h o / c i h i / t u h o / x o / p a i / n o h o / n o / p a / r e / c i / v o / m u / x a / z e / b i / s o ) &post-cmavo ROI <- Y* &cmavo ( r e h u / r o i ) &post-cmavo SE <- Y* &cmavo ( s e / t e / v e / x e ) &post-cmavo SEI <- Y* &cmavo ( s e i / t i h o ) &post-cmavo SEhU <- Y* &cmavo ( s e h u ) &post-cmavo SI <- Y* &cmavo ( s i ) &post-cmavo SU <- Y* &cmavo ( s u ) &post-cmavo TEhU <- Y* &cmavo ( t e h u ) &post-cmavo TO <- Y* &cmavo ( t o h i / t o ) &post-cmavo TOI <- Y* &cmavo ( t o i ) &post-cmavo TUhE <- Y* &cmavo ( t u h e ) &post-cmavo TUhU <- Y* &cmavo ( t u h u ) &post-cmavo UI <- Y* &cmavo ( r a h o / k e h i / g a h o / n a i / p e i / c a i / c u h i / s a i / r u h e / d a h o / f u h e / f u h o / i h a / i e / a h e / u h i / i h o / i h e / a h a / i a / o h i / o h e / e h e / o i / u o / e h i / u h o / a u / u a / a h i / i h u / i i / u h a / u i / a h o / a i / a h u / i u / e i / o h o / e h a / u u / o h a / o h u / u h u / e h o / i o / e h u / u e / i h i / u h e / b a h a / j a h o / c a h e / s u h a / t i h e / k a h u / s e h o / z a h a / p e h i / r u h a / j u h a / t a h o / r a h u / l i h a / b a h u / m u h a / d o h a / t o h u / v a h i / p a h e / z u h u / s a h e / l a h a / k e h u / s a h u / d a h i / j e h u / s a h a / k a u / t a h u / n a h i / j o h a / b i h u / l i h o / p a u / m i h u / k u h i / j i h a / s i h a / p o h o / p e h a / r o h i / r o h e / r o h o / r o h u / r o h a / r e h e / l e h o / j u h o / f u h i / d a i / g a h i / z o h o / b e h u / r i h e / s e h i / s e h a / v u h e / k i h a / x u / g e h e / b u h o ) &post-cmavo ; CAI, DAhO, FUhE, FUhO, GAhO, NAI, RAhOはUIに統合された ; ; 次はD. 形態論 VAU <- Y* &cmavo ( v a u ) &post-cmavo VEI <- Y* &cmavo ( v e i ) &post-cmavo VEhO <- Y* &cmavo ( v e h o ) &post-cmavo VUhO <- Y* &cmavo ( v u h o ) &post-cmavo XI <- Y* &cmavo ( x i ) &post-cmavo ZEI <- Y* &cmavo ( z e i ) &post-cmavo ZIhE <- Y* &cmavo ( z i h e ) &post-cmavo ZO <- Y* &cmavo ( z o ) &post-cmavo ZOI <- Y* &cmavo ( z o i / l a h o ) &post-cmavo ZOhU <- Y* &cmavo ( z o h u ) &post-cmavo D. 形態論 ; ****** MORPHOLOGY ****** cmevla <- jbocme / zifcme ; jbocmeまたはzifcme ; このふたつを分けている理由は、 ; 多分、おそらく、もしかすると、 ; zifcmeのなかには空白を許すということかもしれない jbocme <- &zifcme (onset nucleus coda?)+ &space ; 子記の条件を満たすもののうち、ロジバンの音節構造を満たすものは ; jbocme zifcme <- !h (V / VV / y / I / h / C !space)* C &space ; まず'で始まらない ; 母音、二重母音、y、i, u, ', 子音等の並びの最後に子音が来て空白が来る cmavo <- !cmevla !CVCy-lujvo C? I? nucleus (h nucleus)* &post-cmavo ; cmevlaや以下のようなCVCy-lujvoを否定したうえで ; 任意の子音、任意の(i/u)、(V/VV/y)が続きその後は('V/'VV/'y)の連続が続く CVCy-lujvo <- C V C y initial-rafsi* (final-rafsi / gismu / fuhivla / type-3-fuhivla) ; CVCyではじまるルジュボ post-cmavo <- space / cmavo / brivla ; シュマボの後には空白、またはシュマボ、またはブリブラが来る brivla <- gismu / !h fuhivla / type-3-fuhivla / lujvo ; ギスム、フヒブラ、3型フヒブラ、ルジュボがブリブラ lujvo <- !cmavo !h initial-rafsi+ (final-rafsi / gismu / fuhivla / type-3-fuhivla) ; initial-rafsiの連続の後に以下のどれかが来るものはルジュボ ; 最後のラフシ ; ギスム ; フヒブラ ; 3型フヒブラ type-3-fuhivla <- !cmevla classifier syllable+ &space ; フヒブラの分類用のラフシのついた音節の連続をtype-3-fuhivlaとする fuhivla <- !cmevla !cmavo !rafsi-string !slinkuhi syllable syllable+ &space ; cmevlaでもcmavoでも下で定義するrafsi-stringでもslinku'iでも無い ; 2つ以上の音節の連続に空白が続くものをフヒブラとする gismu <- full-rafsi &space ; ギスムはCVCCVまたはCCVCVに空白が続くもの final-rafsi <- !cmevla short-rafsi &space ; cmevlaではない3文字ラフシはfinal-rafsi initial-rafsi <- y-less-rafsi / y-rafsi / fuhivla-rafsi / type-3-rafsi / brivla-rafsi ; 下で定義される5つのラフシがinitial-rafsi brivla-rafsi <- !cmavo !slinkuhi syllable syllable+ h y ; シュマボでもslinku'iでもない2音節以上のつながりの最後に'yがついたものは ; brivla-rafsi type-3-rafsi <- classifier syllable* onset y ; 下で定義するフヒブラの分類用のラフシに0以上の音節が続いて ; yで終わる音節がついたものはtype-3-rafsi fuhivla-rafsi <- !cmavo !rafsi-string !slinkuhi syllable+ onset y ; シュマボでも以下のラフシの列でもslinku'iでもないもので、 ; 複数の音節にyで終わる音節がついたものはフヒブララフシ slinkuhi <- C rafsi-string ; slinku'iは以下のrafsi-stringの前に子音がついたもの rafsi-string <- y-less-rafsi* (gismu / final-rafsi / y-rafsi / CC y / h y / full-rafsi h y) ; yのつかないラフシの列が0以上あり、その後に以下のものが続く ; ギスム ; 3文字ラフシ ; 4文字ラフシ + y, CVCラフシ + y ; 二重子音 + y ; 'y ; ギスムそのもの + 'y y-less-rafsi <- short-rafsi &rafsi-string ; yのつかないラフシ classifier <- C V C CR / CC V CR / C V CR / y-rafsi R ; フヒブラを分類するためのラフシ ; 4文字ラフシ + r(n)-hyphen ; CVCラフシ + r(n)-hyphen ; y-rafsi + r(n)-hyphen full-rafsi <- C V C C V / CC V C V ; ギスムそのもの y-rafsi <- C V C C y / CC V C y / C V C y ; 4文字ラフシ + y ; CVCラフシ + y short-rafsi <- C V C / CC V / C VV R? / C V h V R? ; 3文字ラフシ ; CVC, CCV, CVV, CV'Vの4つ ; CVVとCV'Vは(多分Vが続くときのためにr-hyphenまたはn-hyphenが取れる) ; ****** PHONOTACTICS ****** syllable <- onset !y nucleus coda? ; 音節 ; 音節のはじまりの子音 + y以外の母音 + 任意のコーダ coda <- !onset C ; 音節のはじまりにならない子音 ; 音節の終わりということでコーダ(音楽の用語?) onset <- (h / C? I / affricate / sibilant? middle? liquid?) &nucleus ; 音節のはじまりの子音 sibilant <- c / s !x / j !n !l !r / z !n !l !r ; 歯擦音 middle <- p / b / f / v / m / t !l / d !l / n !l !r / k / g / x ; middle?歯擦音と流音のあいだってこと? liquid <- l / r ; 流音 CC <- &onset C C CR <- C R / r n &C / r l &n / r l &affricate / n l &r ; 子音 + r-hyphen ; rと他の子音にはn-hyphen ; rとnにはl-hyphen ; rと破擦音にもl-hyphen ; nとrにもl-hyphen R <- r &C / n &r ; r-hyphen C <- voiced / unvoiced / l / m / n / r affricate <- t c / t s / d j / d z voiced <- b / d / g / j / v / z unvoiced <- c / f / k / p / s / t / x l <- "l" !h !l m <- "m" !h !m !z n <- "n" !h !n !affricate r <- "r" !h !r b <- "b" !h !b !unvoiced d <- "d" !h !d !unvoiced g <- "g" !h !g !unvoiced v <- "v" !h !v !unvoiced j <- "j" !h !j !z !unvoiced z <- "z" !h !z !j !unvoiced s <- "s" !h !s !c !voiced c <- "c" !h !c !s !x !voiced x <- "x" !h !x !c !k !voiced k <- "k" !h !k !x !voiced f <- "f" !h !f !voiced p <- "p" !h !p !voiced t <- "t" !h !t !voiced h <- "'" &nucleus I <- (i / u) &nucleus nucleus <- V / VV / y VV <- (a i / a u / e i / o i) !nucleus !I V <- (a / e / i / o / u) !nucleus a <- "a" e <- "e" i <- "i" o <- "o" u <- "u" y <- "y" !nucleus Y <- "y"+ !nucleus / space non-space <- !space . space <- [[.\t\n\r?!\u0020] ; まとめと感想: ; slabu gernaを見たあとだと、非常に簡潔に思える。 ; 今作っている次に作るパーサはpapillonを使う予定だ。 ; papillonの力を確認するためにslabu gernaも実装したい気もするが、 ; 主には、zasni gernaの実装のほうに力を入れたい。 ; ; slabu gerna のほうは ; miprAmido のように文節の切れ目をアクセントで表す方式にも対応していたので、 ; そこのところは面白かったなと思う。 ; 修正する点: ; Iがかぶっている。 ; I -> SELMAhOIのようにする必要がある。 ; 文末もspaceとする必要がある。 ; ; Y <- "y"+ !nucleus / space-char ; non-space <- !space-char . ; space <- space-char / EOF ; space-char <- [[.\t\n\r?!\u0020] ; EOF <- !. ; ; cmavoの後に母音が来てはならない ; post-cmavo <- space / !nucleus cmavo / brivla ; ; BAIの定義のなかで、baiやba'iがbaよりも後に来ているので決して読まれない ; ba等の2文字のcmavoを最後に持ってくるか、または、以下のようにする。 ; ... / b a !h !nucleus / p u !h !nucleus / c a !h !nucleus / ... ; FIhO# selbri FEhU# <- FEhU#? では? ; klama na gi'e prami が klama na ku gi'e prami と解釈されてしまう。 ; 本当ならば klama vau na gi'e prami と解釈されてほしい。 ; NA# !gihek KU#? とすべきか。 ; さらに pu klama や na klama もそれぞれpuku klama や naku klama と解釈 ; されてしまう。 ; NA# !selbri KU#?, tag !selbri KU#? とすべきでは。