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
|