📦 Out of Context リポジトリ

リポジトリ / emssr / independent_common_compiler

r2
r2 emssr1
# 音節・層・frontier
r2 emssr2
r2 emssr3
[← Index](../Index.md)
r2 emssr4
r2 emssr5
## 1. 音節表
r2 emssr6
r2 emssr7
音節は子音と母音の積で作る(06 §1)。
r2 emssr8
r2 emssr9
$$
r2 emssr10
P=\{\sigma(c,v)=cv\mid c\in C,\ v\in V\},
r2 emssr11
\qquad
r2 emssr12
|C|=14,\quad|V|=5,\quad|P|=70
r2 emssr13
$$
r2 emssr14
r2 emssr15
```
r2 emssr16
        a    i    u    e    o
r2 emssr17
  k     ka   ki   ku   ke   ko
r2 emssr18
  s     sa   si   su   se   so
r2 emssr19
  t     ta   ti   tu   te   to
r2 emssr20
  n     na   ni   nu   ne   no
r2 emssr21
  h     ha   hi   hu   he   ho
r2 emssr22
  m     ma   mi   mu   me   mo
r2 emssr23
  y     ya   yi   yu   ye   yo
r2 emssr24
  r     ra   ri   ru   re   ro
r2 emssr25
  w     wa   wi   wu   we   wo
r2 emssr26
  g     ga   gi   gu   ge   go
r2 emssr27
  z     za   zi   zu   ze   zo
r2 emssr28
  d     da   di   du   de   do
r2 emssr29
  b     ba   bi   bu   be   bo
r2 emssr30
  p     pa   pi   pu   pe   po
r2 emssr31
```
r2 emssr32
r2 emssr33
先頭三つは予約されている。
r2 emssr34
r2 emssr35
| 番号 | 音節 | 役目 |
r2 emssr36
|---:|---|---|
r2 emssr37
| 0 | `ka` | 層境界 |
r2 emssr38
| 1 | `ki` | 無声ワイヤ(恒等箱ひとつ) |
r2 emssr39
| 2 | `ku` | 零標示音 $z_e$。三音節の名前の頭にもなる |
r2 emssr40
r2 emssr41
生成元 $k$ 番の名前は式 (1.2) が決める(10 §1)。
r2 emssr42
r2 emssr43
$$
r2 emssr44
\operatorname{name}(k)=
r2 emssr45
\begin{cases}
r2 emssr46
[\sigma_{3+k}] & k<60\\[4pt]
r2 emssr47
\texttt{ku}\cdot[\sigma_{3+q},\ \sigma_{3+r}] & k\ge60,\quad k-60=60q+r
r2 emssr48
\end{cases}
r2 emssr49
\tag{1.2}
r2 emssr50
$$
r2 emssr51
r2 emssr52
$\sigma_{63}\ldots\sigma_{69}$(`be` `bo` `pa` `pi` `pu` `pe` `po`)は採用語彙の字母 $\Sigma_V$ になる。
r2 emssr53
名前の頭に立つ `ku` はどの一音節名とも一致しないので、名前の集合は接頭自由になり、
r2 emssr54
最長一致の語彙引きが一意に決まる。
r2 emssr55
r2 emssr56
## 2. 層と frontier
r2 emssr57
r2 emssr58
層境界音が層を切る。層の中では、箱が **今の位置から** 入力を取る。
r2 emssr59
r2 emssr60
$$
r2 emssr61
S(k,q,r)=a
r2 emssr62
\tag{2.1}
r2 emssr63
$$
r2 emssr64
r2 emssr65
| テンソルの軸 | 音節列での現れ方 |
r2 emssr66
|---|---|
r2 emssr67
| $r$ 因果深度 | `ka` の出現回数 |
r2 emssr68
| $q$ frontier 位置 | 層の中での音節の位置 |
r2 emssr69
| $k$ 語位置 | 表示の都合。テンソルには現れない |
r2 emssr70
r2 emssr71
層の高さは前駆関係から出る(構成語 §2.2)。
r2 emssr72
r2 emssr73
$$
r2 emssr74
h(v)=
r2 emssr75
\begin{cases}
r2 emssr76
0 & \operatorname{Pred}(v)=\varnothing\\
r2 emssr77
1+\max_{u\in\operatorname{Pred}(v)}h(u) & \text{その他}
r2 emssr78
\end{cases}
r2 emssr79
\tag{2.2}
r2 emssr80
$$
r2 emssr81
r2 emssr82
定理 2.1 がこの分解を一意にする。だから読みは文法解析ではなく復号になる。
r2 emssr83
r2 emssr84
### 例
r2 emssr85
r2 emssr86
```
r2 emssr87
hu hu hu ka        層 0   frontier = [D, D, D]
r2 emssr88
ki no ka           層 1   位置 0 を素通し、位置 1〜2 を足す → [D, D]
r2 emssr89
no ka              層 2   位置 0〜1 を足す               → [D]
r2 emssr90
```
r2 emssr91
r2 emssr92
`ki` は「この位置のワイヤを次の層へそのまま渡す」を表す。位置を一つ進める。
r2 emssr93
r2 emssr94
## 3. 注記
r2 emssr95
r2 emssr96
境界を $I$ で閉じた文は、境界流を動かさない(16 §4)。
r2 emssr97
r2 emssr98
$$
r2 emssr99
C:I\to I,
r2 emssr100
\qquad
r2 emssr101
C_1;C;C_2=C_1;C_2
r2 emssr102
\quad(\text{境界の上で})
r2 emssr103
\tag{3.1}
r2 emssr104
$$
r2 emssr105
r2 emssr106
値を立てて廃棄で閉じれば、どんな長さの文でもこの形になる。
r2 emssr107
r2 emssr108
```
r2 emssr109
hu hu ka, ki ha ka, no ka, se ka, se ka, ho ka.
r2 emssr110
hu hu ka, no ka.
r2 emssr111
```
r2 emssr112
r2 emssr113
一文目は $3/4$ を立てて `ho`($!$)で捨てる。二文目の値 $2$ は変わらない。
r2 emssr114
注記はテンソルに載り、$\operatorname{CNF}$ を持ち、$\#k$ で参照できる。
r2 emssr115
r2 emssr116
$$
r2 emssr117
\boxed{\ \text{コメントとコードの区別は構文に無い。境界の幅にしかない}\ }
r2 emssr118
$$
r2 emssr119
r2 emssr120
## 4. 表示の自由
r2 emssr121
r2 emssr122
命題 11.1 により、語境界は可逆表示の範囲で自由に動く。次の三つは同じチェンバーを与える。
r2 emssr123
r2 emssr124
```
r2 emssr125
hu hu ka ki ha ka no ka se ka se ka
r2 emssr126
huhuka, kihaka.
r2 emssr127
  noka
r2 emssr128
  seka seka!
r2 emssr129
```
r2 emssr130
r2 emssr131
## 参照
r2 emssr132
r2 emssr133
- [02_boundary](02_boundary.md) 境界と型
r2 emssr134
- [03_intent](03_intent.md) 意図の判定条件
r2 emssr135
- [generators/Index](../generators/Index.md) 生成元の総表