コメントの削除
Posted feedbacks - PostScript
言語仕様的には PostScript では%以降がコメントになります。 ただしプリンタや処理系によってはコメント中の情報を用いて処理をする場合があります...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | %!PS
/Decomment { % (filename) Decomment -
true exch
(r) file
{
% outputflag file
dup read
not { exit } if
dup 37 eq {
3 -1 roll pop false 3 1 roll
} if
dup dup 10 eq exch 13 eq or {
3 -1 roll pop true 3 1 roll
} if
2 index {
( ) dup 0 4 -1 roll put
print
} {
pop
} ifelse
} loop
pop pop
} bind def
%---- Test Code ----
(decomment.ps) Decomment
|
修正版... 文字列中に%を書けたとは...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | %!PS
/Decomment { % (filename) Decomment -
true exch
0 exch
(r) file
{
% outputflag file
dup read
not { exit } if
dup 40 eq {
3 -1 roll 1 add 3 1 roll
} if
dup 41 eq {
3 -1 roll 1 sub 3 1 roll
} if
dup 37 eq {
2 index 0 eq {
4 -1 roll pop false 4 1 roll
} if
} if
dup dup 10 eq exch 13 eq or {
4 -2 roll pop pop true 0 4 2 roll
} if
3 index {
( ) dup 0 4 -1 roll put
print
} {
pop
} ifelse
} loop
pop pop pop
} bind def
%---- Test Code ----
(====%===) pop % ==
(decomment.ps) Decomment
|




nobsun
#6534()
Rating-1/5=-0.20
[ reply ]