TVアニメ「ベルゼブブ嬢のお気に召すまま。」本PV │ 2018年10月10日(水)より各局にて放送開始!
アニメ『ベルゼブブ嬢のお気に召すまま。』
もふもふでかわいいです。
ベルゼブブがとても激務をこなしているとは思えないのですが、そう思わせないのができる人ってことですね。
私もできる人にいつかなりたいです。
grep続きです。
grepの色について、いろいろ埋め込んできましたが、そろそろソースを読み始めようかと思います。prtextがgrepの表示の要ってことで、printf埋め込み前のgrep.c(3.1)を使ってprtextを読んでいきます。
変数や関数の名前の意味を推測していきます。
1292 /* Output the lines between BEG and LIM. Deal with context. */ 1293 static void 1294 prtext (char *beg, char *lim)
引数のbeg、limとは何でしょう。
prtextを使用しているソースを確認してみましょう。
1409 char *prbeg = out_invert ? p : b; 1410 char *prend = out_invert ? b : endp; 1411 prtext (prbeg, prend);
使用されている変数名はprbegとprendです。
begin~endってことですね。
つまりbegはbeginの略です。
となると、limは、limitやlimitterといったところでしょう。
続いてこちら。
1296 static bool used; /* Avoid printing SEP_STR_GROUP before any output.
usedとは実に簡単な名前ですが、何がusedなんでしょう。この関数(prtext)がusedなのか。コメントでは、出力の前のSEP_STR_GROUPの表示を中止するとあります。
では、SEP_STR_GROUPとは何なのか。
56行目に定義されています。
54 enum { SEP_CHAR_SELECTED = ':' }; 55 enum { SEP_CHAR_REJECTED = '-' }; 56 static char const SEP_STR_GROUP[] = "--";
セパレータとして文字列を定義しているんですね。
続いてこの行。
1297 char eol = eolbyte;
eolなので、End of Lineですね。eolbyteということは行末の1Byteの文字でしょうか。
grep.c内を、eolbyteで検索してみます。
takk@deb9:~/tmp/grep-3.1/src$ grep -n 'eolbyte\>.*=' grep.c 2429: eolbyte = '\n'; 2676: eolbyte = '\0'; takk@deb9:~/tmp/grep-3.1/src$
行末の1Byte、改行またはNULL文字ってことですね。
つづく
コメント