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): -