- 1 名前:デフォルトの名無しさん [2005/12/20(火) 21:43:02 ]
- プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,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/ 8 pc8.2ch.net/test/read.cgi/tech/1131273918/ 関連リンクは多分 >>2-10 あたり
- 259 名前:デフォルトの名無しさん mailto:sage [2006/01/06(金) 23:55:00 ]
- >>257
俺言語は局所的用途の為に作られたもの 俺様言語は自己満足のたまもの。
- 260 名前:デフォルトの名無しさん mailto:sage [2006/01/06(金) 23:58:22 ]
- WinAPIの質問ですいませんけど、
WindowsでJIT作ろうとしたら void *mem = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE) memの先にコード書き込む VirtualProtect(mem, size, PAGE_EXECUTE, &old) ジャンプする で良いんでしょうか?
- 261 名前:デフォルトの名無しさん mailto:sage [2006/01/07(土) 00:46:43 ]
- WRITEをはずしておくと意図しないアレをアレできるからアレかも
- 262 名前:デフォルトの名無しさん [2006/01/07(土) 19:10:16 ]
- >>259
うまい! あんた、扇子あるよ。
- 263 名前:デフォルトの名無しさん mailto:sage [2006/01/07(土) 20:11:22 ]
- ま、何を作ろうともLispに還元されるわけだけどね。
- 264 名前:デフォルトの名無しさん mailto:sage [2006/01/07(土) 21:27:15 ]
- >>261
PAGE_EXECUTE コミット済みページ領域に対する実行アクセス権を有効にします。 このコミット済み領域の読み取りまたは書き込みを行おうとすると、 アクセス違反が発生します。
- 265 名前:デフォルトの名無しさん mailto:sage [2006/01/08(日) 05:32:27 ]
- >>264
そうだったんか・・・ PAGE_EXECUTE_READ とは別か・・・
- 266 名前:デフォルトの名無しさん [2006/01/08(日) 23:06:40 ]
- りんご
- 267 名前:デフォルトの名無しさん mailto:sage [2006/01/08(日) 23:30:44 ]
-
===== FORTRAN 77 =====
- 268 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 01:38:26 ]
- DEFINT A-Z
- 269 名前:デフォルトの名無しさん [2006/01/10(火) 23:40:58 ]
- なんで、最適化用語って変なのばかりなんだろう?
もうちょっと、かっこいい名前つけられんのかねぇ?
- 270 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:51:15 ]
- コンパイラの用語って変なのばっかり。
還元(reduce)って言葉見つけたとき、酸化還元の還元かとおもったよ。
- 271 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 23:56:40 ]
- 合ってるよ。reduce には酸化還元の還元という意味もある。
- 272 名前:デフォルトの名無しさん [2006/01/11(水) 00:05:43 ]
- コンパイラ用語に使うときは意訳でよいから別の言葉を使って欲しかった。
- 273 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 00:42:29 ]
- もとに戻すんだから意味的にも還元で問題なかろう。
日本語力の乏しさを棚に上げて何言ってんだ。
- 274 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 01:05:57 ]
- >>269
例えば? >>272 じゃ、「リデュース」で。
- 275 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 01:22:05 ]
- 上方遷移…余計わからんな
- 276 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 03:36:45 ]
- >>270
コンピュータ用語自体変なの多いから気にスンナ
- 277 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 05:21:22 ]
- 自己満足のために、lispのdefmacroのc言語風なものを実装してます。
for(i=0,i<10,i++,printf("%d\n",i)); といったかんじのことは出来るようになったのですが、 for(i=0;i<10;i++){printf("%d\n",i);}と言った外側にブロックを 持ったマクロは、どうやって実現したらいいか悩んでます。 何かいい参考資料ないでしょうか???
- 278 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 06:05:07 ]
- >>277
ttp://mike-austin.com/blog/2005/10/dylan-macro-system-is-badass.html
- 279 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 08:25:43 ]
- >>278
ありがとうございます。 Dylanですか。初めて聞きました。 結構古い言語なんですね。仕様読んでみます。 使ってみたい気がするのですが、windowsバイナリとか落ちてないのかなぁ。
- 280 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 08:36:56 ]
- >>279
商用の Dylan 処理系がオープンソースになったものがあるよ。 www.gwydiondylan.org/downloads/opendylan/
- 281 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 12:53:41 ]
- >>280
ほんとだ。ちょっと探せば見つかるじゃん。orz ありがとうござます。 Hygieneって書いてあるので、基本的に名前の衝突が回避されていて、 BNFを書くような感じでパターン照合を行うものがDylanのマクロと考えてよいのでしょうか? パターン照合はやったことがないのですが、 構文解析器の自動生成ができる技術力ないと作れないような気がするのですが。。。
- 282 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 13:27:11 ]
- >>281
Schemeのsyntax-rulesの美しさに萌えろ。S式最強。
- 283 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 14:11:20 ]
- >>282
Schemeのsyntax-rulesが作れれば、そりゃ、もー、うれしいんですけど。 S式だとS式でない場合に比べて、実装が簡単になるのでしょうか? それだと、うれしいんだけどなぁ。
- 284 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 15:55:15 ]
- >>283
どんな文法を使おうと、結局はツリーにしてマッチや変換をかけるでしょ。 S式の場合は最初からツリーになってるから前半の(どっちかっつうとtrivialな) ステージが省ける、ってだけじゃないかと。 言語デザイナの立場だと文法も重要なんだろうけど。
- 285 名前:269 mailto:sage [2006/01/11(水) 20:30:31 ]
- >>274
例えば、皮剥き
- 286 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 20:53:09 ]
- パターンマッチマクロってどんな syntax の言語でも実装可能なの?
- 287 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 00:51:45 ]
- 自分の欲しいsyntaxのマクロを人に書かせたいと見たw
- 288 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 06:39:51 ]
- >>286
可能か不可能かなら可能でしょう。 使いやすいとかわかりやすいものになるかどうかは別。
- 289 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 08:35:55 ]
- >>288
どうもありがとう。 >>287 Ruby や ECMAScript, Python は acceptable lisp と言われているけど、 マクロを追加すればもっと Lisp の強力さに近付くかなと。
- 290 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 11:28:30 ]
- >>287
自分は、schemeのsyntax-rulesを実装したいのだけど、 わからないので、簡単なソース付きで解説してほしいです。 自分のほしい言語をすべて書いてもらえたら幸せです。 schemeのスレとかで聞いたほうがいいのかなぁ? >>287>>288>>289 PythonはDylanに似たマクロが入るとかいう噂がある(あった?)ようです。 どんな言語でも適用できそうなので、(よくわかってないのですが) Dylanのマクロのアイディアはとにかく凄いような気がします。 C用のDylan風マクロとか、Java用のDylan風マクロとかあったら そりゃもう、うれしいんじゃないかなぁと思います。
- 291 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 11:40:09 ]
- schemeのスレで質問してみました。
- 292 名前:トラックバック ★ mailto:sage [2006/01/12(木) 21:15:09 ]
- 【トラックバック来たよ】 (ver. 0.11)
[タイトル] 萌え言語を作ろう! [発ブログ] プログラム技術@2ch掲示板 pc8.2ch.net/test/read.cgi/tech/1131442510/l50 [=要約=] 日本語で書ける言語では「ひまわり」なんてのがありますが いまいち使いづらいというか、萌えないw ということで、萌え萌えな言語を作ってみようと言う企画です。
- 293 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 22:06:16 ]
- 萌言語案
ハァハァ{ … } の機能 while(1){ ... }
- 294 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 23:04:56 ]
- 萌えとハァハァは別だよ派
萌えもハァハァも一緒だよ派
- 295 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 00:30:47 ]
- #define _ 1
とかやると、 for (;_;) 仕事; となるわなw 萌えないが、実感はむしろこっちのほうが(泣)
- 296 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 00:42:10 ]
- #define T_T 1
while (T_T) 仕事;
- 297 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 18:49:31 ]
- #define ハァハァ 999
while(ハァハァ) 言語スレ
- 298 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 23:33:15 ]
- 変な用語の例(その2)
・せわしない。。。 ・なまけた。。。
- 299 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 00:03:57 ]
- bool A = ture;
bool T_T = true; for(;A;) wile(T_T) int y=-(T_T);
- 300 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 10:39:00 ]
- assert マクロって must って名前にしたほうがよくない?
assert ( a == b ) → must( a == b )
- 301 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 11:31:50 ]
- assert that a equals b (thatは略可)
はそのまま読めるけど、mustはどう読んだらいいんだ?
- 302 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 13:16:28 ]
- a == b で「なければならない」
should ( a == b ) とか must( a == b )
- 303 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 15:18:27 ]
- must(a == b) を a == b でなければならないと読むのは
英語的におかしくないか。 ! 演算子みたいに must が演算子だとして a must== b ならわかるが。
- 304 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 15:25:59 ]
- must be (a is equal to b)
なんじゃないの。
- 305 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 15:42:50 ]
- だから、それが英語的におかしいといっている。
- 306 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 15:50:52 ]
- じゃ、 must be a condition of (a == b) は?
- 307 名前:300 mailto:sage [2006/01/14(土) 16:14:15 ]
- いや、まあそんなに深い意味で発言したわけじゃないけど
英語的にどうこうというか、 自分的にはこっちのほうが直感的かなと思っただけ 初心者に assert を教えたらピンとこなさそうな顔してたもんだから
- 308 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 16:24:42 ]
- 個人的には ensure が良いと思う。ちょっと意味合いが変わって来ちゃうけど。
- 309 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 18:15:19 ]
- >>307
assertって単語になじみが無いだけだ、辞書引かせてからassertを使った例文を毎日一個5営業日続ければ覚える。
- 310 名前:デフォルトの名無しさん [2006/01/14(土) 18:37:19 ]
- 俺なら、
must.be.A.eq.B が一番すんなりと入るかな?
- 311 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 19:04:13 ]
- 俺なら、
zettai(a == b) が一番すんなりと入るわ。
- 312 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 19:05:53 ]
- (a == b)じゃなきゃいやん
- 313 名前:300 mailto:sage [2006/01/14(土) 19:41:09 ]
- assert だけだと、どっちの場合に警告するのかよくわかんなくない?
a == b 「だったら」警告するのか a == b 「でなければ」警告するのか。 must とか(あるいは311,312 でもいいけど)だと、 明らかに後者が連想されるんじゃないかなと思った
- 314 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 19:57:21 ]
- 「ここでは(a == b)になると断言する」と日本語で言っても?
- 315 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:01:06 ]
- assert に 『警告する』 って意味は無いんだよなぁ……。
- 316 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:01:45 ]
- assert false の場合はどーやって解釈すりゃいい?
- 317 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:03:01 ]
- 『常に偽であると表明する』
prolog の fail みたいな。
- 318 名前:300 mailto:sage [2006/01/14(土) 20:37:49 ]
- >>315
あ、ホントだ、やべえ!長いこと勘違いしとった!! 「断言する」で問題ないじゃん! てことは、assert でも問題ナスorz
- 319 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:43:02 ]
- ドンマイ
- 320 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:43:14 ]
- >>316
正確には「もしここに来たら(a == b)がtrueであると断言する」と思えばいい。 assert falseは「もしここに来たらfalseがtrueであると断言する」、 つまり「ここには来ることはありえないと断言する」。
- 321 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 20:59:13 ]
- #define assert 断言する
断言する(a == b)
- 322 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 21:02:32 ]
- スキャナとパーザって、マルチバイト文字を通せるのですか?
- 323 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 21:12:13 ]
- 通すように作れば通る。
- 324 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 21:56:47 ]
- シングルバイト文字の8バイトの連続だよ?
たまたま 0x80 より大きいだけ
- 325 名前:デフォルトの名無しさん mailto:sage [2006/01/14(土) 22:15:08 ]
- >>324
アフォ来た〜〜〜!!
- 326 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 01:00:21 ]
- >>324
8バイトって何だ8バイトって。 実際には322の言うように、通るように作れば通るし、今時flexもbisonも 8bitは通す。マルチバイト文字というと、SJISだと0x5c問題が出てくる 可能性は歩けど、それはlexerのつくりの問題だよな。
- 327 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 23:35:26 ]
- 変な用語その3
マトン
- 328 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 23:41:00 ]
- 羊肉?
- 329 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 23:41:51 ]
- 自動羊肉
- 330 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 23:57:17 ]
- オートマタ。
- 331 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:59:16 ]
- オート マトン
というよりは オー トマトン 何だが。
- 332 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 04:17:47 ]
- Oh! Tomato! n?
- 333 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 05:17:47 ]
- コンピュータ関係の変な用語ってのはKILLとかZOMBIEとかENTITYとかじゃねぇのか?
- 334 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 07:13:02 ]
- デムパな単語が、そんなに嫌か?
- 335 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 22:02:30 ]
- >>327
automate(自動)+ton(〜風)、「自動っぽいもの」くらいの意味。
- 336 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 23:15:29 ]
- >>335
こらこら。だますんじゃない。
- 337 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 23:29:55 ]
- 自動人形
- 338 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 01:33:13 ]
- ギリシャ語のautomatos(自立して動くもの)が語源だっけか。
別にどうでもいいけど。
- 339 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 23:22:03 ]
- >>329
昔食肉工場の機械が、簡易プログラムのような物で動いていて たまたま羊毛の盛んな時期と重なった
- 340 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 00:58:17 ]
- >>339
ツマンネ しかしあれだな、Lisp叩きやRuby叩きの話が出て来ると、すぐ「実装の話をしろよ!」という 主張が出て来るが、実装の話が好きな人達は、スレが閑散としてても実装の話はしないんだよな。
- 341 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 01:14:52 ]
- assertやらオートマータやらの話をしている輩が何を偉そうに
- 342 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 01:26:06 ]
- >>341
何一つ自分からネタ振れない輩が何を偉そうに。 つか、俺はassertやオートマータの話なんかしてないし。 だいたい、ここじゃちょくちょく構文解析+αのレベルで「間違い」が書き込まれる ことがあるんだが、自称凄い人達はその訂正もしてくれないのな。
- 343 名前:デフォルトの名無しさん mailto:sage [2006/01/18(水) 08:54:41 ]
- まず、自称このスレの間違いをわかってる君が、具体的に間違いを指摘してみては?
- 344 名前:260 mailto:sage [2006/01/18(水) 23:33:35 ]
- >>342
詳しい人らしいんで返答を乞うてみます。
- 345 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 06:52:05 ]
- 342が「自分に何がわかっているのかを書かなくていい理由」を考えつくまで
もう少しお待ち下さい。
- 346 名前:342ではないけれど mailto:sage [2006/01/19(木) 21:35:50 ]
- なぜこんな流れに。。。
俺はレベルの低い実装の質問を書き込んでいたものですが 342の人は多分質問に答えてくれた人なんじゃないかという 気がしています。 逆に意地悪な感じで初心者を馬鹿にしている人達は 初心者の質問が書かれるたびに 「このスレ〜以外は意味ない」とかそんなんばかりでしょう。 そういうのはレベルが低くはないんですか?
- 347 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 22:39:30 ]
- エスパー光臨
- 348 名前:デフォルトの名無しさん [2006/01/19(木) 22:59:51 ]
- マシンのネイティブコードを吐き出すための情報(命令セットってやつ?)はどこから入手したらいいのですか?
VMや構文木直辿りのインタプリタしかやったことないのでそろそろコンパイラにチャレンジです。
- 349 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:16:32 ]
- >>348
えーと、ギャグで言ってるんだよね?
- 350 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:23:56 ]
- 前からテンプラにその情報源がないのは、
ひどく片手落ちな気がしてたよ
- 351 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:35:30 ]
- >>350
どのマシンがターゲットなんだかワカランのじゃ話にもならないし、少しだけ乗せるとアンチとか出てきて喧嘩になるし ろくな事ないからじゃないの?
- 352 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:42:03 ]
- IA32だけならば、誰も文句いわねえと思うが・・・
マカーでさえもう文句いわねえ とおもったが、このスレの二大言語(笑)の信者は 蚊帳の外に置かれてしまうかw
- 353 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:47:30 ]
- >>352
でIA32の場合インテルに資料請求するか秋葉あたりでデータシート買うって言う選択肢な訳だけど。
- 354 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:51:23 ]
- >>352 の意味が分からん。
- 355 名前:デフォルトの名無しさん mailto:sage [2006/01/19(木) 23:52:08 ]
- lisp原理主義者はcarをeaxに、cdrをedxに。
>>353 例のpdfじゃ不足?
- 356 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 02:46:07 ]
- ttp://wiki.osdev.info/index.php?Pentium
でどうでしょう
- 357 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 02:53:46 ]
- PowerPC
opensolaris.org/os/community/power_pc/powerpc_doc_library/
- 358 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 05:00:59 ]
- > でIA32の場合インテルに資料請求するか秋葉あたりでデータシート買うって言う選
> 択肢な訳だけど。 それ、いつの時代の話? ほとんどのCPUの命令セットはWebから落せる。 しかも IA32 の場合、日本語に訳されてる。 www.intel.com/jp/developer/download/ にある IA-32 インテル アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル からどうぞ。
- 359 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 05:29:13 ]
- >>358
紙のマニュアルの方が扱いが楽だからなぁ。 プリントすると紙質の関係でつらいからね。
|

|