英語の解釈は文を単語に分解するところから始まります。最初はスペースで区切られた部分がベースとなるのですが、アポストロフィや句読点によって、事態は複雑になります。「was」と「Brown and Ross’」はそれぞれ一つの単位ですが、「however,」は違います。なぜならカンマはそれ自体で一つの単位だからです。
次に示す文字列はJ言語での文にあたり、実行の意味の関数".(クオートドット)で実行できます。
m=: '3 %: y' NB.x %: yはyのx乗根 d=: 'x %: y' x=: 4 y=: 27 4096 ". m 3 16 do=: ". do d 2.27951 8
j言語の単語構成はディクショナリーのパート1に書いてあります。さらに、単語構成関数;:(セミコロンコロン)は文に作用させると、文を構成する単語のリストをボックス化して示します。
;: m +-+--+-+ |3|%:|y| +-+--+-+ words=: ;: words d +-+--+-+ |x|%:|y| +-+--+-+
J言語の語形成ルールはほぼ英語のフレーズにも当てはまります。
words p=: 'Nobly, nobly, Cape St. Vincent' +-----+-+-----+-+----+---+-------+ |Nobly|,|nobly|,|Cape|St.|Vincent| +-----+-+-----+-+----+---+-------+ >words p Nobly , nobly , Cape St. Vincent
演習:
16.1 前章のpp=:+//.@(*/)のような文に対し、単語構成関数;:(セミコロンコロン)を作用させ、単語構成を観察せよ。
;: 'pp=:+//.@(*/)' +--+--+-+-+--+-+-+-+-+-+ |pp|=:|+|/|/.|@|(|*|/|)| +--+--+-+-+--+-+-+-+-+-+
16.2 カーソルを行の左にもって行き、ラインから1つ以上のスペースがあいたところで、Ctrl F1を押すことにより、ボックス化された文を表示させよ。
pp=:+//.@(*/) +--+--+-+-+--+-+-+-+-+-+ |pp|=:|+|/|/.|@|(|*|/|)| +--+--+-+-+--+-+-+-+-+-+