プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。
Wikiのまとめページ
http://www6.atwiki.jp/compilerandscriptengine/
「コンパイラ・スクリプトエンジン」相談室16
2014/07/20(日) 11:16:19.37ID:p6eMVAxc
592デフォルトの名無しさん
2016/05/21(土) 18:55:29.44ID:r6iEFhaA 不具合な動作が時々あるソフトで、たまたま高性能なデバッガに
分析させたら、ソースもないのに、分析されたソフト内部のソースを
画面に表示し、
「ヌル文字列を格納するための領域に、別の文字を格納し、領域を
破壊しています」
とか何とかメッセージを出した例まであるからな。
こういうデバッガは値段が高いだろ。
分析させたら、ソースもないのに、分析されたソフト内部のソースを
画面に表示し、
「ヌル文字列を格納するための領域に、別の文字を格納し、領域を
破壊しています」
とか何とかメッセージを出した例まであるからな。
こういうデバッガは値段が高いだろ。
593デフォルトの名無しさん
2016/05/23(月) 19:41:11.89ID:h8XB4lAi 頭悪そうだね
594デフォルトの名無しさん
2016/05/26(木) 00:28:35.77ID:R75m14iA 予約語テーブルに、どのくらい詰め込めば良いかが悩ましい。
あまり増やしすぎると、C++と同じ道をたどるだけだし。
あまり増やしすぎると、C++と同じ道をたどるだけだし。
595デフォルトの名無しさん
2016/05/26(木) 00:40:19.83ID:SiuzFNyH C++と同じ道をたどれれば最高じゃないか
596デフォルトの名無しさん
2016/05/26(木) 07:23:51.59ID:6iXHX0kN てか、C++ って機能のわりに予約語は少ない方じゃね?
597デフォルトの名無しさん
2016/05/27(金) 15:25:55.45ID:xTig+h/w アンダーバー付きの予約語は嫌だ
598デフォルトの名無しさん
2016/05/27(金) 21:42:12.01ID:DWOzzldt 俺はiostream関数も嫌だな。
599デフォルトの名無しさん
2016/05/27(金) 23:33:16.53ID:64E4c/Qq 抽象関数に実装なし・マーカーとか、書けばわかりやすいのに、
func(){ } = 0
とか、意味不明なことをやって、キーワードを減らしている
func(){ } = 0
とか、意味不明なことをやって、キーワードを減らしている
600デフォルトの名無しさん
2016/05/31(火) 21:45:44.53ID:0yna7kxs #include <PANAMA_PAPERS.Lib>
main()
{
for(Datsuzei = 0; Datsuzei <= mugendai; Datsuzei++)
}
こんな予約語やライブラリがあれば、俺のお金も無限に増える
はずなのに。消費税など、上げないでもらいたいよな。
main()
{
for(Datsuzei = 0; Datsuzei <= mugendai; Datsuzei++)
}
こんな予約語やライブラリがあれば、俺のお金も無限に増える
はずなのに。消費税など、上げないでもらいたいよな。
601デフォルトの名無しさん
2016/05/31(火) 22:03:33.81ID:TRYwrF1a お金が無限に増えたらジンバブエみたいになるぞ・・・・・・
602デフォルトの名無しさん
2016/05/31(火) 22:10:48.45ID:JlIYRfhe ジンバブエってdoubleが桁あふれしたんだっけw?
603デフォルトの名無しさん
2016/06/01(水) 20:32:23.48ID:72v9yor7 COBOL使ってたから大丈夫
604デフォルトの名無しさん
2016/06/01(水) 22:55:39.98ID:z/VHQJBB ワロタww
せめてrubyにしてくだしあ
せめてrubyにしてくだしあ
605デフォルトの名無しさん
2016/06/05(日) 02:48:48.10ID:itWJAX/I フリーのコンパイラって、信用できる?
遊び程度でソフト作るなら良いけど、フリーだとサポートも
期待できないし。
遊び程度でソフト作るなら良いけど、フリーだとサポートも
期待できないし。
606デフォルトの名無しさん
2016/06/05(日) 03:05:17.84ID:wHhH7979 gccもclangもjavacもc#も信用ならんって分野ももしかしたらどこかにはあるのかもな
607デフォルトの名無しさん
2016/06/05(日) 03:35:16.04ID:itWJAX/I gnuのように、ソースが公開されていてもやばい部分もあるのかな?
608デフォルトの名無しさん
2016/06/05(日) 09:08:18.42ID:n7k60ruZ 事故った時の補償の話なら先に契約で決めておくしかない
どうしても必要なら補償付きのお高いメーカー製を使えばいい
そこまで気にしないなら適当に人気のやつを選べばいい
ただし最適化を強めにすると地雷を踏むリスクが高い
どうしても必要なら補償付きのお高いメーカー製を使えばいい
そこまで気にしないなら適当に人気のやつを選べばいい
ただし最適化を強めにすると地雷を踏むリスクが高い
609デフォルトの名無しさん
2016/06/05(日) 09:10:42.69ID:n7k60ruZ ライブラリとかOSとかに比べればコンパイラ自身のバグは極めて少ない
ただし最適化を強めにすると(ry
ただし最適化を強めにすると(ry
610デフォルトの名無しさん
2016/06/05(日) 14:53:16.00ID:D97p9ZEl 最適化有効にしてバグるのも大抵そのプログラムのバグだから
611デフォルトの名無しさん
2016/06/11(土) 01:39:10.14ID:cDt3abig >>605
有料でもサポートしてもらえる範囲は限られてる
有料でもサポートしてもらえる範囲は限られてる
612デフォルトの名無しさん
2016/06/11(土) 06:06:42.00ID:MaD03lMp 今考えたら昔のN88BASICも、実は凄かったんだな。
コンパイラを作りの前の基礎教養として、価値があると思う。
知識が多いほうが有利だし。
コンパイラを作りの前の基礎教養として、価値があると思う。
知識が多いほうが有利だし。
613デフォルトの名無しさん
2016/08/06(土) 21:46:00.33ID:pVg13zPK グラフィックライブラリは、やたら予約語の文字数が長くてウンザリ
した経験があるな。わかりやすくコンパクトな予約語で良いのに。
した経験があるな。わかりやすくコンパクトな予約語で良いのに。
614デフォルトの名無しさん
2016/08/06(土) 22:54:17.43ID:Jz+gSdkD 予約語?
615デフォルトの名無しさん
2016/08/22(月) 17:08:41.63ID:oW9zLe2W 昔のBASICは名前空間みたいな整理はされてなくて
ライブラリに相当する部分も予約語として扱ってたんだよ
ライブラリに相当する部分も予約語として扱ってたんだよ
616デフォルトの名無しさん
2016/09/13(火) 22:37:20.41ID:0YzbOJ/I HSPとかもそうだな
617デフォルトの名無しさん
2016/10/17(月) 13:00:51.48ID:Vg9Wd9rs618デフォルトの名無しさん
2016/10/17(月) 13:06:46.54ID:Vg9Wd9rs パラメーターがダラダラ長いっていうのなら分かるんだけどな
タートルグラフィック以前の設計で
カレントペンオブジェクトって概念がまだないから
タートルグラフィック以前の設計で
カレントペンオブジェクトって概念がまだないから
619デフォルトの名無しさん
2017/03/20(月) 21:03:09.17ID:FgPIWm6o haskellのdo構文
620デフォルトの名無しさん
2017/05/15(月) 00:51:21.49ID:SFBD2YKR Amazon で「Flex & Bison」で検索したらこんなの出て来て驚いた。
http://amzn.asia/2GvBmZs
http://amzn.asia/2GvBmZs
621デフォルトの名無しさん
2017/05/15(月) 18:24:26.90ID:DeqHpRpX たけーなオイ
622デフォルトの名無しさん
2017/06/26(月) 19:12:09.78ID:6CpK5SZQ623デフォルトの名無しさん
2018/02/16(金) 06:02:50.68ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
624片山博文MZ ◆T6xkBnTXz7B0
2018/03/02(金) 16:53:16.42ID:R33psDql625デフォルトの名無しさん
2018/05/23(水) 22:10:50.46ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
RSQUI
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
RSQUI
626デフォルトの名無しさん
2018/07/04(水) 23:52:46.72ID:gFgZc5FG CL2
627デフォルトの名無しさん
2018/07/16(月) 22:53:08.29ID:oM74pxCP テスト😊
形式言語の祖・生成文法のチョムスキー90歳の言葉
http://www.videonews.com/marugeki-talk/908/
http://www.videonews.com/marugeki-talk/908/
629デフォルトの名無しさん
2019/03/21(木) 17:55:33.49ID:YzD9JPpd esprima/escodegenなんかでJS ASTを扱ってる人に質問。
ASTを舐めて変数の型を推論したものをノードに紐付けて記録しておきたいんだけど、JS ASTの場合
ASTの中にメタデータをぶら下げるのと外で持つのとどっちが一般的なんだろう?
中に持つ場合はどこにどういうプロパティ名でぶら下げるか、外の場合はノードの位置を特定する
パスのようなものが必要になるけどそれをどうするか。
ASTを舐めて変数の型を推論したものをノードに紐付けて記録しておきたいんだけど、JS ASTの場合
ASTの中にメタデータをぶら下げるのと外で持つのとどっちが一般的なんだろう?
中に持つ場合はどこにどういうプロパティ名でぶら下げるか、外の場合はノードの位置を特定する
パスのようなものが必要になるけどそれをどうするか。
630デフォルトの名無しさん
2021/02/24(水) 20:03:26.16ID:1LsYaFKv test
631デフォルトの名無しさん
2021/06/01(火) 15:18:43.13ID:IjgT90G7 お前ら元気か?
Prologおじさんが2003年頃からPrologの人気がなくなったとか言ってたんだが、2chのせいではないかと思ってきてみたぜ。
めっちゃ過疎ってるじゃないか。というか2chいつの間にか5chになってたんだな。
Prologは操作的意味論をそのまま書き下して言語作れるので良いぞw
% e.pl
e(I, I) :- integer(I).
e(E1+E2, I) :- e(E1, I1), e(E2, I2), I is I1+I2.
:- e(1+2+3+4,R),!,writeln(R).
:- halt.
というファイルを作って
$ swipl e.pl
10
だ。こんな短く言語実装できる言語は他にないぜw
Prologおじさんが2003年頃からPrologの人気がなくなったとか言ってたんだが、2chのせいではないかと思ってきてみたぜ。
めっちゃ過疎ってるじゃないか。というか2chいつの間にか5chになってたんだな。
Prologは操作的意味論をそのまま書き下して言語作れるので良いぞw
% e.pl
e(I, I) :- integer(I).
e(E1+E2, I) :- e(E1, I1), e(E2, I2), I is I1+I2.
:- e(1+2+3+4,R),!,writeln(R).
:- halt.
というファイルを作って
$ swipl e.pl
10
だ。こんな短く言語実装できる言語は他にないぜw
632デフォルトの名無しさん
2021/06/01(火) 15:25:20.70ID:IjgT90G7 Prologなら型システムを作るのもお手の物だ。
t(I,int):- integer(I).
t(E1+E2,int):- t(E1,int), t(E2,int).
:- t(1+2+3,T),!,writeln(T).
:- halt.
これだけ。Prologは関数というか述語のネストをできなくして
述語の引数は全てクォートとされた式のように扱われ、
変数がアンクォートな感じに書ける。
故にLispのS式より複雑な優先順位付きの演算子を使った式が扱えて便利だ。
ってことで、暇な奴がいたら使ってみて欲しいんダゼ。
じゃあなw
t(I,int):- integer(I).
t(E1+E2,int):- t(E1,int), t(E2,int).
:- t(1+2+3,T),!,writeln(T).
:- halt.
これだけ。Prologは関数というか述語のネストをできなくして
述語の引数は全てクォートとされた式のように扱われ、
変数がアンクォートな感じに書ける。
故にLispのS式より複雑な優先順位付きの演算子を使った式が扱えて便利だ。
ってことで、暇な奴がいたら使ってみて欲しいんダゼ。
じゃあなw
633デフォルトの名無しさん
2021/06/23(水) 07:02:20.99ID:HYjDIJ1V Prolog興味あるけどCとかJavaとかPythonとかのメジャーどころと違って教科書みたいなアカデミックな本しか見つからないから並以下グラマの俺には無理
634デフォルトの名無しさん
2021/10/13(水) 08:22:07.76ID:Qk99MJFD 岩波のprologのプログラミング作法読んでみたら?
第5世代が成果をオープンソースに出来ていればなあ
第5世代が成果をオープンソースに出来ていればなあ
635デフォルトの名無しさん
2023/07/05(水) 03:42:10.87ID:e/cCV0Lv >>311
人は死後49日は漂うと云われているな
人は死後49日は漂うと云われているな
636デフォルトの名無しさん
2023/09/24(日) 11:28:47.13ID:Iodo3XEj インタプリタの作り方 −言語設計/開発の基本と2つの方式による実装− - インプレスブックス
ttps://book.impress.co.jp/books/1122101087
ttps://book.impress.co.jp/books/1122101087
637デフォルトの名無しさん
2023/10/06(金) 08:06:12.42ID:NmxdZAP9 バックエンドの作り方はググれば解説が出てくるが
“実用的な”バックエンドの作り方はさっぱりわからない
RX用のバックエンドが欲しいんだがなー
“実用的な”バックエンドの作り方はさっぱりわからない
RX用のバックエンドが欲しいんだがなー
638デフォルトの名無しさん
2023/11/11(土) 06:58:34.37ID:uMtlBPBy double a = 2.71828;
というコードをコンパイルするときに、2進浮動小数点数に変換しないといけないと思います。
2進数浮動小数点数に丸めるときに、四捨五入(0捨1入)したり、一番近い2進浮動小数点数に変換したりといろいろな方法がありますが、その方式を決定するのもコンパイラの仕事ですか?
計算機イプシロンを ε_M とします。
2進浮動小数点数に丸めるときの方式として、四捨五入(0捨1入)が採用されているかどうかを確かめる方法として、
eps = 2^(-52)
1 + (1/2) * eps
を計算させて、それが 1 + eps に等しいかどうかをみるという方法が数値解析の本で紹介されています。
1 + (1/2) * eps
を計算するときに、丸めとかで変な浮動小数点数になって、この紹介されている方法が実行できないとかないですか?
というコードをコンパイルするときに、2進浮動小数点数に変換しないといけないと思います。
2進数浮動小数点数に丸めるときに、四捨五入(0捨1入)したり、一番近い2進浮動小数点数に変換したりといろいろな方法がありますが、その方式を決定するのもコンパイラの仕事ですか?
計算機イプシロンを ε_M とします。
2進浮動小数点数に丸めるときの方式として、四捨五入(0捨1入)が採用されているかどうかを確かめる方法として、
eps = 2^(-52)
1 + (1/2) * eps
を計算させて、それが 1 + eps に等しいかどうかをみるという方法が数値解析の本で紹介されています。
1 + (1/2) * eps
を計算するときに、丸めとかで変な浮動小数点数になって、この紹介されている方法が実行できないとかないですか?
639デフォルトの名無しさん
2023/11/11(土) 07:01:57.70ID:uMtlBPBy あと、
double a = 2.71828 * 3.141592;
というコードがあったとき、
コンパイラは、 2.71828 を丸めた2進浮動小数点数と 3.141592 を丸めた2進浮動小数点数を掛けよという機械語に翻訳するんですか?
それともこんな簡単な計算はコンパイラで予め行って、その結果を a に代入するという機械語を生成するんですか?
double a = 2.71828 * 3.141592;
というコードがあったとき、
コンパイラは、 2.71828 を丸めた2進浮動小数点数と 3.141592 を丸めた2進浮動小数点数を掛けよという機械語に翻訳するんですか?
それともこんな簡単な計算はコンパイラで予め行って、その結果を a に代入するという機械語を生成するんですか?
640デフォルトの名無しさん
2023/11/11(土) 08:35:32.43ID:fuGMacjx double a = math.E + path.PI;
641デフォルトの名無しさん
2023/11/11(土) 08:37:19.10ID:fuGMacjx 宿題は宿題スレへ
642デフォルトの名無しさん
2023/11/11(土) 11:05:25.10ID:5AzCeqvD はい
あります
はい
場合によります(最適化という追加処理)
あります
はい
場合によります(最適化という追加処理)
レスを投稿する
ニュース
- 【サッカー】放映権料は400億円を突破か…難航する『‘26年W杯』中継交渉 地上波から「サッカーが消える日」 [jinjin★]
- 自民・森山幹事長 消費税減税を改めて“否定”「財源ないと辻褄あわない」 ★3 [首都圏の虎★]
- 【福岡】「酔っ払いが通行人に絡んでいるのを見て腹が立った」 中年男性に殴る蹴るの暴行 28歳男逮捕 男性はその後死亡 [シャチ★]
- 【ゲーム】RPGで「ああ、これね…」となる“嫌な展開” 「育ててないメンバー強制バトル」「ミニゲーム必須」 [ひぃぃ★]
- 永野芽郁、『キャスター』第5話で激高セリフ 「そう考えてるオヤジがたくさんいるから、いつまでたっても日本はジェンダー後進国!」 [冬月記者★]
- 【芸能】トライストーン社長の小栗旬、田中圭の不倫報道に「田中が言っていることを信じたい」とのコメントを出して批判殺到 [Ailuropoda melanoleuca★]