ならば

音とかで遊んでいたログ

「buffaloって10回書いて」

Buffalo buffalo Buffalo buffalo buffalo buffalo buffalo Buffalo buffalo buffalo

は文法的に正しい「英文」で、簡略化した句構造木は下の図のようになる*1

オリジナルは8回のBuffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffaloだが、8回や10回に限らず、buffaloを任意の回数繰り返した「英文」は文法的に正しい。
そして、(頭文字が大文字のBuffaloと小文字のbuffaloの区別を事前に付けない場合は)この「英文」の句構造木は一意に決まらない。たとえば8回の場合、大文字・小文字の違いを無視すると、Wikipediaの記事とは違う句構造木を作ることができる。


100回の場合。関係詞節が多重入れ子になる。


上で載せた句構造木は全てRubyスクリプトで構築して、Graphvizで画像にした。Rubyスクリプトは、buffaloの繰り返し回数を受け取り、句構造木の深さ1のところにできるNP部分木とVP部分木のサイズがほぼ等しくなるように木を作って、DOT言語で出力する。

DOT言語にあるrank属性が便利だった。

*1:句構造木の表現は、本文中でリンクしているWikipediaの記事にある図に倣った