「コンパイラ・スクリプトエンジン」相談室16 (649レス)
1-

219
(1): 2015/04/22(水)22:59 ID:LKLiXgla(1) AAS
いまいち分からないけど、識別子の次にあったら関数呼び出しで
それ以外は式とかでいけないの
220: 2015/04/22(水)23:28 ID:eOWj6Ffd(3/3) AAS
いけるか分からない。とりあえずやってみるってところ
221: 2015/04/23(木)08:14 ID:+O6VWDUu(1) AAS
>>219
構文次第
てか、普通識別子に続くカッコを見て初めて関数/メソッドってわかるわけだし
222: 2015/04/27(月)01:02 ID:RiYFohCl(1/2) AAS
メソッドの中が上手くいかんというか何から始めたら良いのか分からん
コンパイル速度が遅くなるけど、分解フェーズを何層にも分けて
何度もループで調べていけば良いのかな
223: 2015/04/27(月)06:59 ID:EFAP6joI(1) AAS
コンパイラの教科書の一冊でも読んで構文解析を勉強してみ
224
(1): 2015/04/27(月)09:38 ID:ZDDsb7dY(1) AAS
C系のクソみたいな構文ルールをそのまま真似てどうすんの
自作なら作りやすいようにキーワード追加すればいいのよ

キャスト式にキーワード付けなかったのは最大の誤りの一つ
225: 2015/04/27(月)09:56 ID:qDIHhHi0(1) AAS
SSA形式からスタックマシンのコード生成の最適化みたいなのに参考になる文献ってないかな?
226: 2015/04/27(月)14:22 ID:RiYFohCl(2/2) AAS
>>224
そうだね。HaxeとかFlashからぱくって、C形式のキャストは無くしてみるわ
int i = cast Integer ( 0.005f );
int i = 0.005f as Integer;
227: 2015/04/28(火)18:20 ID:PlNb5vya(1) AAS
最終的に何を目指そうかしら

1)LLVMで動かす 
→ 超難しそう

2)Luaのように組み込みスクリプトとして動かす 
→ 重そう。メモリ管理は全部ウィークポインタで良いのかな
(C/C++組み込みならnew&deleteするようなスクリプトでも良さそう)

3)JavaScriptなどに変換 
→ たぶん例外のバックトレースとかを変換するデバッグ環境が必須
228: 片山博文MZ ◆T6xkBnTXz7B0 2015/05/05(火)23:02 ID:p1RbtT4Y(1) AAS
コンパイラーの品質保証は、数学で証明する時代だ!!!
Coqと数学でコンパイラーが作れる!!!
外部リンク[html]:compcert.inria.fr
229
(1): 2015/05/09(土)18:57 ID:SYpntI8c(1/3) AAS
バイトコードインタプリタつくっているんだけど
スタックマシンのコンパイラについて
パラメータスタック(データスタック)はヒープ上におくべき?
それともネイティブの領域におくべき?
230
(1): 2015/05/09(土)19:41 ID:SYpntI8c(2/3) AAS
>>229
訂正
コンパイラー>仮想機械
231
(1): 2015/05/09(土)20:41 ID:DhZyBtDK(1) AAS
>>230
ネイティブスタックにデータも置くって事だよね?
データスタックは分けておいた方がイロイロ楽だったので列挙
たしかこんなの

GC使う様な実装の時の仕分け
実行パスがJITでコンパイルコードと非コンパイルVMコードの行ったり来たりするとき
例外のスタックトレース(これもJIT時のアレコレあり)
チープマシンにVM仕込むときアセンブラで書くのが楽しい

最後はちげぇけど
232
(1): 2015/05/09(土)21:02 ID:SYpntI8c(3/3) AAS
>>231
自分のVMは典型的なスタックマシンで
パラメータスタック(データスタック)とコールスタックは別です。
そのうちデータスタックをヒープ内におくか
アセンブリでかかれたほうのネイティブの領域におくかってことです。
ネイティブ領域においたほうが実際のアドレスとVM上でのアドレスの変換がないので
速度としては速いのですが
欠点としてバイトコードからスタックを参照することができません
焦点とてしてはそもそもバイトコードからスタックを参照することがあるのかということで、
基本的になければネイティブ領域におこうかとおもっています
これまでつくった経験がないので設計としてどちらがよいかわからずお聞きしました
233
(1): 2015/05/10(日)09:31 ID:ZQGgJB6p(1) AAS
>>232
> 焦点とてしてはそもそもバイトコードからスタックを参照することがあるのかということで、
バイトコードの設計は終わってるんじゃないのか?
バイトコードの設計終わってりゃ参照の必要があるかどうかはわかってるだろうし、バイトコードの設計終わってないのに VM の構成考えてるならお前が終わってる
234: 2015/05/10(日)09:50 ID:YKkUWNQO(1) AAS
>>233
その通りわ
出直して来ます
235: 2015/05/19(火)18:50 ID:a+aajTcz(1) AAS
番兵の文字は
utf-8でも16でも32でも-1でいいんですか?
236: 2015/06/24(水)17:14 ID:ZsIPeucp(1) AAS
動的型付けってLLVMだとどうやって実装するんだろ
237: 2015/07/10(金)19:59 ID:h+kJ9m+3(1) AAS
構文解析+Cに変換して内部でgcc呼んでコンパイルするプログラムはコンパイラって呼んでいいの?
238
(1): 2015/07/10(金)20:11 ID:tLjH7MQJ(1) AAS
トランスレータじゃねえの
239: 2015/07/11(土)08:23 ID:SvdcMd32(1) AAS
>>238
変換したCコードを出すならトランスレーターだけどバイナリまで出すならコンパイラーでいいだろ
240: 片山博文MZ ◆T6xkBnTXz7B0 2015/07/28(火)03:30 ID:92wk7rzR(1) AAS
果たして文法を仮想化できるか
241: 2015/08/19(水)08:24 ID:zh/OeKTd(1) AAS
凄いこと発見したんだけれどもΛの記号は上の尖がったところがルートで
下の二つの棒が辺を表しているんだな
242
(1): 2015/08/19(水)22:05 ID:caRlC37E(1) AAS
言語非依存の仮想マシンっていうアイデアがいまいち大成功していないように見えるのって
なんか理由があるのかな。
243: 2015/08/19(水)22:59 ID:7Z0FzJPx(1) AAS
落ちてたllvmスレを立て直した

【最速へ】LowLevelVirtualMachine 2【LLVM】
2chスレ:tech
244
(1): 片山博文MZ ◆T6xkBnTXz7B0 2015/08/19(水)23:17 ID:ynuNSl9L(1) AAS
>>242
めちゃくちゃ成功してまんがな。LLVM,clang知らないの?
245: 2015/08/20(木)00:06 ID:BI1Ot8hx(1) AAS
>>244
実際に成功していても成功していないよ・う・に・見・え・るって話じゃないの?
XCodeのコンパイラがllvm,clangだってのは開発者にしか見えないしclangの話だけ聞いているとgccが組み込み機のCPUに対応してたころみたいに派手に活躍してるとは感じられないって事じゃ無いの?
246: 2015/08/20(木)04:55 ID:uOqBPetd(1) AAS
たぶん外国には、CASL2のような仮想アセンブラを使う、
情報処理試験が無いのだろう

2人の大学生が作ったLLVMに、Appleが飛びついた。
それで、Lattner はAppleに就職した
247: 2015/08/20(木)11:06 ID:XXXu8/KU(1) AAS
良く言えば新世代の輝き
悪く言えば発展途上の不安定さ
さらに組み込みで言えばカバー範囲の幅広さは犠牲にされがち

将来性でメシが食えるのはごく一部
248: 2015/08/20(木)11:31 ID:WmW0wMbd(1) AAS
痛い文章だ
1-
あと 401 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.019s