prepress-tips
codeLayouter ver 0.03
最終更新:
Bot(ページ名リンク)
-
view
最終更新日時: 2010/10/16
このページは 作成中です。
使用環境
- 変換は windowsのbatファイル codeLayout_fname.bat で行う。
- xxx_index.txt を変換するときは
codeLayout_fname.bat を codeLayout_xxx.bat にリネームし
リネームしたバッチファイルを実行する。
- xxx_index.txt を変換するときは
- このときは ソースの文字コードを シフトJIS にする。
- プログラム言語は perl , java を基本とするが
adjust_source.pl を使って いろいろな言語に対応できる。
@echo off
cd /d "%~dp0"
rem fn
set fn=%~n0
set fn=%fn:codeLayout_=%
echo new %fn%
rem codeLayouter
set codeLayouter=perl codeLayouter.pl
echo/ && %codeLayouter% %fn%_index.txt || ( pause && exit )
rem adjust C
set ex=c
( if exist _.%ex% del _.%ex% ) && ren %fn%.%ex% _.%ex%
perl adjust_source.pl c < _.%ex% > %fn%.%ex%
if exist _.%ex% del _.%ex%
rem language utf8
( if exist _.%ex% del _.%ex% ) && ren %fn%.%ex% _.%ex%
perl -n ^
-e "BEGIN { use Encode qw( encode decode ) ; }" ^
-e "/^.*/ ; print encode( 'utf8' , decode( 'cp932' , $& . \"\n\" ) ) ;" ^
_.%ex% > %fn%.%ex%
if exist _.%ex% del _.%ex%
echo/ && pause
html2 plugin Error : このプラグインで利用できない命令または文字列が入っています。
my $pl = ( 0 < @ARGV && $ARGV[0] =~ /^p$/i );
my $c = ( 0 < @ARGV && $ARGV[0] =~ /^c$/i );
my $css = ( 0 < @ARGV && $ARGV[0] =~ /^css$/i );
my $js = ( 0 < @ARGV && $ARGV[0] =~ /^j$/i );
my $tag = ( 0 < @ARGV && $ARGV[0] =~ /^t$/i );
my $r = ( 0 < @ARGV && $ARGV[0] =~ /^r$/i );
my $dot = ( 0 < @ARGV && $ARGV[0] =~ /^d$/i );
my $uws = ( 0 < @ARGV && $ARGV[0] =~ /^u$/i );
my $as = ( 0 < @ARGV && $ARGV[0] =~ /^a$/i );
BEGIN{ my $post = 0 ; }
while( <STDIN> ) {
$pl && do {
s,^(\s*)//,$1#,;
s,^/\*,$1=pod,;
s,^\*/,$1=cut,;
s,^(\s*\{\s*)//,$1#,;
s,^(?!\s*(?:my|our)\s)(\s*)(\S+\s*)\([^\)]*\)(\s*\{\s*)//,$1sub $2$3#,;
s,^(?!\s*sub\s)(\s*[^\{]*?[^\{\s])\s*;?\s*(\{\s*)//,$1 ; $2#,;
s,^(?!\s*sub\s)(\s*[^\{;/]*;\s*)//,$1#,;
};
$c && do {
;
};
$css && do {
m,^[^{;]*;?\s*{\s*//, && ( s"^([^{;]*);?(\s*{\s*)//"$1$2/*", s"(?=$)" */" );
m,^\s*//, && ( s"^(\s*)//"$1/*", s"(?=$)" */" );
};
$js && do {
s,^(\s*)(\S+\s*\([^\)]*\)\s*\{\s*)//,$1function $2//,;
s,^(?!\s*function\s)(\s*[^\{;]*[^\{;\s])\s*;?\s*(\{\s*)//,$1 ; $2//,;
s,([\,\*])\;(?=\s*$),$1,;
};
$tag && do {
m,^\s*//, && ( s/^\s*/$&<!-- /, s/$/ -->/ ), s,(>\s*);$,$1, ;
s,<\-([\w\-]+)>,</$1>,g ;
};
$r && do {
s,^(\s*\S+\s*)(\([^\)]*\)\s*\{\s*)//,$1 <- function $2#,;
s,^(\s*\S+)(\s*)(;?\s*)//,$1 <- NULL$2; $3#,;
s,^(\s*)//,$1#,;
};
$dot && do {
m,^[^{;]*;?\s*{\s*//, && ( s"^([^{;]*);?(\s*{\s*)//"$1$2/*", s"(?=$)" */" );
m,^\s*//, && ( s"^(\s*)//"$1/*", s"(?=$)" */" );
};
$uws && do {
m,^[^{;]*;?\s*{\s*//, && s"^([^{;]*);?(\s*){\s*//"$1$2//" ;
m,^\s*}\s*$, && s"^(\s*)}(\s*)$"$1//$2" ;
m,^\s*ifb\s.*\S +endif;?(?=\s|$), && s"^(\s*)ifb(\s.*\S) +endif;?(?=\s|$)"$1if$2" ;
m,^\s*if\s.*?;(?=\s*$), && s"^(\s*if\s.*?);(?=\s*$)"$1" ;
};
$as && do {
m,^[^{;]*;?\s*{\s*//, && s"^([^{;]*);?\s*{(\s*)//"$1--$2" ;
m,^\s*//, && s"^(\s*)//"$1--" ;
s,/\*,(*,g ; s,\*/,*),g ; s,\s*;(?=\s*$),, ; s,;;,\x0a,g ;
m,^\s*}\s*$, && s"^(\s*)}(\s*)$"$1$2" ;
};
print;
}
