「コンパイラ・スクリプトエンジン」相談室16 (649レス)
「コンパイラ・スクリプトエンジン」相談室16 http://mevius.5ch.net/test/read.cgi/tech/1405822579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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
253: デフォルトの名無しさん [sage] 2015/08/24(月) 02:21:03.16 ID:OjRQ25eS マルチメソッドはオーバーロードでは無いです 一般にオーバーロードは静的ですが、 マルチメソッドは動的です http://mevius.5ch.net/test/read.cgi/tech/1405822579/253
254: デフォルトの名無しさん [sage] 2015/08/24(月) 08:00:36.10 ID:WVPITNbu >>251 > 引数によって、メソッドが切り替わります はい? http://mevius.5ch.net/test/read.cgi/tech/1405822579/254
255: デフォルトの名無しさん [sage] 2015/08/24(月) 08:19:25.57 ID:jJXNOMmM clojureのdefmultiみたいな奴じゃないの? http://mevius.5ch.net/test/read.cgi/tech/1405822579/255
256: デフォルトの名無しさん [sage] 2015/08/24(月) 11:49:46.23 ID:BYoao/vR 多重ディスパッチのニッチな要求に応えるものか それとも単純な動的バインディングだけの問題なのか http://mevius.5ch.net/test/read.cgi/tech/1405822579/256
257: デフォルトの名無しさん [sage] 2015/08/26(水) 18:36:02.43 ID:XR0u/yGZ マルチメソッドはC++相談室を検索すればなんなのかがわかる http://mevius.5ch.net/test/read.cgi/tech/1405822579/257
258: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/08/30(日) 17:45:45.69 ID:bYlp1Mb/ >>249 パターンマッチを効率よく行う http://mevius.5ch.net/test/read.cgi/tech/1405822579/258
259: デフォルトの名無しさん [] 2015/08/30(日) 19:15:42.50 ID:nhXJHOe7 型を連想配列やトライ木で管理すればO(1) http://mevius.5ch.net/test/read.cgi/tech/1405822579/259
260: デフォルトの名無しさん [sage] 2015/08/30(日) 20:08:17.93 ID:brcjELIg >>259 clojureはソレだね http://mevius.5ch.net/test/read.cgi/tech/1405822579/260
261: デフォルトの名無しさん [] 2015/09/17(木) 12:38:19.48 ID:mHCGeegj 中間言語の設計に関するノウハウとかアンチパターンとかが書かれた本誰か知ってる? LLVMとかP-codeとかJava VMとか、あるいはKnuthのMIX/MMIXみたいな機械語に近いレベルの言語を ソフトウェア実装すること前提に設計する場合について知りたい。 今言語設計してて、そろそろ構文解析できそうだから学んでおきたいんだけど。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/261
262: デフォルトの名無しさん [sage] 2015/09/17(木) 19:56:34.99 ID:7ftMaB4B 最初はネイティブに落とした方がいいぞ 中間言語とか遠回りしてたらアホみたいだぞ http://mevius.5ch.net/test/read.cgi/tech/1405822579/262
263: デフォルトの名無しさん [sage] 2015/09/18(金) 15:07:01.58 ID:QAQ6VXx0 そんな物他人に教わるくらいならおとなしく既存のを使っとけ http://mevius.5ch.net/test/read.cgi/tech/1405822579/263
264: デフォルトの名無しさん [sage] 2015/09/18(金) 20:35:24.73 ID:F4ynHS7Z 本として出して需要あるか?もしかしたらサーベイ論文なら探せばあるかも http://mevius.5ch.net/test/read.cgi/tech/1405822579/264
265: 261 [sage] 2015/09/18(金) 21:16:12.07 ID:ArWsl8Ey >>262 素直にコンパイル出来ない言語を設計してるので(clispのような)、snippetの表現をx86/amd64表記にする意義が薄いんですよね。 >>263 凝り性なもので。 >>264 一応ciniiは一通り眺めたけど、中間言語の設計に関する論文って無いんですよね。 素直に「中間言語」で調べると自然言語の翻訳に使う方が大量に引っかかってつらい…… http://mevius.5ch.net/test/read.cgi/tech/1405822579/265
266: デフォルトの名無しさん [sage] 2015/09/18(金) 22:17:11.93 ID:i7DEL3du >>265 動的型付け必須系? ならErlangの論文とか資料あさるといいかも http://mevius.5ch.net/test/read.cgi/tech/1405822579/266
267: 261 [sage] 2015/09/19(土) 09:19:04.79 ID:YlOPp2hb >>266 swiftのように演算子をユーザー定義出来て、 c++のように同名異引数の関数を定義出来て、 Lispのように引数間のカンマが要らず、 Rubyのようにカッコを省ける そんな言語を設計中です。 それらの両立のために実行中に文法を書き換えて構文解析器を再構成するという手法を採ってるので、コンパイル出来ないんですよね…… clispのリードマクロを文脈依存に拡張したものだと言えば大体あってるかと。 ちょっとErlang関連の資料を見てみます。 http://mevius.5ch.net/test/read.
cgi/tech/1405822579/267
268: デフォルトの名無しさん [sage] 2015/09/19(土) 10:26:16.30 ID:7hgo9IJ4 >>267 列挙してあることはシンタックス上のことで全部コンパイル時に静的に解決出来そうに見えるけど無理なの? http://mevius.5ch.net/test/read.cgi/tech/1405822579/268
269: デフォルトの名無しさん [sage] 2015/09/19(土) 11:29:33.20 ID:I9CWDfzW >>267 コンパイル時の都合だよね? VMの設計とはなんの関係もなさげなんだけど http://mevius.5ch.net/test/read.cgi/tech/1405822579/269
270: 261 [sage] 2015/09/19(土) 12:48:32.00 ID:YlOPp2hb >>268 今考えてる言語では、演算子の扱いが関数を引数の場所に関して一般化した第一級オブジェクトなので 前置引数の個数や後置引数の個数は実行してみるまで分からないので コンパイル時の識別子を用いた構文解析は無理です。 前置演算子と一引数関数が別物って変だと思ったのでそうしました。 c++風に書くと、こんな感じのが通るイメージです。 g = [](a,b){return a - b;}; if (複雑な式) { f = [](a|b,c){return a + b + c;}; // (a|b)で前置引数としてa、後置引数としてbと示
すものとする。 } else { f = [](a,b|c){return a + b + c;}; } // gは2引数演算子、fは3引数演算子。 // ここではgの優先順位はfより低いものとする(c++での表現方法が無いので)。 // カッコやカンマを省いてある場合、上の条件のどちらが走っても構文上は受理される。 // 複雑な式の結果によって、これはg(1, f(2, 3, 4))及びg(f(1, 2, 3), 4)のどちらにもなりうる。 cout << (g 1 2 f 3 4) << endl; >>269 そういうわけで一度に全部読み込んでコンパイルしてから実行するという事が出来ないので、 折角だからVMも設計しようと
思った次第です。 ASTから中間言語に落とすとcontinuationの実装が楽になるので。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/270
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 379 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s