「コンパイラ・スクリプトエンジン」相談室16 (649レス)
「コンパイラ・スクリプトエンジン」相談室16 http://mevius.5ch.net/test/read.cgi/tech/1405822579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
223: デフォルトの名無しさん [sage] 2015/04/27(月) 06:59:39.15 ID:EFAP6joI コンパイラの教科書の一冊でも読んで構文解析を勉強してみ http://mevius.5ch.net/test/read.cgi/tech/1405822579/223
224: デフォルトの名無しさん [sage] 2015/04/27(月) 09:38:16.26 ID:ZDDsb7dY C系のクソみたいな構文ルールをそのまま真似てどうすんの 自作なら作りやすいようにキーワード追加すればいいのよ キャスト式にキーワード付けなかったのは最大の誤りの一つ http://mevius.5ch.net/test/read.cgi/tech/1405822579/224
225: デフォルトの名無しさん [] 2015/04/27(月) 09:56:10.90 ID:qDIHhHi0 SSA形式からスタックマシンのコード生成の最適化みたいなのに参考になる文献ってないかな? http://mevius.5ch.net/test/read.cgi/tech/1405822579/225
226: デフォルトの名無しさん [sage] 2015/04/27(月) 14:22:00.53 ID:RiYFohCl >>224 そうだね。HaxeとかFlashからぱくって、C形式のキャストは無くしてみるわ int i = cast Integer ( 0.005f ); int i = 0.005f as Integer; http://mevius.5ch.net/test/read.cgi/tech/1405822579/226
227: デフォルトの名無しさん [] 2015/04/28(火) 18:20:14.24 ID:PlNb5vya 最終的に何を目指そうかしら 1)LLVMで動かす → 超難しそう 2)Luaのように組み込みスクリプトとして動かす → 重そう。メモリ管理は全部ウィークポインタで良いのかな (C/C++組み込みならnew&deleteするようなスクリプトでも良さそう) 3)JavaScriptなどに変換 → たぶん例外のバックトレースとかを変換するデバッグ環境が必須 http://mevius.5ch.net/test/read.cgi/tech/1405822579/227
228: 片山博文MZ ◆T6xkBnTXz7B0 [] 2015/05/05(火) 23:02:55.34 ID:p1RbtT4Y コンパイラーの品質保証は、数学で証明する時代だ!!! Coqと数学でコンパイラーが作れる!!! http://compcert.inria.fr/compcert-C.html http://mevius.5ch.net/test/read.cgi/tech/1405822579/228
229: デフォルトの名無しさん [sage] 2015/05/09(土) 18:57:31.49 ID:SYpntI8c バイトコードインタプリタつくっているんだけど スタックマシンのコンパイラについて パラメータスタック(データスタック)はヒープ上におくべき? それともネイティブの領域におくべき? http://mevius.5ch.net/test/read.cgi/tech/1405822579/229
230: デフォルトの名無しさん [sage] 2015/05/09(土) 19:41:52.28 ID:SYpntI8c >>229 訂正 コンパイラー>仮想機械 http://mevius.5ch.net/test/read.cgi/tech/1405822579/230
231: デフォルトの名無しさん [sage] 2015/05/09(土) 20:41:51.08 ID:DhZyBtDK >>230 ネイティブスタックにデータも置くって事だよね? データスタックは分けておいた方がイロイロ楽だったので列挙 たしかこんなの GC使う様な実装の時の仕分け 実行パスがJITでコンパイルコードと非コンパイルVMコードの行ったり来たりするとき 例外のスタックトレース(これもJIT時のアレコレあり) チープマシンにVM仕込むときアセンブラで書くのが楽しい 最後はちげぇけど http://mevius.5ch.net/test/read.cgi/tech/1405822579/231
232: デフォルトの名無しさん [sage] 2015/05/09(土) 21:02:43.06 ID:SYpntI8c >>231 自分のVMは典型的なスタックマシンで パラメータスタック(データスタック)とコールスタックは別です。 そのうちデータスタックをヒープ内におくか アセンブリでかかれたほうのネイティブの領域におくかってことです。 ネイティブ領域においたほうが実際のアドレスとVM上でのアドレスの変換がないので 速度としては速いのですが 欠点としてバイトコードからスタックを参照することができません 焦点とてしてはそもそもバイトコードからスタックを参照することがあるのかということで、 基本的になければネイティブ領域におこうかとおもっています これまでつくった経験がないので設計としてどちらがよいかわからずお聞きしました http://mevius.5ch.net/test/read.cgi/tech/1405822579/232
233: デフォルトの名無しさん [sage] 2015/05/10(日) 09:31:50.02 ID:ZQGgJB6p >>232 > 焦点とてしてはそもそもバイトコードからスタックを参照することがあるのかということで、 バイトコードの設計は終わってるんじゃないのか? バイトコードの設計終わってりゃ参照の必要があるかどうかはわかってるだろうし、バイトコードの設計終わってないのに VM の構成考えてるならお前が終わってる http://mevius.5ch.net/test/read.cgi/tech/1405822579/233
234: デフォルトの名無しさん [sage] 2015/05/10(日) 09:50:11.77 ID:YKkUWNQO >>233 その通りわ 出直して来ます http://mevius.5ch.net/test/read.cgi/tech/1405822579/234
235: デフォルトの名無しさん [] 2015/05/19(火) 18:50:21.34 ID:a+aajTcz 番兵の文字は utf-8でも16でも32でも-1でいいんですか? http://mevius.5ch.net/test/read.cgi/tech/1405822579/235
236: デフォルトの名無しさん [sage] 2015/06/24(水) 17:14:03.39 ID:ZsIPeucp 動的型付けってLLVMだとどうやって実装するんだろ http://mevius.5ch.net/test/read.cgi/tech/1405822579/236
237: デフォルトの名無しさん [sage] 2015/07/10(金) 19:59:28.32 ID:h+kJ9m+3 構文解析+Cに変換して内部でgcc呼んでコンパイルするプログラムはコンパイラって呼んでいいの? http://mevius.5ch.net/test/read.cgi/tech/1405822579/237
238: デフォルトの名無しさん [sage] 2015/07/10(金) 20:11:15.28 ID:tLjH7MQJ トランスレータじゃねえの http://mevius.5ch.net/test/read.cgi/tech/1405822579/238
239: デフォルトの名無しさん [sage] 2015/07/11(土) 08:23:11.34 ID:SvdcMd32 >>238 変換したCコードを出すならトランスレーターだけどバイナリまで出すならコンパイラーでいいだろ http://mevius.5ch.net/test/read.cgi/tech/1405822579/239
240: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/07/28(火) 03:30:13.81 ID:92wk7rzR 果たして文法を仮想化できるか http://mevius.5ch.net/test/read.cgi/tech/1405822579/240
241: デフォルトの名無しさん [sage] 2015/08/19(水) 08:24:37.58 ID:zh/OeKTd 凄いこと発見したんだけれどもΛの記号は上の尖がったところがルートで 下の二つの棒が辺を表しているんだな http://mevius.5ch.net/test/read.cgi/tech/1405822579/241
242: デフォルトの名無しさん [] 2015/08/19(水) 22:05:03.04 ID:caRlC37E 言語非依存の仮想マシンっていうアイデアがいまいち大成功していないように見えるのって なんか理由があるのかな。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/242
243: デフォルトの名無しさん [sage] 2015/08/19(水) 22:59:51.18 ID:7Z0FzJPx 落ちてたllvmスレを立て直した 【最速へ】LowLevelVirtualMachine 2【LLVM】 http://peace.2ch.net/test/read.cgi/tech/1439992758/ http://mevius.5ch.net/test/read.cgi/tech/1405822579/243
244: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/08/19(水) 23:17:16.98 ID:ynuNSl9L >>242 めちゃくちゃ成功してまんがな。LLVM,clang知らないの? http://mevius.5ch.net/test/read.cgi/tech/1405822579/244
245: デフォルトの名無しさん [sage] 2015/08/20(木) 00:06:05.42 ID:BI1Ot8hx >>244 実際に成功していても成功していないよ・う・に・見・え・るって話じゃないの? XCodeのコンパイラがllvm,clangだってのは開発者にしか見えないしclangの話だけ聞いているとgccが組み込み機のCPUに対応してたころみたいに派手に活躍してるとは感じられないって事じゃ無いの? http://mevius.5ch.net/test/read.cgi/tech/1405822579/245
246: デフォルトの名無しさん [sage] 2015/08/20(木) 04:55:31.33 ID:uOqBPetd たぶん外国には、CASL2のような仮想アセンブラを使う、 情報処理試験が無いのだろう 2人の大学生が作ったLLVMに、Appleが飛びついた。 それで、Lattner はAppleに就職した http://mevius.5ch.net/test/read.cgi/tech/1405822579/246
247: デフォルトの名無しさん [sage] 2015/08/20(木) 11:06:47.70 ID:XXXu8/KU 良く言えば新世代の輝き 悪く言えば発展途上の不安定さ さらに組み込みで言えばカバー範囲の幅広さは犠牲にされがち 将来性でメシが食えるのはごく一部 http://mevius.5ch.net/test/read.cgi/tech/1405822579/247
248: デフォルトの名無しさん [sage] 2015/08/20(木) 11:31:12.43 ID:WmW0wMbd 痛い文章だ http://mevius.5ch.net/test/read.cgi/tech/1405822579/248
249: デフォルトの名無しさん [sage] 2015/08/24(月) 00:47:20.35 ID:OjRQ25eS マルチメソッドを効率よく実装するにはどのようにすればよいですか? http://mevius.5ch.net/test/read.cgi/tech/1405822579/249
250: デフォルトの名無しさん [sage] 2015/08/24(月) 01:10:40.39 ID:YG1kZeuQ マルチメソッドって何? http://mevius.5ch.net/test/read.cgi/tech/1405822579/250
251: デフォルトの名無しさん [sage] 2015/08/24(月) 01:36:14.61 ID:OjRQ25eS OOPの最も基本的な機能です 引数によって、メソッドが切り替わります 多態といいます http://mevius.5ch.net/test/read.cgi/tech/1405822579/251
252: デフォルトの名無しさん [sage] 2015/08/24(月) 02:01:55.26 ID:YG1kZeuQ オーバーロードのことですか? ではマングリング http://mevius.5ch.net/test/read.cgi/tech/1405822579/252
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 397 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s