     빈줄         := 공백* <LF>
     문장         := ANY+
     <ANY>        := #'.'
-    공백         := #'\\s'
+    공백         := #' '
+    공백4        := 공백 공백 공백 공백
     <LF>         := '\\n'
     <숫자>       := #'[0-9]'
    "))

    작은제목     := 문장

    (* 목록 *)
    <목록>       := 일반목록 <LF?> / 숫자목록 <LF?>
    일반목록     := (<'*' 공백+> 항목 <LF>)+
    숫자목록     := (<숫자+ '.' 공백+> 항목 <LF>)+
    항목         := 문장

    (* 인용 *)
    인용         := (<'>' 공백?> (빈줄 / 문장 <LF>))+

    (* 원문 *)
    원문         := (<공백 공백 공백 공백> ANY* LF)+

    (* 소스코드 *)
    소스코드     := <\"```\" 공백*> (<LF> 코드내용 / 소스언어 <LF> 코드내용) <\"```\" LF LF?>


  (testing "목록"
    (are [시도 결과] (= 시도 결과)
      (분석 "* 일반목록\n* 다음\n")
      [:문서 [:일반목록 [:항목 [:문장 "일" "반" "목" "록"]] [:항목 [:문장 "다" "음"]]]]

      (분석 "* 첫번째\n  첫째이어서\n* 두번째")
      [:문서 [:일반목록
              [:항목 [:문장 "첫" "번" "째"] [:문장 "첫" "째" "이" "어" "서"]]
              [:항목 [:문장 "두" "번" "째"]]]]

      (분석 "1. 첫번째\n2. 두번째\n")
      [:문서 [:숫자목록 [:항목 [:문장 "첫" "번" "째"]] [:항목 [:문장 "두" "번" "째"]]]]

      (분석 "1. 첫번째\n  이어서\n2. 두번째\n")
      [:문서 [:숫자목록
              [:항목 [:문장 "첫" "번" "째"] [:문장 "이" "어" "서"]]
              [:항목 [:문장 "두" "번" "째"]]]]))

  (testing "제목"
    (are [시도 결과] (= 시도 결과)
