コメントをすべて消してくれるプログラムです。
// から行末、/* */ 内を消すプログラムです。あしからず。
自分で書いても良かったんですが、flex 使ってみました。これならクオート(リテラル)の処理が自動です。
コンパイル方法は以下の通り。
flex remove-comments.l; gcc lex.yy.c -lfl -o remove-comments.exe
ファイル名を指定してください。
./remove-comments.exe filename
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%{ | |
%} | |
%x COMMENT | |
%x STRING | |
cmt \/\/.* | |
%% | |
{cmt} /* do nothing */ | |
flex remove-comments.l ;gcc lex.yy.c -lfl;gcc lex.yy.c -lfl -o remove-comments.exe | |
\" BEGIN(STRING); yymore(); | |
<STRING>\n BEGIN(INITIAL); | |
<STRING>([^\"\n]|\\\"|\\\n)+ yymore(); | |
<STRING>\" printf(yytext);BEGIN(INITIAL); | |
"/*" BEGIN(COMMENT); yymore(); | |
<COMMENT>"*/" BEGIN(INITIAL); | |
<COMMENT>"*" yymore(); | |
<COMMENT>[^*]+ yymore(); | |
%% | |
int main(int argc, char** argv){ | |
yyin=fopen(argv[1],"r"); | |
return yylex(); | |
} |
追記です(2021-02-24)。Cygwin 環境での flex のインストール方法です。結論から言うと、m4 をインストール。gcc をインストールで動きます。Devel パッケージからはだめです。個別のプログラム名でインストール。
うるさいコメントがこれで消えます。
(追記)IME変換ってのはアメ公のエゴが満開ですよね。日本語は連中の所有物じゃない。冒涜です。