- 1 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 19:45:18 ]
- プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 意味論に関する話題も歓迎です。 前スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ 5 pc8.2ch.net/test/read.cgi/tech/1106129164/ 6 pc8.2ch.net/test/read.cgi/tech/1115335709/ 7 pc8.2ch.net/test/read.cgi/tech/1129287390/ 関連リンクは多分 >>2-10 あたり
- 304 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 05:48:47 ]
- 前スレの消費が早すぎてログ取り損ねた。
だれか、うpしてくれ。
- 305 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 18:56:06 ]
- >>304
ttp://www.uploda.org/file/uporg238263.zip.html
- 306 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 19:56:34 ]
- >>804
どうせ読んでもLispの話しばかりだよw
- 307 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 21:15:52 ]
- >>301
サンクスです。 >>302 それだとループしちゃうっしょ。
- 308 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 21:58:41 ]
- >>307
再帰させるのが構文解析のミソ
- 309 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 22:27:53 ]
- なら、終了条件(終端記号)も用意しなきゃな。
- 310 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 23:04:56 ]
- >>309
式を展開していくと最終的には値になるからそれが終了条件じゃね? とか適当なことをほざいてみるテスト
- 311 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 23:30:40 ]
- >>306
ものすげぇ遠い未来のスレようこそ
- 312 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 01:11:11 ]
- >>310
それが項だろ。なら「式を構成する項」で合ってるだろ。 つうか、「〜みるテスト」って久しぶりに見た。 ものすげぇ遠い過去のスレからようこそ
- 313 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 01:37:25 ]
- つか、「項」を持ち込まないと演算子の優先順位が表現できんだろ。
*や/でつながれた式が「項」。それを+や-でつなげたのが「式」。
- 314 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 01:42:55 ]
- (式)は終了してないけど項?
なんだかよくわかんね。 レベル低くてごめん、勉強してくる。
- 315 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 01:43:25 ]
- じゃあそれを << で繋げたのは何?
さらにそれを && で繋げたのは何? さらにそれを…
- 316 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 02:06:48 ]
- >>315
K&Rの末尾の構文規則でも読め。 つかWeb上でも探せば電卓の構文規則くらいあるし。 というわけで探した。再帰下降パーサ付きだ。 www.ie.u-ryukyu.ac.jp/~kono/lecture/compiler/c4/lecture.html
- 317 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 10:49:28 ]
- >>307
解析する式は段々と小さな部分式になっていって いつか変数か定数に帰着して終わるから無限再帰ではない。 つまり最終的に出来上がる構文木のすべての葉ノードまで ノードを作成しながら"再帰"的に"下降"して終了する。 (これはプログラミング言語関係の各種の性質の数学的証明で よく使われるテクニックである「式の長さによる帰納法」に対応してるわけだな。) とはいえ実際問題としては演算子の優先順位や結合規則を文法的に表現する必要から 式を何種類か(代入式、条件式、論理和、論理積、単項式などなど)にわけて その間を巡りながら再帰していくわけだけどな。 で、再帰を素朴に再帰呼び出しで書く(再帰降下法)と 大規模なプログラムに対しては 再帰が深くなりすぎて溢れたり実行効率が悪化したりするから パーサ・ジェネレータは自前で管理するスタックとループで動くような コードを生成することが多いわけですな。
- 318 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 13:58:41 ]
- 「自分が言い負けたかのように見えなくもない」ログを万が一にも残したくなくて、
みんな揚げ足取りに必死ですね(^_^;
- 319 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 14:08:39 ]
- >>318
俺も常々不思議なんだが、記名式ならともかく匿名式で必死になる意味がわからん
- 320 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 14:58:26 ]
- >>318-319
議論では疑問点を質すことは当然だし、 それをやらずになぁなぁで済ませたら正確な情報交換ができん。 その過程が揚げ足取りにしか見えないのは素人の浅墓さというもの。 特に立場も背景も知識も異なる多人数でやりとりしてれば 一見つまらないことに価値を見出し明確にしたいと思うものがいても 全く不思議はないし、むしろそういうことがあるからこそ 細部が詳細になり議論は深まる。 必死なんじゃなくて真面目なだけだろう。 なぜならどうせ時間使って議論するなら意味がある議論をしたいからな。
- 321 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 15:31:47 ]
- >>320は>>317ってことでOKかな?
おまいさんが真面目に語ったのはわかったが、それに対して反論も煽りも来るのが2ch。 その程度で駄々こねるなら初めから書き込まなきゃいいのに。
- 322 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 15:34:33 ]
- termがterminationの略だと思ってる人がいるみたいだけど、そうなのか?
そのまま「項」、つまり単項式って意味だと思ってたんだけど。
- 323 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 15:51:35 ]
- >>321
なんでマジレスすると駄々こねたことになるのかが不思議。
- 324 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 16:32:25 ]
- マジレスの応酬になると馬鹿には不利だから、
なし崩しにそれを「痛い行為」ということにしてしまっているのでは。
- 325 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 16:38:49 ]
- 2chで必須のスルーを覚えよう。
- 326 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 17:05:54 ]
- ここより萌え言語スレのほうが熱いな。
- 327 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 17:06:14 ]
- >>325
スルーすることはもちろんあるがその基準は個人的なものだから それをとやかく言われてもなんともしようがありませんなぁ。 煽りと反論を弁別する閾値は人それぞれでしょう? (時間など余裕がなくて結果的にスルーになるなど、 同じ人でも時々の事情で変わるだろうし…。) 自分の場合は愉快犯的であることが明らか(無意味なコピペを繰り返すなど)とか 知的・精神的障害の兆候が明らか(あまりに支離滅裂な内容)とかでなければ 反論と取るし、反論には必要に応じて言論で対処する。 正直>>324のような感想を持つ瞬間もあるが、それは決め付けずに置くべく努めている。
- 328 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 17:41:53 ]
- 注意:スルーしないからこうやって不毛な精神論に発展するのです。
- 329 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 18:21:08 ]
- >>328
自己言及?www
- 330 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 18:31:43 ]
- >>322
termはtermだよ(本当の語源までは知らないけど)。 むしろ英語では式→expressionで、終端記号→terminal、非終端記号→nonterminal >>300 「項」って何?名前選びに迷ってるならこことかどうよ?(Javaの文法) www.y-adagio.com/public/standards/tr_javalang2/syntax.doc.html#44467 まあ自分で定義した「項」なるものを取り入れたいならtermでいいと思う。
- 331 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 18:55:48 ]
- >>329
リフレクションかw 何か面白いインターフェースでリフレクションを実装してる人いる? 自分はAspectもtemplate metaprogramming もgenerative Programmingの観点から 見事に整理して見せた書籍("Generativ Programming", K. Czarnecki and U.W. Eisenecker , Addison-Wesley, 2000)に感動してGenerative Programmingの観点から リフレクションを整理した言語を作れないものかと思っているんだが今のところアイディアがない。
- 332 名前:デフォルトの名無しさん [2005/11/16(水) 20:52:27 ]
- >>313
どちらもexpressionでしょ普通。馬鹿?
- 333 名前:デフォルトの名無しさん [2005/11/16(水) 20:58:12 ]
- ついでに突っ込んでおくと、文->Statement
- 334 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 21:06:07 ]
- -/*+12345
- 335 名前:322 mailto:sage [2005/11/16(水) 22:08:31 ]
- >>330
goo 辞書より「項」 > (2)〔数〕 > (ア)多項式を構成するそれぞれの単項式。 > (イ)数列・級数で、そのおのおのの数や式。
- 336 名前:322 mailto:sage [2005/11/16(水) 22:20:31 ]
- terminationってよりterminalですね。すみません。
terminalの語源がtermとか、その逆とか、同じ語源を持つとか? まあ語源はどうでもいいんだけど、BNFのそういう例で出てくるtermは 「終端」とか「停止」とかいう意味ではないんじゃないかと。 それにterminalの略なら、expressionもexprとかexpに略すんじゃない? 連投スマソ
- 337 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:22:06 ]
- 全てはリスト
- 338 名前:デフォルトの名無しさん [2005/11/16(水) 22:29:24 ]
- 普通はterm->停止でよいかと。
- 339 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:30:26 ]
- おれはexp派
- 340 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:31:01 ]
- 普通?
- 341 名前:314 mailto:sage [2005/11/16(水) 22:31:52 ]
- >>322 >>335
つまり「項⊂式」か。理解したサンクス。 停止云々の発言以外は、両者の言い分どちらも正しかったって感じだな。
- 342 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:33:42 ]
- 秀term
- 343 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 22:59:42 ]
- >>318
勝負あったようだな
- 344 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:34:55 ]
- 俺はLisp派
- 345 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:46:47 ]
- >317
>解析する式は段々と小さな部分式になっていって 左再帰性の問題みたいに、段々小さくならない場合もあるよ。
- 346 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:53:28 ]
- >>336
つ www.m-w.com/dictionary/term 語源同じだそうです。
- 347 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 23:53:58 ]
- 俺はruby派
- 348 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 00:18:57 ]
- Rubyソースは見た目が悪い。
- 349 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 09:41:12 ]
- termを項と訳している本はいっぱいあるよ
- 350 名前:デフォルトの名無しさん [2005/11/17(木) 11:40:50 ]
- 俺は
statement->expression->term->factor って使うけど。 というかコンパイラ本ってこうなってね?
- 351 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 12:12:07 ]
- >>350
Look Ahead(先読み)があるとtermとかfactorとか使わなくてもexpression書けちゃうからな。 特にyacc系から入るとあまり見かけないんじゃないかな。
- 352 名前:304 mailto:sage [2005/11/17(木) 17:38:20 ]
- >>305
さんくす
- 353 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 18:46:22 ]
- >>351
そうだな。bison/yaccならexpression以下は本当にそのままを表すだけがほとんど。 例)semicolon
- 354 名前:デフォルトの名無しさん [2005/11/17(木) 21:57:59 ]
- 俺はりんご派
- 355 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 22:16:01 ]
- シッシッ
- 356 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 23:44:23 ]
- 合えて言うと真珠派かな?
- 357 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 14:24:30 ]
- Perlのオブジェクト指向システムってどうよ?
第一引数がパッケージ名や参照でそれがそのままselfになるのって argv[0]をうまく使ったトリックだよね。 実際はクロージャ生成をNewで隠蔽して、そのクロージャの環境を 持ち回ってるってことになるんだよね。 ああいうの元ネタあるの?
- 358 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 15:58:06 ]
- >>357
argv[0] つか、$_[0] な。 あれはあれで良いものだが、クラス・メソッドの呼び方に SomeClass::operation() と SomeClass->operation() があるのは、 美しくないというか、直感的じゃないとは思うね。
- 359 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 22:10:53 ]
- LL(1)で文法を考えてたんですけど、
式は一般的な形で最終的に、数値か識別子か括弧の式になります。それで 文 ::= 代入文 | 式文 代入文 ::= 識別子 ':=' 式文 式文 ::= 式 ';' という文法だと、代入文と式文の両方のfirst(n)に識別子が含まれて駄目ですよね。 でもよくありそうな文法で、文法を変形したり、何かアイディアあったら教えてください。
- 360 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 22:59:25 ]
- BASIC風味で
代入文 ::= 'let' 識別子 ':=' 式文 とか シェルスクリプト風に変数の参照は$をつける、とか 文 ::= 代入文 | 関数呼び出し文 | while文 | return文 | ... にして式文を書けなくしてしまう、とか 代入文ではなく代入式にしてしまうとか。 なんかウチの大学のカリキュラム思い出した。 ウチの大学の宿題じゃないよな?
- 361 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 23:05:56 ]
- LL使ってる時点で実用性が乏しいといえるだろう。
まぁ、宿題なら仕方無いが。
- 362 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 00:48:19 ]
- >>361
pascal しらんの?アフォ?
- 363 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 00:51:04 ]
- 解析能力と実用性に相関関係は無いと思うが
- 364 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:02:16 ]
- >>363
普通にあるでしょ? 現実をしらない研究者ならともかく、発想がしんじられない。
- 365 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:19:35 ]
- >>364
LLに収まる文法が LLに収まらない文法に比べて何が劣ってるか説明してくれない? 単純に興味があるので。
- 366 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:29:37 ]
- LL(1)とかに収まらない言語でも今はLLで書くだろ。
- 367 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:31:54 ]
- >>359
Pascalは、 >>360 >文 ::= 代入文 | 関数呼び出し文 | while文 | return文 | ... >にして式文を書けなくしてしまう、とか この方式だね。JIS X3008を見ると、 文 = [ ラベル ":" ] ( 単純文 | 構造文 ) . 単純文 = 空文 | 代入文 | 手続き呼び出し文 | goto文 . 空文 = . 構造文 = 複合文 | 条件文 | 繰り返し文 | with文 . となっている。 実際、文を書くべきところにいきなり a + 5; みたいな式文を書く必要はないでしょ。 >>364 高い解析能力が必要とされる文法なんて人間にとっても覚えにくいだけだから、 363の言うことはもっともだと思うが。 Pascalでラベルに文字列を使いたかったら、予約語「label」を導入して、 label hoge : 文; とでも書かせておけばよかったのでは。
- 368 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:32:51 ]
- 高い解析能力が全く要求されないLispは人間にとって覚えやすいんですか?
- 369 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:39:00 ]
- もちろん文法は覚えやすいだろ。
当然文法を覚えることと言語を使いこなすことは別だが。
- 370 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:44:50 ]
- >>368
forの構文やifの構文など、通常は文法の範疇のものが、 Lispだと関数やマクロの呼び出しになって、文法の範疇から 外れるだけ。 トータルで見れば、通常文法に相当する知識が減ってるわけ じゃないが、文法に属する範囲は狭い。
- 371 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 03:35:02 ]
- 覚えやすい≠使いやすい
- 372 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 06:16:52 ]
- また構文の話ですか。。
- 373 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 08:34:25 ]
- >>368
最近、仕掛けが巧妙になってきている。
- 374 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 23:01:29 ]
- >>373
| | | しりんご
- 375 名前:デフォルトの名無しさん [2005/11/20(日) 00:02:34 ]
- パクッ
- 376 名前:デフォルトの名無しさん [2005/11/20(日) 00:14:02 ]
- 馬鹿でも理解できるLispってか
- 377 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:17:31 ]
- 尻んご
に見えた
- 378 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:25:36 ]
- 21st Century Compilers買った人いる?
- 379 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:30:14 ]
- え、アレ出たの?
- 380 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:50:24 ]
- www.amazon.co.jp/exec/obidos/ASIN/0321131436/249-1922842-0005150
年末の暇つぶしにでも
- 381 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 03:50:30 ]
- 3〜5週間って、運が悪いと年が明けてから着くんじゃないか……
- 382 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 03:58:10 ]
- 円安だからか、洋書が高いな
- 383 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 21:52:49 ]
- >>380
この本って、一年以上前から紹介されて入るけど、発売が(ry
- 384 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 23:22:31 ]
- >>368
覚えやすいが、使いにくい。
- 385 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 19:23:38 ]
- 馬鹿研究者程、食いつきが良いw
- 386 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 19:29:07 ]
- 研究者であるならば、内容に関わらず買う必要はあるだろうな。教養として。
- 387 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 20:26:57 ]
- 宣伝ならもうちょっとうまくやろうぜ
- 388 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 20:34:38 ]
- 素人の集まりのくせに、何が研究者だよ。ばかばかしい。
- 389 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 23:16:36 ]
- >>388
いや、結構いるとおもうぞ。 ただし、パラダイムを買える程のテーマは皆無だがw
- 390 名前:デフォルトの名無しさん [2005/11/22(火) 00:06:54 ]
- つまり、重箱の角研究ってやつ?
ワロタw どこからも引用されず、どこにも適用されずw
- 391 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 00:13:46 ]
- というか一番作りやすいからだろうな >> 研究用
- 392 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 00:21:47 ]
- 洋書に限らず値が張る書籍は会社に買わせて内容を確認してから気に入った奴だけ個人で購入してる。
研究所勤務のメリットではあるな。
- 393 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 00:19:21 ]
- つまらんメリットだなw
- 394 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 00:41:04 ]
- IBMのTRLとか、図書システムに関しては非常に良く出来ていたな
- 395 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 01:00:22 ]
- >>390
ワロタw どこかのウイスキーみたいな宣伝文句だなw
- 396 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 01:22:41 ]
- なんかここ、ロートルの墓場みたいね
- 397 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 12:27:15 ]
- bison を使って簡単なスクリプト言語を作成してるんですが
実行時にエラーが発生したとき ソースの何行目でエラーが出たかを出力したいと思います。 例えば、数値と文字列の加算が認められないとき a = 1 + "hello" とすると実行時にエラーが出るようにしてるんですが '+' がソース中の何行目かが知りたいんですがいい方法はありますでしょうか? 字句解析の結果に そのトークンの行数も含めればいいと思うんですが bison の %union を使うと行数を含めることができないので なにかいい方法があったら教えてください。
- 398 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 13:16:19 ]
- >>397
yylinenoじゃ不満?
- 399 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 18:48:32 ]
- エラーにはならんよ。
a="hellp"
- 400 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 19:07:40 ]
- >398
bisonで、式を expr : expr '+' expr | expr '*' expr ... という具合に書いているのですが、 間に改行を入れている場合 アクションで得る時点のyylineno では 演算子の出現した行番号と異なってしまうのです。 かといって、演算子を非終端記号にして その時点のyylinenoを記録しておくとすると 演算子同士の優先の設定ができなくなりますし…。
- 401 名前:デフォルトの名無しさん [2005/11/23(水) 21:00:58 ]
- 大物は来ないのか?
- 402 名前:398 mailto:sage [2005/11/23(水) 22:12:45 ]
- >>400
.yで %union { ...; int lineno; ...; } %token<lineno> '+' '-' ... .lで "+" {yylval.lineno = yylineno; } "-" {yylval.lineno = yylineno; } ... ってダメなんだっけ?
- 403 名前:398 mailto:sage [2005/11/23(水) 22:16:08 ]
- ごめん。 return忘れてた。
"+" {yylval.lineno = yylineno; return '+'; }
- 404 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 23:05:34 ]
- >402
その方法でいけそうです。 ありがとうございます。
|

|