プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。
Wikiのまとめページ
http://www6.atwiki.jp/compilerandscriptengine/
「コンパイラ・スクリプトエンジン」相談室16
2014/07/20(日) 11:16:19.37ID:p6eMVAxc
288デフォルトの名無しさん
2015/09/26(土) 01:18:18.90ID:4Rxec7m6 >>283
「スクリプト言語」の定義は難しいが、おおむね
(1)(ユーザーから見て)明示的なコンパイルというフェーズを経ずに実行される
(2)変数に型がない
(3)実行時に行える処理の柔軟性が高い(例えば関数定義など)
という特徴を持つ言語を指すことが多いだろう。RubyやPythonなど
で、それぞれの特徴が、実行速度を遅くすることに貢献する。
(1)→ 最適化に時間を割けない
(2)→ 実行時に、変数が指すオブジェクトの種類を調べる処理が毎回入る。
(3)→ これを実現するためにバイトコードインタプリタで実装されることが多く、遅くなる
もちろん厳密な定義ではないので、あくまで「おおむね」という話。
Javascriptみたいな変態事例もあるし断定的なことは何も言えない
言葉の定義の論争は不毛
「スクリプト言語」の定義は難しいが、おおむね
(1)(ユーザーから見て)明示的なコンパイルというフェーズを経ずに実行される
(2)変数に型がない
(3)実行時に行える処理の柔軟性が高い(例えば関数定義など)
という特徴を持つ言語を指すことが多いだろう。RubyやPythonなど
で、それぞれの特徴が、実行速度を遅くすることに貢献する。
(1)→ 最適化に時間を割けない
(2)→ 実行時に、変数が指すオブジェクトの種類を調べる処理が毎回入る。
(3)→ これを実現するためにバイトコードインタプリタで実装されることが多く、遅くなる
もちろん厳密な定義ではないので、あくまで「おおむね」という話。
Javascriptみたいな変態事例もあるし断定的なことは何も言えない
言葉の定義の論争は不毛
289デフォルトの名無しさん
2015/09/26(土) 11:28:42.59ID:GpPO3Mdd >>287
(一切実行せずに)サラッと眺めた感じだと
字句解析くらい生成系やライブラリ(flex++やboost::spirit等)に頼ってみたらどうかなってのはあるかな。
変数名としてnCount(整数,カウント)の代わりにixArg(添字,引数)を使うとか
細かいところは幾つかあるかも知れんけど、それなりに読みやすいと思うよ。
stdafx.cppって名前で使ってることは察したけど、VS使うんなら
プロジェクト開くのに必要なファイル(.sln等)を入れるとか、
或いはMinGW/Cygwin/msys2なんかのUnix系ツールでさくっとビルドできるようにcmakeを書くとかしておくと
評価する人が増えると思うよ。
(一切実行せずに)サラッと眺めた感じだと
字句解析くらい生成系やライブラリ(flex++やboost::spirit等)に頼ってみたらどうかなってのはあるかな。
変数名としてnCount(整数,カウント)の代わりにixArg(添字,引数)を使うとか
細かいところは幾つかあるかも知れんけど、それなりに読みやすいと思うよ。
stdafx.cppって名前で使ってることは察したけど、VS使うんなら
プロジェクト開くのに必要なファイル(.sln等)を入れるとか、
或いはMinGW/Cygwin/msys2なんかのUnix系ツールでさくっとビルドできるようにcmakeを書くとかしておくと
評価する人が増えると思うよ。
290デフォルトの名無しさん
2015/10/04(日) 21:40:28.41ID:Qeh3kLaJ おれバカで不勉強だから知らなかったえけど、最近の処理系って状態コードのお持ち帰りをしてくれるんだね
手続きAを呼んだ直後にグローバルな状態変数に何がしかの情報が入ってる(何も起きなかったとか、フックして停止させるの推奨みたいな)
面白いな〜
データを加工して返すー>関数(関数内で処理のフローに関係する記述は禁止)
処理のフローに関係するー>手続き(状態コードを標準で返す)
複数個所使うで同じ様な処理をまとめるー>サブルーチン(スタックフレームの無いローカルな手続き)
プログラムを組み上げるときの構造や構成に行儀のよい作法がないと
プログラムのどの時点でどのデータがどの構成や状態にあるのか把握ができなくて発狂するww
で、なんでも記述できる自由度の高い処理系ほど読解困難な発狂プログラムが出来上がると
手続きAを呼んだ直後にグローバルな状態変数に何がしかの情報が入ってる(何も起きなかったとか、フックして停止させるの推奨みたいな)
面白いな〜
データを加工して返すー>関数(関数内で処理のフローに関係する記述は禁止)
処理のフローに関係するー>手続き(状態コードを標準で返す)
複数個所使うで同じ様な処理をまとめるー>サブルーチン(スタックフレームの無いローカルな手続き)
プログラムを組み上げるときの構造や構成に行儀のよい作法がないと
プログラムのどの時点でどのデータがどの構成や状態にあるのか把握ができなくて発狂するww
で、なんでも記述できる自由度の高い処理系ほど読解困難な発狂プログラムが出来上がると
291デフォルトの名無しさん
2015/10/05(月) 23:32:01.45ID:F9TK8Py4 >>290
状態コードのお持ち帰りって何?
状態コードのお持ち帰りって何?
292デフォルトの名無しさん
2015/10/06(火) 02:07:01.38ID:mXRqVUnf 何を言ってるのかさっぱりワカラン…
293デフォルトの名無しさん
2015/10/06(火) 02:50:21.48ID:rErEEAIK クロージャのことかな・・・
最初Smalltalkやlispの環境のことかと思ったけど
最初Smalltalkやlispの環境のことかと思ったけど
294デフォルトの名無しさん
2015/10/06(火) 10:51:51.85ID:SQrzN3D5 coroutineだったりして?
295デフォルトの名無しさん
2015/10/06(火) 13:56:11.40ID:6X8NqiS5 継続じゃないの
俺は気持ち悪いとしか思わんけど
俺は気持ち悪いとしか思わんけど
296デフォルトの名無しさん
2015/10/06(火) 14:17:39.64ID:ztjfyQaD なんでも記述できる自由度の高い言語ほど……
297デフォルトの名無しさん
2015/10/06(火) 22:40:32.31ID:KmJ2byjS (PEEK/POKEで)なんでも記述できる自由度の高いBASIC言語はいかがですかー
298デフォルトの名無しさん
2015/10/07(水) 11:46:38.15ID:YlJ45J+b 文字通りステートコードの事じゃね?
Unixが何十年も前に確立してるけど
# make && make install
Unixが何十年も前に確立してるけど
# make && make install
299デフォルトの名無しさん
2015/10/11(日) 09:14:44.03ID:yW9ExgL4 なんか意味不明なこと書いてすいません
ステートコードで正しいと思います。
バカ正直に戻り値だけと思い込んでいたので
さっき、vs2013のc++起動して、構成プロパティでx64とアセンブラコードの出力に設定して
c++の入門書を買うか悩むこと5分
lispの実装でググって15分
考えるのやめて現実逃避中orz
一番自由度の高いのはアセンブラ(当たり前だけど)
ただし、全て自己責任(自由度が高い=自己責任ですよ〜)
なんか、適当なスクリプト言語が作れないかなと
ステートコードで正しいと思います。
バカ正直に戻り値だけと思い込んでいたので
さっき、vs2013のc++起動して、構成プロパティでx64とアセンブラコードの出力に設定して
c++の入門書を買うか悩むこと5分
lispの実装でググって15分
考えるのやめて現実逃避中orz
一番自由度の高いのはアセンブラ(当たり前だけど)
ただし、全て自己責任(自由度が高い=自己責任ですよ〜)
なんか、適当なスクリプト言語が作れないかなと
300デフォルトの名無しさん
2015/10/11(日) 16:02:56.87ID:e7nwHPrn >>299
「自由度」の定義は何?確かに「そのマシンで出来ることがなんでも記述できる」ならアセンブリほぼ一択だけど、
例えば「その言語のプリミティブと同等な機能を作れる」ならCommon Lispは自由度が高いし(マクロ最高!)、
或いは「その言語のプリミティブの機能を別な機能に変更出来る」ならTeXは自由度が高いよね(TeXの\endプリミティブが、なんとLaTeXでは違う機能に置き換わってる)。
例えば「その言語の文法を変えられる」って意味ならswiftやprologなんかは自由度が高い例になるだろうし、
仮にそれらの意味であればアセンブリ言語なんて自由度の欠片もない言語の一つになるよ。
適当なスクリプト言語が作りたいならHQ9+かbrainfuckか何かを作ればいいと思うよ
という冗談はさておき、そのスクリプト言語で何をやりたいかによって色々変わってくるよね。
テキスト処理ならgrepやsed、awkやperlなんかは参考になるだろうし、
統計処理や数式処理なんかはRやmathematicaが有名所かな。
読みやすさ重視ならある意味ではCOBOLやBASICが、別な意味ではpythonやrubyが「読みやすさ」を重視した言語として有名だし
とにかく簡単な文法にしたいならlispやpostscriptなんかが興味深い例ではある。
特殊用途向けの言語が作りたいか、汎用的な言語が作りたいか
汎用的な言語であれば手続き型か関数型か論理型か、関数や型はファーストクラスオブジェクトか、どんな文法か。
特殊用途向けの言語であればどんな用途で使うのか。
ノベルゲーム制作の補助向け(NScripter/吉里吉里等)なのか、文法記述用(regex/LR/PEG等)なのか、画像や構造を記述するもの(svg/postscript等)なのか。
「自由度」の定義は何?確かに「そのマシンで出来ることがなんでも記述できる」ならアセンブリほぼ一択だけど、
例えば「その言語のプリミティブと同等な機能を作れる」ならCommon Lispは自由度が高いし(マクロ最高!)、
或いは「その言語のプリミティブの機能を別な機能に変更出来る」ならTeXは自由度が高いよね(TeXの\endプリミティブが、なんとLaTeXでは違う機能に置き換わってる)。
例えば「その言語の文法を変えられる」って意味ならswiftやprologなんかは自由度が高い例になるだろうし、
仮にそれらの意味であればアセンブリ言語なんて自由度の欠片もない言語の一つになるよ。
適当なスクリプト言語が作りたいならHQ9+かbrainfuckか何かを作ればいいと思うよ
という冗談はさておき、そのスクリプト言語で何をやりたいかによって色々変わってくるよね。
テキスト処理ならgrepやsed、awkやperlなんかは参考になるだろうし、
統計処理や数式処理なんかはRやmathematicaが有名所かな。
読みやすさ重視ならある意味ではCOBOLやBASICが、別な意味ではpythonやrubyが「読みやすさ」を重視した言語として有名だし
とにかく簡単な文法にしたいならlispやpostscriptなんかが興味深い例ではある。
特殊用途向けの言語が作りたいか、汎用的な言語が作りたいか
汎用的な言語であれば手続き型か関数型か論理型か、関数や型はファーストクラスオブジェクトか、どんな文法か。
特殊用途向けの言語であればどんな用途で使うのか。
ノベルゲーム制作の補助向け(NScripter/吉里吉里等)なのか、文法記述用(regex/LR/PEG等)なのか、画像や構造を記述するもの(svg/postscript等)なのか。
301デフォルトの名無しさん
2015/10/12(月) 16:27:55.78ID:xsIpokn9 >>300
丁寧な指摘ありがとうございます。
実際にVS2013をインストールしc++の入門を開いてブレイクポイントーデバッグーアセンブラの表示までたどりつきました
実際のアセンブラのコードを見て少し頭を抱えたしだいです
int a,b,c;
a=1; b=a/2*2;
たったこれだけのコードのアセンブラ出力も、符号拡張命令後の処理の意味が汲み取れませんでした
取り合えず高度な目標はありません
NanaTerryなるアイデアプロセッサを使ってみたらとても使い心地が良かったので
これをシンプルな機能に絞って実装する、そんなプログラムやアイデアを綴るTEXTを扱うtoolを
作りだす為の仕様に絞って色々検討しています。
低機能なlispっぽいなにかになる予定
最近はcコンパイラの実装まで大学のカリキュラムにあると聞いたので凄く刺激を受けました
実際c++の入門などを読んでも言語の仕様に何等かの違和感があるのです
丁寧な指摘ありがとうございます。
実際にVS2013をインストールしc++の入門を開いてブレイクポイントーデバッグーアセンブラの表示までたどりつきました
実際のアセンブラのコードを見て少し頭を抱えたしだいです
int a,b,c;
a=1; b=a/2*2;
たったこれだけのコードのアセンブラ出力も、符号拡張命令後の処理の意味が汲み取れませんでした
取り合えず高度な目標はありません
NanaTerryなるアイデアプロセッサを使ってみたらとても使い心地が良かったので
これをシンプルな機能に絞って実装する、そんなプログラムやアイデアを綴るTEXTを扱うtoolを
作りだす為の仕様に絞って色々検討しています。
低機能なlispっぽいなにかになる予定
最近はcコンパイラの実装まで大学のカリキュラムにあると聞いたので凄く刺激を受けました
実際c++の入門などを読んでも言語の仕様に何等かの違和感があるのです
302デフォルトの名無しさん
2015/10/12(月) 18:59:19.08ID:ATBGiUj9 こいつ覚えたての言葉を使いたいだけのワナビーだろ
おそらくスレ違いなのにも気づいてないし相手すること無いぞ
おそらくスレ違いなのにも気づいてないし相手すること無いぞ
303デフォルトの名無しさん
2015/10/12(月) 19:02:17.18ID:qifYD3R8 パラドックスが始まった
304デフォルトの名無しさん
2015/12/09(水) 21:43:53.38ID:yqcBT5mk CでCを作るのと、アセンブラ使ってCコンパイラを作るのと、
どっちが良いかな?
どっちが良いかな?
305デフォルトの名無しさん
2015/12/09(水) 23:21:35.10ID:0CTdrHjr CでCを作る時間をCでXを作る時間に充てるのが良い
306デフォルトの名無しさん
2015/12/10(木) 03:57:42.43ID:zEe7T/5S >>1
デュエル・マスターズ Android版 ,i-OS版、公式 http://dm.takaratomy.co.jp/extra/dmapp/entrygate_ds/
デュエル・マスターズ対戦CGI ex
https://web.archive.org/web/20150809154946/http://www53.atwiki.jp/dmsuishinparty/pages/314.html
デュエル・マスターズ(デュエマ)DM ONLINE 1.8a / VanGuard ONLINE 1.5a
https://web.archive.org/web/20150809160254/http://uhyohyohyo.sak ura.ne.jp/hsp.html
ヴァンガード専用ネット対戦ツール【 VanGuard Online 】
https://web.archive.org/web/20150809155032/http://kiimaa.jugem.jp/?eid=61
「カードファイト!!ヴァンガード」のネット対戦ができる公式オンラインゲーム「Cardfight!! Online」 2015年冬スタート
https://web.archive.org/web/20150809153724/http://supersolenoid.blog63.fc2.com/blog-entry-6886.html
遊戯王 Automatic Dueling System
https://web.archive.org/web/20150809164855/http://www3.atwiki.jp/ads-wiki/pages/20.html
遊戯王 デュエル・オンライン
https://web.archive.org/web/20150809171527/http://www31.atwiki.jp/vipdo/pages/15.html
https://web.archive.org/web/20140628005202/http://do.yugioh-portal.net/
WIXOSS WEBXOSS http://webxoss.com/about_en.html http://webxoss.com/DeckEditor/
BG(ボードゲーム)Engine https://web.archive.org/web/20151209080842/https://bgengine.net/
https://web.archive.org/web/20151209172205/http://14owl.hateblo.jp/entry/2015/12/09/011234
アプレンティス マジック:ザ・ギャザリング(MtG)オンライン化 http://homepage1.nifty.com/Q_Q/ap.html
https://web.archive.org/web/20151202202725/http://homepage1.nifty.com/Q_Q/ap.html
デュエル・マスターズ Android版 ,i-OS版、公式 http://dm.takaratomy.co.jp/extra/dmapp/entrygate_ds/
デュエル・マスターズ対戦CGI ex
https://web.archive.org/web/20150809154946/http://www53.atwiki.jp/dmsuishinparty/pages/314.html
デュエル・マスターズ(デュエマ)DM ONLINE 1.8a / VanGuard ONLINE 1.5a
https://web.archive.org/web/20150809160254/http://uhyohyohyo.sak ura.ne.jp/hsp.html
ヴァンガード専用ネット対戦ツール【 VanGuard Online 】
https://web.archive.org/web/20150809155032/http://kiimaa.jugem.jp/?eid=61
「カードファイト!!ヴァンガード」のネット対戦ができる公式オンラインゲーム「Cardfight!! Online」 2015年冬スタート
https://web.archive.org/web/20150809153724/http://supersolenoid.blog63.fc2.com/blog-entry-6886.html
遊戯王 Automatic Dueling System
https://web.archive.org/web/20150809164855/http://www3.atwiki.jp/ads-wiki/pages/20.html
遊戯王 デュエル・オンライン
https://web.archive.org/web/20150809171527/http://www31.atwiki.jp/vipdo/pages/15.html
https://web.archive.org/web/20140628005202/http://do.yugioh-portal.net/
WIXOSS WEBXOSS http://webxoss.com/about_en.html http://webxoss.com/DeckEditor/
BG(ボードゲーム)Engine https://web.archive.org/web/20151209080842/https://bgengine.net/
https://web.archive.org/web/20151209172205/http://14owl.hateblo.jp/entry/2015/12/09/011234
アプレンティス マジック:ザ・ギャザリング(MtG)オンライン化 http://homepage1.nifty.com/Q_Q/ap.html
https://web.archive.org/web/20151202202725/http://homepage1.nifty.com/Q_Q/ap.html
307デフォルトの名無しさん
2015/12/10(木) 04:01:27.83ID:zEe7T/5S 【 オンラインTCGエディター 】 >>1,>>306
デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。
例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
デュエマ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、旧ガンダム・ウォー、ライブオン、ディメンション・ゼロ、シャーマン・キング、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。
設計思想は 《 RPGツクール 》 が良いかな? 他に、優れたエディター有ったら挙げてみて。
個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。
↓
エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。
↓
遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
バトスピ、ヴァンガ、デュエマなど発売済みゲームソフトが存在してるTCGはベンダーに研究させる。
↓
各社TCGを再現するテストプレイ ⇒ 更に改良や修正。
↓
機能制限した下位版を制作しても原則として発売せず + 上位版デュエリ−グ用でサーバー稼動。
↑
下位版を仮に発売した場合の改造および商用利用には、別途で当社との契約が必要。
さ〜て、インド人ベンダーと日本人の翻訳兼PGを見つけよっと!ww
http://wc2014.2ch.net/test/read.cgi/entrance2/1449623194/-18
デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。
例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
デュエマ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、旧ガンダム・ウォー、ライブオン、ディメンション・ゼロ、シャーマン・キング、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。
設計思想は 《 RPGツクール 》 が良いかな? 他に、優れたエディター有ったら挙げてみて。
個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。
↓
エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。
↓
遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
バトスピ、ヴァンガ、デュエマなど発売済みゲームソフトが存在してるTCGはベンダーに研究させる。
↓
各社TCGを再現するテストプレイ ⇒ 更に改良や修正。
↓
機能制限した下位版を制作しても原則として発売せず + 上位版デュエリ−グ用でサーバー稼動。
↑
下位版を仮に発売した場合の改造および商用利用には、別途で当社との契約が必要。
さ〜て、インド人ベンダーと日本人の翻訳兼PGを見つけよっと!ww
http://wc2014.2ch.net/test/read.cgi/entrance2/1449623194/-18
308デフォルトの名無しさん
2015/12/21(月) 02:59:48.04ID:4Mx5VRPH >>304
BCPLとかCの生まれをもう一度考えてみると良いんじゃ無いかな?
凸記法で言語の生成を僕が読んだのはBit別冊の何かに書かれていたPlan言語の解説だったけど、ああいう記法って今は使わないのかな?
↑ある言語を生成するのに必要な言語処理系を凸と凹で組み合わせて表記してある奴なんだけど、アカデミックな世界でなんて言う方法かしらないのでこう書いてます。
BCPLとかCの生まれをもう一度考えてみると良いんじゃ無いかな?
凸記法で言語の生成を僕が読んだのはBit別冊の何かに書かれていたPlan言語の解説だったけど、ああいう記法って今は使わないのかな?
↑ある言語を生成するのに必要な言語処理系を凸と凹で組み合わせて表記してある奴なんだけど、アカデミックな世界でなんて言う方法かしらないのでこう書いてます。
309デフォルトの名無しさん
2015/12/21(月) 21:20:55.44ID:6WzMDceb 乱数の発生のさせ方は、クロックを利用するものだけかな?
色々ありそうだけど、調べても良くはわからなかった。
色々ありそうだけど、調べても良くはわからなかった。
310デフォルトの名無しさん
2015/12/22(火) 01:30:01.23ID:P1DQx2Lt 時刻ではなく、プログラムを起動してから経過した時間を取得できます。それを種にする
311デフォルトの名無しさん
2015/12/22(火) 01:34:09.74ID:P1DQx2Lt GetTickCount function
システムが起動してから経過したミリ秒を取得
Retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408%28v=vs.85%29.aspx
システムが起動してから経過したミリ秒を取得
Retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408%28v=vs.85%29.aspx
312デフォルトの名無しさん
2015/12/22(火) 14:10:11.43ID:dkSLpih8313デフォルトの名無しさん
2015/12/22(火) 14:11:39.64ID:dkSLpih8314デフォルトの名無しさん
2015/12/22(火) 16:20:29.14ID:FIUTNb/j >>309
ハードウェアのADコンバータ経由(アナログなノイズジェネレータからADコンバータで拾ってくる奴)で乱数作るとかもあるけど、計算機の乱数は種から一意に求められる様な物が一般的だよ
で種(seed)の値に現在時刻をつかったり、ユーザの挙動(キー入力やマウスの位置)を素にしたりして見かけ上の乱数性を生成しているのが普通。
ハードウェアのADコンバータ経由(アナログなノイズジェネレータからADコンバータで拾ってくる奴)で乱数作るとかもあるけど、計算機の乱数は種から一意に求められる様な物が一般的だよ
で種(seed)の値に現在時刻をつかったり、ユーザの挙動(キー入力やマウスの位置)を素にしたりして見かけ上の乱数性を生成しているのが普通。
315デフォルトの名無しさん
2015/12/22(火) 18:18:28.54ID:qPz15M1W316デフォルトの名無しさん
2015/12/22(火) 20:55:17.79ID:1duNN4a3 乱数表をあらかじめ組み込んでおいて、起動からの時間により、順繰り
読んで擬似的に乱数を発生させる方法はありかな?
読んで擬似的に乱数を発生させる方法はありかな?
317デフォルトの名無しさん
2015/12/22(火) 22:21:41.42ID:HbMu76eU ねーよ
318デフォルトの名無しさん
2015/12/22(火) 22:39:41.89ID:S5fGjlFA319デフォルトの名無しさん
2015/12/23(水) 02:10:18.76ID:o2v4fYco 何でそんなに起動からの時間が好きなんだよw
女官じゃないぞ
女官じゃないぞ
320デフォルトの名無しさん
2015/12/23(水) 14:48:59.82ID:1VnhNGH+ 大昔の光栄ゲーでは起動時に RETURN を叩いてもらってそのタイミングで乱数初期化してたw
321デフォルトの名無しさん
2015/12/24(木) 23:33:07.59ID:Uv2klDgG std::random_device
322デフォルトの名無しさん
2015/12/25(金) 21:30:55.13ID:R/sO38u1 ユーザーのマウスの動きを、ミッキー単位で取得して乱数を...と
思ったら、プログラマはマウスを嫌がり、あまり使わないで
tabキー多用する奴も多かったからな。別な手を考えた方が良いかな?
思ったら、プログラマはマウスを嫌がり、あまり使わないで
tabキー多用する奴も多かったからな。別な手を考えた方が良いかな?
323デフォルトの名無しさん
2015/12/25(金) 22:26:16.56ID:DXbDvcZw なあ、今時のCPUはランダムデバイス持ってることくらいは知っとこうや
幾らくたばりかけてる爺でも
幾らくたばりかけてる爺でも
324デフォルトの名無しさん
2015/12/26(土) 08:32:40.01ID:CDX6E7Ry なあ、全員が今時のリッチなCPUを使う訳じゃないことくらいは知っとこうや
幾らゆとりのアホでも
幾らゆとりのアホでも
325デフォルトの名無しさん
2015/12/26(土) 12:19:14.32ID:NrOPRYuI CPUを明示して相談しなよ
知らんだけで乱数用のエントロピー生成命令持ってるかもしれんし
IntelならOSがサポートしてなくてもIntel DNRG使えばいい
知らんだけで乱数用のエントロピー生成命令持ってるかもしれんし
IntelならOSがサポートしてなくてもIntel DNRG使えばいい
326デフォルトの名無しさん
2015/12/26(土) 13:31:50.28ID:4htfJ0fo 俺の頭の中のcpu(10MHz)が・・・
327デフォルトの名無しさん
2015/12/26(土) 13:55:58.15ID:oIXuKyHb リアルタイムで動画処理、画像認識、空間認識、音声認識その他諸々を全部やってのけるのって地味に凄いよな
時間あたりの消費エネルギーも、要求エネルギーが2000kcal〜4000kcal/dayとしてもおよそ100W〜200Wで非常に効率が良いし
時間あたりの消費エネルギーも、要求エネルギーが2000kcal〜4000kcal/dayとしてもおよそ100W〜200Wで非常に効率が良いし
328デフォルトの名無しさん
2015/12/26(土) 20:17:52.51ID:nC5MMPRS CPUで何でも出来るようになってしまったら、
マの出番はどんどん減ることになりそうだな。
大昔は、足し算と引き算は出来るのに、掛け算と割り算が出来ないのが
当たり前だったからな。30年くらい前のものだとな。
マの出番はどんどん減ることになりそうだな。
大昔は、足し算と引き算は出来るのに、掛け算と割り算が出来ないのが
当たり前だったからな。30年くらい前のものだとな。
329デフォルトの名無しさん
2015/12/28(月) 10:04:16.17ID:VJBFmUt0 ランダムデバイスに頼るのが良いのか、迷ってしまいそうだな。
こういうのを読んでしまうと...。
ttp://cpplover.blogspot.jp/2013/07/blog-post_14.html
ハードウェア乱数生成器は信頼できるか
こういうのを読んでしまうと...。
ttp://cpplover.blogspot.jp/2013/07/blog-post_14.html
ハードウェア乱数生成器は信頼できるか
330デフォルトの名無しさん
2015/12/28(月) 10:25:27.73ID:1a7EtF6d NSAと戦ってる人か
331デフォルトの名無しさん
2015/12/28(月) 12:54:32.70ID:dgI6+oKo >>329
よくわからんけど生成された値を適当な鍵使って AES 暗号化するんじゃ駄目なの?
よくわからんけど生成された値を適当な鍵使って AES 暗号化するんじゃ駄目なの?
332デフォルトの名無しさん
2015/12/28(月) 12:58:36.44ID:b3qQlUF/ OSを作る時の話になってるから適当な鍵をどこから持ってくるか熟慮しないといけない
333デフォルトの名無しさん
2015/12/31(木) 19:14:36.65ID:shZW63x7 一度に数十個の乱数を生成するコードを書き、重複チェックを忘れる俺は、
やはりマには向いていないのかもしれん。コード記述の時点で
重複することが頭から抜けていた。ついうっかり...。
やはりマには向いていないのかもしれん。コード記述の時点で
重複することが頭から抜けていた。ついうっかり...。
334デフォルトの名無しさん
2016/01/01(金) 03:47:17.29ID:xJBQ4MUG >>329
自分の方が質が高いのを用意できるわけw
自分の方が質が高いのを用意できるわけw
335デフォルトの名無しさん
2016/01/05(火) 10:14:26.10ID:n8GHd5T0 「ハードよりも、俺の方が正確に動く」と、
一度で良いから言ってみたい。
一度で良いから言ってみたい。
336デフォルトの名無しさん
2016/01/06(水) 02:04:42.23ID:DSMnLqrW 楽するためにプログラミングするのであるが
一向に楽にならず
一向に楽にならず
337デフォルトの名無しさん
2016/01/07(木) 17:58:56.46ID:3JUqZlZh338デフォルトの名無しさん
2016/01/07(木) 18:29:10.67ID:E6rodr+5 70点じゃなくて55点で妥協すれば
費用が100分の1になるって教えてやれよ
費用が100分の1になるって教えてやれよ
339デフォルトの名無しさん
2016/01/10(日) 10:05:01.35ID:KKgUy8RE >>338
それは、「バグ入りソフトを出荷する可能性も高くなる」諸刃の剣では?
それは、「バグ入りソフトを出荷する可能性も高くなる」諸刃の剣では?
340デフォルトの名無しさん
2016/01/10(日) 12:22:10.90ID:a81L0ZQ5 妥協するのは仕様でしょ
仕様で無理難題いうの辞めたら
コストも下がるし品質も上がるみたいな
けどスレ違いの話じゃね?
仕様で無理難題いうの辞めたら
コストも下がるし品質も上がるみたいな
けどスレ違いの話じゃね?
341デフォルトの名無しさん
2016/01/11(月) 20:54:13.20ID:J50s7Qe5 「妥協しないワガママな顧客」に、
「見積もりを二桁足して出したら、予想通り、注文が来なかった」
と言っていたな。最初から断る口実だったのかな。
「見積もりを二桁足して出したら、予想通り、注文が来なかった」
と言っていたな。最初から断る口実だったのかな。
342デフォルトの名無しさん
2016/01/12(火) 19:46:25.75ID:7kdSKUGZ >>338
66.66 点くらいで負かりませんか?
66.66 点くらいで負かりませんか?
343デフォルトの名無しさん
2016/01/13(水) 17:31:32.57ID:DkyDX7cg >>342
それだと、100万円の費用を85万円に値引くのが限界では?
それだと、100万円の費用を85万円に値引くのが限界では?
344片山博文MZ ◆T6xkBnTXz7B0
2016/01/15(金) 20:05:16.26ID:ds1B8EUq C言語の呼び出し規約に関する文法に
詳しいサイトとかソースとかありますか?
詳しいサイトとかソースとかありますか?
345デフォルトの名無しさん
2016/01/15(金) 22:22:03.06ID:EuNWEiBo そこで言う呼び出し規約ってのは引数がスタックでどう配置されるかって話?
346デフォルトの名無しさん
2016/01/15(金) 22:31:09.13ID:+0giQcLD 呼び出し規約に関する文法って何ぞ?
347デフォルトの名無しさん
2016/01/15(金) 22:55:08.00ID:y9x+XKWj C言語のABIは色々あるぞ
基本はcdeclかstdcallだけど
スタック使わずレジスタでやりとりしたり
環境や処理系毎に異なる
基本はcdeclかstdcallだけど
スタック使わずレジスタでやりとりしたり
環境や処理系毎に異なる
348デフォルトの名無しさん
2016/01/16(土) 00:11:40.49ID:4AnwHYnZ 呼び出し規約自体は文法に現れんと思うが
349デフォルトの名無しさん
2016/01/16(土) 01:23:45.39ID:7+H4Uotl 上のcdeclとかstdcall辺りが関数の属性値として付くぐらいじゃないかと
文法的にはこれらは両立しないから複数書いたらエラーとかその程度でしょ
文法的にはこれらは両立しないから複数書いたらエラーとかその程度でしょ
350デフォルトの名無しさん
2016/01/16(土) 01:24:46.12ID:7+H4Uotl それとgccの__attribute__())構文なんてのもある
括弧の中はもう何でもあり
括弧の中はもう何でもあり
351片山博文MZ ◆T6xkBnTXz7B0
2016/01/16(土) 12:33:39.48ID:lRbtk3RI 属性について調べればいいのか
ありがとさん
ありがとさん
352デフォルトの名無しさん
2016/01/16(土) 12:54:05.36ID:H0Ul8NcN353デフォルトの名無しさん
2016/01/17(日) 14:03:21.22ID:WTe5Q/ML サポートされる種類は環境依存だし
構文は実装依存だから
規格では書いてない
とりあえず wikipedia 見れば
構文は実装依存だから
規格では書いてない
とりあえず wikipedia 見れば
354デフォルトの名無しさん
2016/01/18(月) 06:53:14.27ID:TV7ry5Rb >>353
環境依存と実装依存ってどう使い分けてるんだ?
環境依存と実装依存ってどう使い分けてるんだ?
355デフォルトの名無しさん
2016/01/18(月) 08:53:28.44ID:XM4mBu50356デフォルトの名無しさん
2016/01/19(火) 11:13:57.61ID:79hXpIDE 新しいコンパイラを作る際、わざわざ「手動でスタックを積み上げたり
開放したりする」命令は、あった方が良いのかな?
メモリ節約や速度に直接、関係するなら言語仕様を作る段階で
考えるけどね。今のパソコンはスピードが速いから、不要といえば不要かも
しれないが。
開放したりする」命令は、あった方が良いのかな?
メモリ節約や速度に直接、関係するなら言語仕様を作る段階で
考えるけどね。今のパソコンはスピードが速いから、不要といえば不要かも
しれないが。
357デフォルトの名無しさん
2016/01/19(火) 12:41:03.92ID:uAThxx94 そのレベルならインラインアセンブラみたいな
抜け道を作るかどうかって話になるんじゃないの
抜け道を作るかどうかって話になるんじゃないの
358デフォルトの名無しさん
2016/01/19(火) 21:16:12.58ID:j62B2E0v359デフォルトの名無しさん
2016/01/19(火) 23:54:06.44ID:Xdnj5x+8 確保開放やらはSPレジスタをいじるでいいんじゃないかな・・・
SP変更時に無効なSP値だったらエラーにするとかその程度で
コンパイラもよほど変な事しない限りpush/pop命令なんて使わんし
SP変更時に無効なSP値だったらエラーにするとかその程度で
コンパイラもよほど変な事しない限りpush/pop命令なんて使わんし
360デフォルトの名無しさん
2016/01/20(水) 12:29:31.81ID:zFAeGKrq >>356
言語自体の仕様にも依るんじゃないかな。
あと用途とか。
モノリシックカーネルのドライバ書くのに使いますーCとアセンブリの良いとこ取りですーってんなら
手動でスタック積んだり降ろしたりする命令も使うだろうけど
いまいち用途がピンと来ない。
仮にllvm-irの使用を前提にするなら、ネイティブのスタック積んだり下ろしたりするのって意味あんの?っていう議論もありか?
言語仕様を練ってて
シンプルな構文にシンプルな継続(のようなもの)を追加したら
全体的に美しさに欠ける感じになって悩んでる。
言語自体の仕様にも依るんじゃないかな。
あと用途とか。
モノリシックカーネルのドライバ書くのに使いますーCとアセンブリの良いとこ取りですーってんなら
手動でスタック積んだり降ろしたりする命令も使うだろうけど
いまいち用途がピンと来ない。
仮にllvm-irの使用を前提にするなら、ネイティブのスタック積んだり下ろしたりするのって意味あんの?っていう議論もありか?
言語仕様を練ってて
シンプルな構文にシンプルな継続(のようなもの)を追加したら
全体的に美しさに欠ける感じになって悩んでる。
361デフォルトの名無しさん
2016/01/22(金) 12:29:02.92ID:97wZpIfH 高級言語の側で、わざわざ、pushやpop命令を言語仕様に入れる必要は
なかったか。メリットも予想ほどないみたいだな。
実行上で、スピードアップになるかと思っていたが。
なかったか。メリットも予想ほどないみたいだな。
実行上で、スピードアップになるかと思っていたが。
362デフォルトの名無しさん
2016/01/22(金) 12:55:06.86ID:8nADuqf6 メモリやキャッシュはレジスタよりずっと遅いからなぁ。
レジスタへのアクセスに対してL1キャッシュのアクセスには2〜3倍の時間が掛かるって言われてる。
つまり、レジスタ間mov命令に対してpush/popは1命令あたり2〜3倍遅いって事だ。
C言語のregister修飾子は知ってる?変数がレジスタに乗っかるようにする為の物なんだけど。
グラフ彩色で変数生存期間に対するレジスタの使用を最適化出来る事が知られる以前の産物だから、今は滅多に使われないけどね。
レジスタへのアクセスに対してL1キャッシュのアクセスには2〜3倍の時間が掛かるって言われてる。
つまり、レジスタ間mov命令に対してpush/popは1命令あたり2〜3倍遅いって事だ。
C言語のregister修飾子は知ってる?変数がレジスタに乗っかるようにする為の物なんだけど。
グラフ彩色で変数生存期間に対するレジスタの使用を最適化出来る事が知られる以前の産物だから、今は滅多に使われないけどね。
363片山博文MZ ◆T6xkBnTXz7B0
2016/01/22(金) 13:18:42.18ID:0V0RVdAH バイト列xからバイト列C(x)への変換器Cがあるとき、
Cの逆変換器C^(-1)を求める一般的な方法は何か?
Cの逆変換器C^(-1)を求める一般的な方法は何か?
364デフォルトの名無しさん
2016/01/22(金) 20:49:57.23ID:TW3FacBd >>363
逆アセンブラです。
逆アセンブラです。
365デフォルトの名無しさん
2016/01/22(金) 21:58:03.16ID:bvwDmPF2 変換器Cの変換の性質がbijectiveであるという条件をつけなければいけないのではないか。
366デフォルトの名無しさん
2016/01/22(金) 22:13:13.93ID:9qqofano この方法が分かれば、どんな暗号文も解読できるね!
367片山博文MZ ◆T6xkBnTXz7B0
2016/01/22(金) 22:54:36.97ID:0V0RVdAH 数学板でじっくり考えることにしたよ。
有限数列上の変換について [無断転載禁止]・2ch.net
http://wc2014.2ch.net/test/read.cgi/math/1453437840/
有限数列上の変換について [無断転載禁止]・2ch.net
http://wc2014.2ch.net/test/read.cgi/math/1453437840/
368デフォルトの名無しさん
2016/01/23(土) 09:04:11.89ID:VPAh/uPo 変換器が可逆計算できるとは限らないから一般的な方法は無いだろ。
369デフォルトの名無しさん
2016/01/23(土) 15:07:58.00ID:0d2orZXz メモ化とテーブルルックアップw
370デフォルトの名無しさん
2016/01/31(日) 19:36:30.55ID:T/RwY0g5 多少勉強すると、いまさらながら、Cがアセンブラにかなり近いレベルの
言語であることが、良くわかるな。
その分、マスターするのに時間もかかったが。
言語であることが、良くわかるな。
その分、マスターするのに時間もかかったが。
371デフォルトの名無しさん
2016/01/31(日) 19:52:06.23ID:Vno/qq2m C言語をマスターしたって奴は絶対に信用しないことにしている
372デフォルトの名無しさん
2016/01/31(日) 20:53:44.66ID:7LoAMsY1 入門書一冊読みました=マスターしました
373デフォルトの名無しさん
2016/01/31(日) 21:17:31.75ID:QH+McMgz これが本当のマスターベーション
374デフォルトの名無しさん
2016/02/01(月) 16:11:44.37ID:aq9Mx2ga そんなあなたにスタンディングマスターオベーション
375デフォルトの名無しさん
2016/02/02(火) 10:57:23.41ID:9eq1u0GM >>371
「C言語をマスターしました」
という奴の化けの皮をはがすのは、意外に簡単だからな。
簡単な計算機プログラムを書かせるか、あるいは、ピタゴラスの定理の
コードでも書かせるか。もっとも、そこで化けの皮がはがれるようなら、
とてもコンパイラの領域まで、進むことは出来ないだろうな。
「C言語をマスターしました」
という奴の化けの皮をはがすのは、意外に簡単だからな。
簡単な計算機プログラムを書かせるか、あるいは、ピタゴラスの定理の
コードでも書かせるか。もっとも、そこで化けの皮がはがれるようなら、
とてもコンパイラの領域まで、進むことは出来ないだろうな。
376デフォルトの名無しさん
2016/02/02(火) 11:36:11.92ID:7f7wf/mW コンパイラを書ける最低レベルに達しているかどうかの判定がしたければ
「入力された多項式を微分する関数書くならどう書く?」ってくらいは聞きたいけど。
C言語云々じゃなくてデータ構造とアルゴリズムの問題だけど、
Cでやるならポインタと再帰とラムダ算法について知ってなきゃ答えられない。
「入力された多項式を微分する関数書くならどう書く?」ってくらいは聞きたいけど。
C言語云々じゃなくてデータ構造とアルゴリズムの問題だけど、
Cでやるならポインタと再帰とラムダ算法について知ってなきゃ答えられない。
377デフォルトの名無しさん
2016/02/02(火) 20:19:50.93ID:WkrnCzmR378デフォルトの名無しさん
2016/02/02(火) 22:20:22.51ID:7f7wf/mW379デフォルトの名無しさん
2016/02/03(水) 11:44:18.92ID:tCheJck0 面接時「Cを三年ほど仕事で使っていました」
↓
採用後「誰だ。あいつを採用したのは!」
「最低、Cを仕事で三年間使っていること」
を条件に採用した会社で、こんなこともないわけではないからな。
本人の申告ほどあてにならないものはない。コンパイラ作成に到達する
など、夢のまた夢。
↓
採用後「誰だ。あいつを採用したのは!」
「最低、Cを仕事で三年間使っていること」
を条件に採用した会社で、こんなこともないわけではないからな。
本人の申告ほどあてにならないものはない。コンパイラ作成に到達する
など、夢のまた夢。
380デフォルトの名無しさん
2016/02/03(水) 11:59:22.08ID:uEOUJl1K 他人の突っ込んだバグを直せるのが中級者
自分の突っ込んだバグを直せるのが上級者
それ以外は何の参考にもならない
自分の突っ込んだバグを直せるのが上級者
それ以外は何の参考にもならない
381デフォルトの名無しさん
2016/02/03(水) 12:36:45.52ID:Gb259GwX それ以外っつーとどんなバグも直せない奴か
そりゃ確かに考慮に値しないな
そりゃ確かに考慮に値しないな
382デフォルトの名無しさん
2016/02/03(水) 13:57:01.05ID:WaqhOfMD まあもともとCはコンパイラを書くには向いてないからな
GADTとかある関数型言語で書くのが一番楽
あとコンパイラが糞になるのは大抵対象言語の糞文法と糞デザインのせい
GADTとかある関数型言語で書くのが一番楽
あとコンパイラが糞になるのは大抵対象言語の糞文法と糞デザインのせい
383デフォルトの名無しさん
2016/02/03(水) 13:57:40.61ID:WaqhOfMD Rubyがなぜあんな巨大な糞なのかというと(お察しください
384デフォルトの名無しさん
2016/02/03(水) 14:06:49.98ID:uEOUJl1K 実用性を求められそれに応えるごとに汚れていくのさ
ピュアでいられるのはお子様だからさ
ピュアでいられるのはお子様だからさ
385デフォルトの名無しさん
2016/02/03(水) 14:17:35.65ID:WaqhOfMD 残念だがルビーの文法とデザインが腐ってるのは初期からだw
386デフォルトの名無しさん
2016/02/04(木) 01:55:33.07ID:VXt+BkjY ∩___∩ ∩___∩
♪ | ノ ⌒ ⌒ヽハッ __ _,, -ー ,, ハッ / ⌒ ⌒ 丶|
/ (●) (●) ハッ (/ "つ`..,: ハッ (●) (●) 丶 今、どんな気持ち?
| ( _●_) ミ :/ MZうy ::::::i:. ミ (_●_ ) | ねぇ、どんな気持ち?
___ 彡 |∪| ミ :i ─::!,, ミ、 |∪| 、彡____
ヽ___ ヽノ、`\ ヽ.....::::::::: ::::ij(_::● / ヽノ ___/
/ /ヽ < r " .r ミノ~. 〉 /\ 丶
/ /  ̄ :|::| ::::| :::i ゚。  ̄♪ \ 丶
/ / ♪ :|::| ::::| :::|: \ 丶
(_ ⌒丶... :` | ::::| :::|_: /⌒_)
| /ヽ }. :.,' ::( :::} } ヘ /
し )). ::i `.-‐" J´((
ソ トントン Darkなんちゃら… ソ トントン
♪ | ノ ⌒ ⌒ヽハッ __ _,, -ー ,, ハッ / ⌒ ⌒ 丶|
/ (●) (●) ハッ (/ "つ`..,: ハッ (●) (●) 丶 今、どんな気持ち?
| ( _●_) ミ :/ MZうy ::::::i:. ミ (_●_ ) | ねぇ、どんな気持ち?
___ 彡 |∪| ミ :i ─::!,, ミ、 |∪| 、彡____
ヽ___ ヽノ、`\ ヽ.....::::::::: ::::ij(_::● / ヽノ ___/
/ /ヽ < r " .r ミノ~. 〉 /\ 丶
/ /  ̄ :|::| ::::| :::i ゚。  ̄♪ \ 丶
/ / ♪ :|::| ::::| :::|: \ 丶
(_ ⌒丶... :` | ::::| :::|_: /⌒_)
| /ヽ }. :.,' ::( :::} } ヘ /
し )). ::i `.-‐" J´((
ソ トントン Darkなんちゃら… ソ トントン
387デフォルトの名無しさん
2016/02/04(木) 13:25:41.80ID:+rC6IKS8 優れた文法を手本とするには、どの言語が良いんだ?
どれもこれも長所と短所があるし。
どれもこれも長所と短所があるし。
388デフォルトの名無しさん
2016/02/04(木) 15:53:27.61ID:69F/iNHk 優れた文法とは。
レスを投稿する
