「コンパイラ・スクリプトエンジン」相談室16 (649レス)
「コンパイラ・スクリプトエンジン」相談室16 http://mevius.5ch.net/test/read.cgi/tech/1405822579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
193: デフォルトの名無しさん [sage] 2015/02/22(日) 01:27:09.68 ID:0QFgdJ2i >>191 了解。 SmalltalkのVM上でDalvik VM用のclassも動かしたいんですが、 いちいちDalvik用のVMまで作るのがメンドイです。 Dalvik用のclass形式からJavaVM用のclass形式に変換するオススメのLibraryを教えて下さい。 Libraryの言語はSmalltalkに書き直しますので何でもいいです。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/193
194: デフォルトの名無しさん [] 2015/02/23(月) 17:30:23.57 ID:FikKUZMK >>192 scannerってlexerの一部。 lexer=scanner+tokenizer http://mevius.5ch.net/test/read.cgi/tech/1405822579/194
195: デフォルトの名無しさん [] 2015/02/23(月) 17:38:19.44 ID:FikKUZMK >>193 JEBはDalvikのdecompilerだから、コンパイルすればJVMのbytecodeに出来る。 https://www.pnfsoftware.com/ http://mevius.5ch.net/test/read.cgi/tech/1405822579/195
196: デフォルトの名無しさん [] 2015/02/23(月) 17:41:10.47 ID:FikKUZMK javaで書いたDalvikのVM http://www.eflow.jp/topics/090317.html http://mevius.5ch.net/test/read.cgi/tech/1405822579/196
197: デフォルトの名無しさん [sage] 2015/02/23(月) 22:14:05.07 ID:Fe2dvIpV C++で完結するって所に惹かれてboost::spiritを試してみたが…、これは死ねる。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/197
198: デフォルトの名無しさん [sage] 2015/02/24(火) 01:43:04.58 ID:f8A7qwV2 共通部分式の除去のやり方がわかんねえ 定数伝播、四則演算も含む組み込み関数の畳み込み、使わない変数の除去、 ループ展開等を同じパスでやってるんだけど 共通部分式の除去とそれをやるのに必要な不変式の判定はまた別でやった方がいいのかな 不変式かどうかはループ最適化でも使えそうなんだけど混乱してきた http://mevius.5ch.net/test/read.cgi/tech/1405822579/198
199: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/02/24(火) 08:04:58.95 ID:UGr8Bbp/ >>198 ある計算式eについて、eの部分式を互いに参照するエントリーとして再帰的にテーブルに登録する。 登録するときにソートと重複チェックを行えば、テーブルは一意化できる。 テーブルの各エントリーの参照構造は、木構造のノードを成す。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/199
200: デフォルトの名無しさん [] 2015/02/24(火) 11:33:08.23 ID:wemgVVUb >>198 式の属性に関する再帰方程式の近似解をニュートン法のように求めること、 これがデータフロー計算解法の本質と理解できてないんじゃない? ドラゴンブックのavailable, killedの説明の所読んでみれば? 同じパス内でループしながら収束するまで計算するのよ。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/200
201: デフォルトの名無しさん [] 2015/02/24(火) 11:35:18.85 ID:wemgVVUb ドラゴンブックのどの節か書こうとしたけど本が見つからない... とりあえず、ここのp.10から。 http://dragonbook.stanford.edu/lecture-notes/Stanford-CS143/20-Optimization.pdf http://mevius.5ch.net/test/read.cgi/tech/1405822579/201
202: デフォルトの名無しさん [sage] 2015/02/24(火) 17:44:49.00 ID:H95vOz7j >>199 そのテーブルに式を入れるときその式が不変かどうかを判断する部分でわからなくなってくる >>200 ほとんど読んでないドラゴンブック見たら最適化部分についても書いてるな これ読むの辛いな 頑張って読んで出直すか http://mevius.5ch.net/test/read.cgi/tech/1405822579/202
203: デフォルトの名無しさん [] 2015/02/24(火) 17:53:23.22 ID:avE+zAm1 多分ちゃんと読んだ方がかえって早い。 共通部分式A,Bがあって、例えばBの方の除去をやると、 Bの到達性がAの到達性にも付与される。 このことは他の属性に影響を及ぼしうる。 よってもう一度計算をしないとより正確な属性を求められない。 以下ループ。 よって収束するまで繰り返すことになる。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/203
204: デフォルトの名無しさん [sage] 2015/02/24(火) 18:04:39.54 ID:H95vOz7j 変化がなくなるまで最適化処理を繰り返すのはわかった http://mevius.5ch.net/test/read.cgi/tech/1405822579/204
205: デフォルトの名無しさん [sage] 2015/02/24(火) 19:26:42.04 ID:wUDy2moe >>197 コンパイル時間がか? http://mevius.5ch.net/test/read.cgi/tech/1405822579/205
206: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/02/24(火) 20:45:40.84 ID:UGr8Bbp/ __declspecとか__attribute__などをパースできないと正確な構造体型のサイズ を求めることができない。しかしattribute周りの文法がメチャクチャやなあ。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/206
207: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/03/03(火) 01:05:04.60 ID:t6l1EelO 次は"typed value"の扱いだな。定数にも型がある。型付きの値を 扱えなければ、正確な定数値を求めることはできない。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/207
208: デフォルトの名無しさん [sage] 2015/03/03(火) 04:49:45.03 ID:ZU1MaIS8 最適化なんてイラナイよね、何処まで処理系に依存する気なんだよw http://mevius.5ch.net/test/read.cgi/tech/1405822579/208
209: デフォルトの名無しさん [sage] 2015/03/08(日) 14:52:45.39 ID:u8r5MR2m 初心者だがHSPって凄いね 自分でHSPみたいなの作ろうとすると途端につまづくw 内部でメッセージハンドルに登録していく言語だと思うんだけど こんなにwinを感じさせない文法でwinと親和性高く作れるとは http://mevius.5ch.net/test/read.cgi/tech/1405822579/209
210: デフォルトの名無しさん [sage] 2015/03/08(日) 17:15:18.44 ID:8c6PRT7L ランタイムの機能の量で躓くならともかくあの文法でつまづくなら>>1で概要把握して本読めば http://mevius.5ch.net/test/read.cgi/tech/1405822579/210
211: デフォルトの名無しさん [] 2015/03/09(月) 14:52:03.75 ID:MIZIuI1f 文法とOSに何の関係が? http://mevius.5ch.net/test/read.cgi/tech/1405822579/211
212: デフォルトの名無しさん [sage] 2015/03/09(月) 16:12:25.65 ID:J8WIpDef いただきジャンガリアンに辛酸をなめさせられたのだろうよ http://mevius.5ch.net/test/read.cgi/tech/1405822579/212
213: デフォルトの名無しさん [sage] 2015/03/09(月) 17:25:40.74 ID:VM1FVYaf うーん初心者だから言い方わかんないんだけど コマンドプロンプトのスクリプトってコマンドに従って単に実行していくだけだよね でもwinだと実行されるのは素直に考えるとメッセージが来たとき cでウインアプリつくるときはメッセージ毎に処理を書くけど上から順に読むスクリプトは それはできないわけだからどう整合性取るのかなってことで悩んでた 結局メッセージ毎にリストがあってコマンドを読んだらそのリストに関数ポインタ名で追加、 メッセージ毎に呼ばれる関数はその種別のリストを上から順に実行していく こんな感じで作ったけどこれでいいのかな http://mevius.5ch.net/test/read.cgi/tech/1405822579/213
214: デフォルトの名無しさん [] 2015/03/12(木) 21:28:48.21 ID:BlO2EFmA そりゃ文法じゃなくて実行モデルだな。 イベント駆動ってことでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/214
215: デフォルトの名無しさん [] 2015/04/13(月) 21:09:38.60 ID:qtTodoaL 「Cのコンパイラなら何日かかけて作っても良いが、C++は、一人で 作るのは嫌だ。文法をきちんとカバーするのに日数がかかりすぎるから」 と言われたよ。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/215
216: デフォルトの名無しさん [sage] 2015/04/22(水) 02:22:50.19 ID:eOWj6Ffd javaに近い構文の言語をつくろうとしてるんだけど、 ようやくchar配列に変換したソースから関数の外側を構文解析できた。 山括弧<>、文字列リテラル、コメントに気をつけつつ、 なんとか関数の中を無視してクラス・変数・関数の名前や型名を取得して 関数の中身にとりかかるところ。 関数の中身は丸括弧()が難関になりそう。 AAAA bbbb = ((HHHH)cccc.dddd.eeee(ffff.gggg(), jjjj)).iiii(); bbbb.kkkk = -10/(8-3)-9/-3 http://mevius.5ch.net/test/read.cgi/tech/1405822579/216
217: デフォルトの名無しさん [] 2015/04/22(水) 20:33:48.48 ID:rBARkljm >>216 まるで違う言語に見えてしまうのだが。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/217
218: デフォルトの名無しさん [sage] 2015/04/22(水) 21:30:55.14 ID:eOWj6Ffd >>217 最初はクラス名、メンバ変数、メンバ関数を全部調べてからじゃないと 関数の中身に取り掛かれないと思ってた。 でもクラス名・変数名・関数名に区別は不要で、記号をヒントに階層を分解して、 それから型名の存在の有無・整合性を調べるという風にフェーズを分けれそう。 でも()が演算の優先順位、型キャスト、メソッド...どれに使われているのか 区別できるかは不安。for文とかは最初に予約語が入るからやりやすそうだけど。 Person person = ((Factory)group.cache.getFactory(provider.getResource(), url)).create(); person.id = -10/(8-3)-9/-3; http://mevius.5ch.net/test/read.cgi/tech/1405822579/218
219: デフォルトの名無しさん [sage] 2015/04/22(水) 22:59:19.66 ID:LKLiXgla いまいち分からないけど、識別子の次にあったら関数呼び出しで それ以外は式とかでいけないの http://mevius.5ch.net/test/read.cgi/tech/1405822579/219
220: デフォルトの名無しさん [sage] 2015/04/22(水) 23:28:51.38 ID:eOWj6Ffd いけるか分からない。とりあえずやってみるってところ http://mevius.5ch.net/test/read.cgi/tech/1405822579/220
221: デフォルトの名無しさん [sage] 2015/04/23(木) 08:14:58.39 ID:+O6VWDUu >>219 構文次第 てか、普通識別子に続くカッコを見て初めて関数/メソッドってわかるわけだし http://mevius.5ch.net/test/read.cgi/tech/1405822579/221
222: デフォルトの名無しさん [sage] 2015/04/27(月) 01:02:40.49 ID:RiYFohCl メソッドの中が上手くいかんというか何から始めたら良いのか分からん コンパイル速度が遅くなるけど、分解フェーズを何層にも分けて 何度もループで調べていけば良いのかな http://mevius.5ch.net/test/read.cgi/tech/1405822579/222
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 427 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s