J 9.03 の modifier train が いまいち理解できていなかったので、備忘録も兼ねて整理してみます。https://code.jsoftware.com/wiki/Vocabulary/ModifierTrains の内容を、まとめ直したものです。
N・V・A・C は、それぞれ noun・verb・adverb・conjunction を表します。
N・V は、# のような単独のトークンだけでなく、#~ のように modifier を適用したものも含みます。
逆に、単独のトークンだけが許容されるケース (C の直後) では N-・V- と書くことにします。
また、fork のような noun や verb を生成するトークン列を許容する箇所は、N+・V+ と表記します。
大体以下のような規則で解釈されるようです。
- modifier の実行が一番優先される
- conjunction と その直後の noun・verb が次に強く結びつく (
N-・V-)
- modifier train は基本的に fork・hook よりも優先される
ただし、一部 fork・hook を優先的に作る位置がある (N+・V+)
- verb の実行は一番優先順位が低い
verb の実行
| 並び |
意味 |
N V N |
(dyad V を実行) |
V N |
(monad V を実行) |
modifier の実行
| 並び |
意味 |
N C N- |
(C を実行) |
N C V- |
(C を実行) |
V C N- |
(C を実行) |
V C V- |
(C を実行) |
N A |
(A を実行) |
V A |
(A を実行) |
fork ベースの train
| 並び |
意味 |
N V V+ |
(fork を生成) |
V V V+ |
(fork を生成) |
A V V+ |
adverb (u A) V V
|
A A V+ |
conjunction (u A) (v A) V
|
C V- V+ |
conjunction (u C v) V V
|
V V+ C |
conjunction V V (u C v)
|
C V- C |
conjunction (u C v) V (u C v)
|
hook ベースの train
| 並び |
意味 |
V V+ |
(hook を生成) |
A V+ |
adverb (u A) V
|
C C |
conjunction (u C v) (u C v)
|
adverb ベースの train
| 並び |
意味 |
A A A |
adverb ((u A) A) A
|
C A A |
conjunction ((u C v) A) A
|
A A |
adverb (u A) A
|
C A |
conjunction (u C v) A
|
conjunction ベースの train
| 並び |
意味 |
N+ C A |
adverb N C (u A)
|
V+ C A |
adverb V C (u A)
|
N+ C C |
conjunction N C (u C v)
|
V+ C C |
conjunction V C (u C v)
|
A C N- |
adverb (u A) C N
|
A C V- |
adverb (u A) C V
|
C C N- |
conjunction (u C v) C N
|
C C V- |
conjunction (u C v) C V
|
A C A |
conjunction (u A) C (v A)
|
A C C |
conjunction (u A) C (u C v)
|
C C A |
conjunction (u C v) C (v A)
|
C C C |
conjunction (u C v) C (u C v)
|
N+ C |
adverb N C u
|
V+ C |
adverb V C u
|
A C |
adverb (u A) C u
|
C N- |
adverb u C N
|
C V- |
adverb u C V
|