「コンパイラ・スクリプトエンジン」相談室16 (649レス)
「コンパイラ・スクリプトエンジン」相談室16 http://mevius.5ch.net/test/read.cgi/tech/1405822579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
356: デフォルトの名無しさん [] 2016/01/19(火) 11:13:57.61 ID:79hXpIDE 新しいコンパイラを作る際、わざわざ「手動でスタックを積み上げたり 開放したりする」命令は、あった方が良いのかな? メモリ節約や速度に直接、関係するなら言語仕様を作る段階で 考えるけどね。今のパソコンはスピードが速いから、不要といえば不要かも しれないが。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/356
357: デフォルトの名無しさん [sage] 2016/01/19(火) 12:41:03.92 ID:uAThxx94 そのレベルならインラインアセンブラみたいな 抜け道を作るかどうかって話になるんじゃないの http://mevius.5ch.net/test/read.cgi/tech/1405822579/357
358: デフォルトの名無しさん [sage] 2016/01/19(火) 21:16:12.58 ID:j62B2E0v >>356 命令ってどういうこと? Cのallocaみたいなのを言ってるの http://mevius.5ch.net/test/read.cgi/tech/1405822579/358
359: デフォルトの名無しさん [sage] 2016/01/19(火) 23:54:06.44 ID:Xdnj5x+8 確保開放やらはSPレジスタをいじるでいいんじゃないかな・・・ SP変更時に無効なSP値だったらエラーにするとかその程度で コンパイラもよほど変な事しない限りpush/pop命令なんて使わんし http://mevius.5ch.net/test/read.cgi/tech/1405822579/359
360: デフォルトの名無しさん [sage] 2016/01/20(水) 12:29:31.81 ID:zFAeGKrq >>356 言語自体の仕様にも依るんじゃないかな。 あと用途とか。 モノリシックカーネルのドライバ書くのに使いますーCとアセンブリの良いとこ取りですーってんなら 手動でスタック積んだり降ろしたりする命令も使うだろうけど いまいち用途がピンと来ない。 仮にllvm-irの使用を前提にするなら、ネイティブのスタック積んだり下ろしたりするのって意味あんの?っていう議論もありか? 言語仕様を練ってて シンプルな構文にシンプルな継続(のようなもの)を追加したら 全体的に美しさに欠ける感じになって悩んでる。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/360
361: デフォルトの名無しさん [] 2016/01/22(金) 12:29:02.92 ID:97wZpIfH 高級言語の側で、わざわざ、pushやpop命令を言語仕様に入れる必要は なかったか。メリットも予想ほどないみたいだな。 実行上で、スピードアップになるかと思っていたが。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/361
362: デフォルトの名無しさん [sage] 2016/01/22(金) 12:55:06.86 ID:8nADuqf6 メモリやキャッシュはレジスタよりずっと遅いからなぁ。 レジスタへのアクセスに対してL1キャッシュのアクセスには2〜3倍の時間が掛かるって言われてる。 つまり、レジスタ間mov命令に対してpush/popは1命令あたり2〜3倍遅いって事だ。 C言語のregister修飾子は知ってる?変数がレジスタに乗っかるようにする為の物なんだけど。 グラフ彩色で変数生存期間に対するレジスタの使用を最適化出来る事が知られる以前の産物だから、今は滅多に使われないけどね。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/362
363: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/22(金) 13:18:42.18 ID:0V0RVdAH バイト列xからバイト列C(x)への変換器Cがあるとき、 Cの逆変換器C^(-1)を求める一般的な方法は何か? http://mevius.5ch.net/test/read.cgi/tech/1405822579/363
364: デフォルトの名無しさん [] 2016/01/22(金) 20:49:57.23 ID:TW3FacBd >>363 逆アセンブラです。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/364
365: デフォルトの名無しさん [] 2016/01/22(金) 21:58:03.16 ID:bvwDmPF2 変換器Cの変換の性質がbijectiveであるという条件をつけなければいけないのではないか。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/365
366: デフォルトの名無しさん [sage] 2016/01/22(金) 22:13:13.93 ID:9qqofano この方法が分かれば、どんな暗号文も解読できるね! http://mevius.5ch.net/test/read.cgi/tech/1405822579/366
367: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/22(金) 22:54:36.97 ID:0V0RVdAH 数学板でじっくり考えることにしたよ。 有限数列上の変換について [無断転載禁止]・2ch.net http://wc2014.2ch.net/test/read.cgi/math/1453437840/ http://mevius.5ch.net/test/read.cgi/tech/1405822579/367
368: デフォルトの名無しさん [sage] 2016/01/23(土) 09:04:11.89 ID:VPAh/uPo 変換器が可逆計算できるとは限らないから一般的な方法は無いだろ。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/368
369: デフォルトの名無しさん [sage] 2016/01/23(土) 15:07:58.00 ID:0d2orZXz メモ化とテーブルルックアップw http://mevius.5ch.net/test/read.cgi/tech/1405822579/369
370: デフォルトの名無しさん [] 2016/01/31(日) 19:36:30.55 ID:T/RwY0g5 多少勉強すると、いまさらながら、Cがアセンブラにかなり近いレベルの 言語であることが、良くわかるな。 その分、マスターするのに時間もかかったが。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/370
371: デフォルトの名無しさん [sage] 2016/01/31(日) 19:52:06.23 ID:Vno/qq2m C言語をマスターしたって奴は絶対に信用しないことにしている http://mevius.5ch.net/test/read.cgi/tech/1405822579/371
372: デフォルトの名無しさん [sage] 2016/01/31(日) 20:53:44.66 ID:7LoAMsY1 入門書一冊読みました=マスターしました http://mevius.5ch.net/test/read.cgi/tech/1405822579/372
373: デフォルトの名無しさん [sage] 2016/01/31(日) 21:17:31.75 ID:QH+McMgz これが本当のマスターベーション http://mevius.5ch.net/test/read.cgi/tech/1405822579/373
374: デフォルトの名無しさん [sage] 2016/02/01(月) 16:11:44.37 ID:aq9Mx2ga そんなあなたにスタンディングマスターオベーション http://mevius.5ch.net/test/read.cgi/tech/1405822579/374
375: デフォルトの名無しさん [] 2016/02/02(火) 10:57:23.41 ID:9eq1u0GM >>371 「C言語をマスターしました」 という奴の化けの皮をはがすのは、意外に簡単だからな。 簡単な計算機プログラムを書かせるか、あるいは、ピタゴラスの定理の コードでも書かせるか。もっとも、そこで化けの皮がはがれるようなら、 とてもコンパイラの領域まで、進むことは出来ないだろうな。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/375
376: デフォルトの名無しさん [sage] 2016/02/02(火) 11:36:11.92 ID:7f7wf/mW コンパイラを書ける最低レベルに達しているかどうかの判定がしたければ 「入力された多項式を微分する関数書くならどう書く?」ってくらいは聞きたいけど。 C言語云々じゃなくてデータ構造とアルゴリズムの問題だけど、 Cでやるならポインタと再帰とラムダ算法について知ってなきゃ答えられない。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/376
377: デフォルトの名無しさん [sage] 2016/02/02(火) 20:19:50.93 ID:WkrnCzmR >>376 単純な多項式に限定していいなら再帰いらんでしょ 最終的に多項式に変換できる式と言うなら別だけど http://mevius.5ch.net/test/read.cgi/tech/1405822579/377
378: デフォルトの名無しさん [sage] 2016/02/02(火) 22:20:22.51 ID:7f7wf/mW >>377 すまん 素で項数無限だったり微分不能な関数が入ってたりしないって意味で多項式って言っとったわ。 log(x^2+8*x)とかsin(kx+wt)とかも多項式(笑) http://mevius.5ch.net/test/read.cgi/tech/1405822579/378
379: デフォルトの名無しさん [] 2016/02/03(水) 11:44:18.92 ID:tCheJck0 面接時「Cを三年ほど仕事で使っていました」 ↓ 採用後「誰だ。あいつを採用したのは!」 「最低、Cを仕事で三年間使っていること」 を条件に採用した会社で、こんなこともないわけではないからな。 本人の申告ほどあてにならないものはない。コンパイラ作成に到達する など、夢のまた夢。 http://mevius.5ch.net/test/read.cgi/tech/1405822579/379
380: デフォルトの名無しさん [sage] 2016/02/03(水) 11:59:22.08 ID:uEOUJl1K 他人の突っ込んだバグを直せるのが中級者 自分の突っ込んだバグを直せるのが上級者 それ以外は何の参考にもならない http://mevius.5ch.net/test/read.cgi/tech/1405822579/380
381: デフォルトの名無しさん [sage] 2016/02/03(水) 12:36:45.52 ID:Gb259GwX それ以外っつーとどんなバグも直せない奴か そりゃ確かに考慮に値しないな http://mevius.5ch.net/test/read.cgi/tech/1405822579/381
382: デフォルトの名無しさん [] 2016/02/03(水) 13:57:01.05 ID:WaqhOfMD まあもともとCはコンパイラを書くには向いてないからな GADTとかある関数型言語で書くのが一番楽 あとコンパイラが糞になるのは大抵対象言語の糞文法と糞デザインのせい http://mevius.5ch.net/test/read.cgi/tech/1405822579/382
383: デフォルトの名無しさん [sage] 2016/02/03(水) 13:57:40.61 ID:WaqhOfMD Rubyがなぜあんな巨大な糞なのかというと(お察しください http://mevius.5ch.net/test/read.cgi/tech/1405822579/383
384: デフォルトの名無しさん [sage] 2016/02/03(水) 14:06:49.98 ID:uEOUJl1K 実用性を求められそれに応えるごとに汚れていくのさ ピュアでいられるのはお子様だからさ http://mevius.5ch.net/test/read.cgi/tech/1405822579/384
385: デフォルトの名無しさん [sage] 2016/02/03(水) 14:17:35.65 ID:WaqhOfMD 残念だがルビーの文法とデザインが腐ってるのは初期からだw http://mevius.5ch.net/test/read.cgi/tech/1405822579/385
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 264 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s