α置換
Posted feedbacks - Other
文字列の処理がうまくいってませんでした。。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | --- alpha.cs.release1 2008-04-09 01:11:32.000000000 +0900
+++ alpha.cs.release2 2008-04-09 01:14:15.000000000 +0900
@@ -65,13 +65,12 @@
switch (st) {
case State.InStr: //文字列リテラルの中
+ buf.Append(c);
if (c == '\\') {
- buf.Append(c);
if (++pos < strIn.Length) {
buf.Append(strIn[pos]);
}
} else if (c == '"') {
- buf.Append(c);
this.state.Pop();
}
break;
|



gandalf #6153() Rating-2/6=-0.33
標準入力から与えられたソースコードの変数名 を置換するプログラムを作ってください。 最近はリファクタリングツールなどの普及でこ のような需要は少ないかと思われますが、viな ど貧弱なエディタを使っているときに困る のが変数名の置換です。さすがに以下の例のよ うなプログラムは例としてしか書きませんが、 置換しようとしている変数名と同じ綴りの他の ものがプログラム中に出てくることはまれにあ ります。そこで、与えられたソースコードに現 れる変数だけを指定された名前に置換してくだ さい。 置換対象となるソースコードと使用言語は同じ ものを使ってください。与えられるソースコー ドは、完全なコンパイル単位、もしくはパース して意味が通る範囲のものどちらであってもか まいません。後者の場合、一番外側の変数だけ 置換できるようにしてください。 C言語での解答例をつけたかったのですが、と ても難しかったためまだ作成できていません。 ご容赦ください。 例 $ cat a.c /* a */ int foo() { struct a {int a;} a; #if FOO a.a = 1; #endif { int a; } return 0; } $ alpha -DFOO=1 b a < a.c /* a */ int foo() { struct a {int a;} b; #if FOO b.a = 1; #endif { int a; } return 0; }[ reply ]