J: 단어 형성
J: 단어 형성 (Intro 16)
J 입문 16장에서는 문장 해석이 단어 형성(word formation)에서 시작하며, 공백·아포스트로피·구두점을 다루는 단어 형성 함수 ;:를 설명해요.
출처: 문서
본문
쓰여진 영어 문장의 해석은 단어 형성으로 시작돼요. 그 과정은 문장을 단위로 나누는 공백에 기반하지만, 아포스트로피와 구두점 같은 문제로 복잡해져요: was와 Brown와 Ross'는 각각 단일 단위이지만, however,는 그렇지 않아요(쉼표가 별개의 단위이기 때문).
다음 문자 목록들은 J의 문장을 나타내며, do 또는 execute 함수(".)를 적용해 실행할 수 있어요:
m=: '3 %: y'
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의 형태학 규칙(rhematic rules)은 영어 구에 상당히 잘 적용돼요:
words p=: 'Nobly, nobly, Cape St. Vincent'
+-----+-+-----+-+----+---+-------+
|Nobly|,|nobly|,|Cape|St.|Vincent|
+-----+-+-----+-+----+---+-------+
>words p
Nobly
,
nobly
,
Cape
St.
Vincent
연습문제 (Exercises)
16.1
앞 연습문제에서 pp=:+//.@(*/) 같은 문장을 골라 따옴표로 감싸고, 단어 형성(;:)이 그것들에 미치는 효과를 관찰해 보세요.
16.2
커서를 줄의 왼쪽으로, 그 줄에서 하나 이상의 공백으로 분리되도록 이동하고 Ctrl F1을 눌러 문장의 단어들을 각각 박스로 표시해 보세요.