2007年09月21日
Pyramid-Quine@sed その3
- 2007-09-21 (Fri)
- プログラミング ( sed/wake/awk )
エスケープの仕方を変えてみたら小さくなった.スコア 17 .
; ;;; s|^|\ DDDh;s\ /[BnD]//\ g;y/bcde/B\ BBnDE/CDDx;s\ /$/BB/mg;s/^/;\ Bn;;;BnsE^E/CD:;\ s/^[^DBn]*BnB(DB+B\ )/DB1B0/m;tCs/.$/E/p\ ;x;s/[`-Bx66]/BUB0/gDD\ DD; | h;s/[\n ]//g;y/BCDE/\\\n |/ x;s/$/\\/mg;s/^/;\n;;;\ns|^|/ :;s/^[^ \n]*\n\( \+\)/ \1\0/m;t s/.$/|/p;x;s/[`-\x66]/\U\0/g ;
真中に空白があるのでまだ小さくなりそう.
- Comments: 0
- TrackBack (Close): -
Pyramid-Quine@sed その2
- 2007-09-21 (Fri)
- プログラミング ( sed/wake/awk )
無駄を省いて小さくしてみた.スコア 19 .
; ;;; s|^|\ QQh;s/\ $/YY/mg;\ s/^/;Yn;;;\ YnsP^P/NQSs/\ Y([^Yn]*YnY)Y(\ SY+Y)/SY2Y1Y2/;N\ Qs//SY2Y1Y2/;s//SY\ 2Y1Y2/;s/.$/P/p;NSx;\ s/YnYPS//g;s/Yx59/YY/g\ ;s/Yx53/S/gNs/Yx4E/Yn/g;\ s/Yx50/P/g;s/Yx51/Q/gQ; | h;s/$/\\/mg;s/^/;\n;;;\ns|^|/ s/\([^\n]*\n\)\( \+\)/ \2\1\2/; s// \2\1\2/;s// \2\1\2/;s/.$/|/p; x;s/\n\| //g;s/\x59/\\/g;s/\x53/ /g s/\x4E/\n/g;s/\x50/|/g;s/\x51/ /g ;
ソース:pyramid-quine.19.sed 動かすには echo で改行だけ入れてやる必要あり.
echo | sed -f pyramid-quine.19.sed | diff - pyramid-quine.19.sed
- Comments: 0
- TrackBack (Close): -