「コンパイラ・スクリプトエンジン」相談室16 (649レス)
「コンパイラ・スクリプトエンジン」相談室16 http://mevius.5ch.net/test/read.cgi/tech/1405822579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
182: 片山博文MZ ◆T6xkBnTXz7B0 [] 2015/02/18(水) 16:40:51.07 ID:9VF3MRJc C++11の正規表現でCのスキャナーをスマートに書きたい。 しかし、コメントの扱いがややこしく、また、行番号の情報を取得する必要がある。 一行ごとに読み込むべきか、従来どおりトークンに切り分けて読み込むべきか。 全部をいっぺんに読み込んで'\n'でsplitする方法は実行時のメモリーと時間がかかると思う。 どういう戦略にすべきか? http://mevius.5ch.net/test/read.cgi/tech/1405822579/182
183: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/02/18(水) 17:03:37.74 ID:9VF3MRJc 改行に特別なトークンを割り当てて、すべてのトークンを読み 込んだ後でトークンに行番号をつけてから改行のトークンを取り除くという 方法についてはどう思いますか? http://mevius.5ch.net/test/read.cgi/tech/1405822579/183
184: デフォルトの名無しさん [sage] 2015/02/18(水) 21:19:15.31 ID:po3oOzQK Cってマクロとかインクルードとか有るん? http://mevius.5ch.net/test/read.cgi/tech/1405822579/184
185: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/02/19(木) 01:08:43.02 ID:XXveEoOV マクロやインクルードは、プリプロセッサーがやってくれるよ http://mevius.5ch.net/test/read.cgi/tech/1405822579/185
186: デフォルトの名無しさん [sage] 2015/02/19(木) 12:19:19.08 ID:b9Ke1XGw プリプロセッサーの展開後の行番号って要るのかね? http://mevius.5ch.net/test/read.cgi/tech/1405822579/186
187: デフォルトの名無しさん [sage] 2015/02/19(木) 19:51:00.22 ID:rp3PUwqb 無かったらエラー表示するとき不便だろ http://mevius.5ch.net/test/read.cgi/tech/1405822579/187
188: デフォルトの名無しさん [sage] 2015/02/19(木) 21:27:05.57 ID:wg16DBik 展開後の行番号の方がいらなくね? プリプロセッサ文てコンパイラ側でも処理するよね? #line とか http://mevius.5ch.net/test/read.cgi/tech/1405822579/188
189: デフォルトの名無しさん [sage] 2015/02/19(木) 21:31:56.28 ID:uOq48O3O コメントはプリプロセサで置き換えたらいかんのか http://mevius.5ch.net/test/read.cgi/tech/1405822579/189
190: デフォルトの名無しさん [sage] 2015/02/21(土) 01:08:42.33 ID:XnZFjwve SmalltalkのVM上にJavaVMを構築してんだけど、 VMの話もここで良いんだよね。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/190
191: デフォルトの名無しさん [] 2015/02/21(土) 12:59:06.48 ID:eVOI8zE3 OK http://mevius.5ch.net/test/read.cgi/tech/1405822579/191
192: デフォルトの名無しさん [sage] 2015/02/21(土) 23:58:08.89 ID:bst4VCEg >>182 Cのスキャナって正規表現だけで表現できるんか?(構文解析しないで良いエディタのhilightingとかは大丈夫だけど) http://mevius.5ch.net/test/read.cgi/tech/1405822579/192
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 438 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s