1 名前:デフォルトの名無しさん mailto:sage [2014/07/20(日) 11:16:19.37 ID:p6eMVAxc.net] プログラミング言語処理系の開発に興味のある人達のスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 意味論に関する話題も歓迎です。 Wikiのまとめページ www6.atwiki.jp/compilerandscriptengine/
554 名前:デフォルトの名無しさん [2016/04/29(金) 23:41:20.66 ID:o23yQzXI.net] >>532 >バイトコードならアセンブル(バイナリ化)しておかないか普通 たしかに普通は読み込み速度的にバイナリデータが望ましいのだけど、 手さぐりで試作するからメモ帳で読み書きできるテキスト形式でやってみるんだ
555 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 01:17:44.44 ID:oV2mml7H.net] lispインタプリタって一番簡単な実装(pure lisp?)だと何行くらいで実装できる?
556 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 07:15:19.54 ID:wSqWni75.net] >>539 基本関数だけならものすごい小さいよ Lispが生まれた時代のマシンのメモリ量なんてアドレスのビット数が16以下だし。
557 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 10:02:54.88 ID:oKKjAnDv.net] >>539 何で実装するかにも依る swiftやrubyだと100行オーダーで書けるらしい xavier.hateblo.jp/entry/2014/08/19/003609 C実装だと2000行くらいみたい https://github.com/kototama/kml
558 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 16:03:06.15 ID:ASEjigO2.net] 行というかWin32で20KByteコアのそこそこ速いScheme処理系はCで作ったな 何行だったかは忘れたが数千行にはなる ライブラリやフレームワークにどこまで対応するかだと毎回思う
559 名前:デフォルトの名無しさん [2016/04/30(土) 17:51:48.40 ID:iJVuG7iJ.net] 自作コンパイラでソフト作ろうとすると、やたらコアを吐くことに...。
560 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 19:28:20.97 ID:wSqWni75.net] >>543 selfビルド可能になれば普通じゃ無いの?>>core吐かせてバイナリ生成
561 名前:デフォルトの名無しさん [2016/05/01(日) 13:17:14.33 ID:tKi6j9CT.net] 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません 8
562 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 17:25:31.50 ID:EieRhQfe.net] スレ違いだから他所でやって
563 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 21:43:24.13 ID:EieRhQfe.net] バイトコードのはずだったのに気づいたら 関数オブジェクトのツリーを作ってた なにやってんだ俺・・・
564 名前:デフォルトの名無しさん [2016/05/03(火) 02:36:10.72 ID:sSslXsw5.net] 自作ソフトの暴走はたまにあるが、自作コンパイラの暴走はヤバイよな。 それで別のソフトを作成した日には、最悪の結果が待つことに...。
565 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 02:55:51.64 ID:ug5Kip
] [ここ壊れてます]
566 名前:fy.net mailto: function(機能)はrole(役割)にしよう flowとかprocと悩んだがroleが一番良いと思う [] [ここ壊れてます]
567 名前:デフォルトの名無しさん [2016/05/04(水) 03:53:55.73 ID:INW31x/s.net] 昔のC言語みたいに、floatとdoubleに分けるメリットは、 今の時代にはないよな?
568 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 03:59:22.27 ID:NIqCX6OH.net] むしろ half の出番さえ出てきてる時代。
569 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 10:09:50.25 ID:wjUC1pj0.net] 役割っていうのは受動的な考え方であり縦割り行政的でありfunctionの適切な代替表現ではない roleは与えられた仕事をただこなすだけというイメージ このとき、与えられる対象、つまりデータやオブジェクトがあり 担当個所をroleするという感じ role ≒ class であり、role ≠ function 何にも縛られず自由なfunctionとroleでは思想が違う functionは立場や部署間を飛び越えて連携して機能するイメージ 胸熱であり、自分の仕事をこなすだけのroleなどと一緒にされては困る function( a, b, c, d ); a.role( b, c, d );
570 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 10:16:54.82 ID:wjUC1pj0.net] 例えば、日本は縦割り行政的であり、役人的であると言われ(role) 一方で、アメリカは横のつながりが強く、機能的だと言われる(function) このように、機能と役割は対立する概念として扱われている言葉であり、思想が違う 日本の映画やドラマなんかでよく 「それは自分の仕事じゃないのでやりません」とか 逆に「自分たちの管轄だから余所者は入ってくるな」とか 役割的発想は悪いことのように扱われるのが常 逆に主人公たちは部署間を飛び越えて機能的に行動すると決まっている
571 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 12:07:39.94 ID:p+LvbHBp.net] もうちょっとプログラマ的喩えにしようぜ。 procedure=大域環境に対して参照と破壊をするもの function=環境を参照せず、戻り値は引数にのみ依存するもの closure=固有の環境を持ち、その環境に対して参照と破壊をするもの どれも意味が違う。 functionとroleはクラスとインスタンスくらい意味が違うと思う。
572 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 23:28:44.89 ID:wjUC1pj0.net] 歯車でいえば 複数の歯車が上手く連携して動いている様を機能していると言うし 個々の歯車に着目してそれぞれが自分の仕事をしている様を役割をこなしているという 手続き的に時系列に沿って考えると 個々が役割を果たした結果、全体として機能がもたらされて、また別の大きな役割を担う・・・という風に 卵が先か鶏が先か、みたいなところがあって、双方の視点はどちらも重要で 同時に扱ていかなければならないわけだけど 区別して扱われる別の視点であり、function = roleとしてしまうのは単純にセンスないというか早合点 functionとroleの考え方の微妙な違いは非常に重要で 最初の出発点が違うことで資本主義と社会主義など、時としては戦争が起こる場合もある (つまりは、資本主義と社会主義は鶏が先か卵が先か、functionが先かroleがという思想の違い functionはまさに空気のようなもので、人と人をつないで機能させるお金を重視している roleはまさに人そのもの、その役割に主体を置いている) functionをroleと言ってしまうのは教養がないと言われても仕方がない 自分の思考が今何に着目していて何を考えているか把握しておかないと大変なことになる 頭がよくなりたければ囲碁が良い 囲碁は碁石そのものにも着目しなければならないし、碁石と碁石の境界にも着目しなければならない それぞれで見え方が全く変わってくるし、同時に考えなければならない 頭の体操に良い 「物」と「事」は別のものだけど、「物事」という言葉があるように同時に考えなければならないこともしばしば
573 名前:デフォルトの名無しさん mailto:sage [2016/05/04(水) 23:40:58.82 ID:ug5Kipfy.net] 関数ってそんなに抽象的な意味を持ってたのか インプット&アウトプット、リクエスト&レスポンスの手続きくらいに見てたよ
574 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 00:33:21.20 ID:dh4q1EnN.net] 関数は二者以上の関係を表しており、二者以上の関係性が何か機能をもたらす というより、逆算して、機能をもたらせるように、二者以上の関係性を作るのがエンジニアの仕事 だから関数もfunctionだし、機能もfunctionという 電子部品だって、回路を組んで組み合わせなければ機能しない 「関」という字が示すように、関係性は何事においても常に重要で 数学や物理はすべて関係性を数式で表すことで成り立っている 「1」という数字が何か意味を持っているというよりは、「1」と他の数字との関係性が「1」自身の立場や性質を決めている 関係性は非常に高等で、目に見えないものであるが故、尊いものとされている というのも物事の関係性を紐解いたり、逆に利用できたり、機能的に考えることができる人は 当然、役割的思考も出来るものとされているから 役割的発想は馬鹿にでもできる アメリカが赤のことを悪とするのもこのためで、そいうった悪の思想から自分たちを守るために 右翼の人たちは「保守」と呼ばれる 赤の思想のほうが理解しやすく馬鹿でも少年でもわかり 簡単で広まりやすいので、自分たちの尊い考え方や社会を 守らなければ、占領されてしまうという恐怖感からある種過剰な防衛をしている 年を取れば自然と物事の関係性の重要さに気付くものだから基本保守になる そういったことを一通り分かったうえであえて福祉にも力を入れるというのが今の先進国のあり方 順番を誤ってはいけない 会社でいえば自分の役割しかしない人は指示待ち人間といわれ歓迎されない 一方で機能的に考える人は他者とのコミュニケーションを図り、関係を大事にし、目的を達成する努力をする 両方の考え方ができる人は機能的発想に加えて他者への配慮もするし、リーダー的 何事も一つの思想だけでどうにかしようとしないほうが良い 例えば「1」をオブジェクトとしてとらえるという、某言語のような考え方は全くする必要ない 数学の「1」にそのような意味はないし、全てをオブジェクトとして再認識して再構築する必要はなく マルチパラダイム言語で良い 1+2は単に1と2を足すという解釈でよく、1に+2というメッセージをどうのこうのという意味不明な再解釈はいらない 考え方を統一しようとする必要はなく、そういった偏った思想をしても良いことはない
575 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 01:08:08.43 ID:dh4q1EnN.net] アメリカは自由自由いつも言ってるが、いったい何に対しての自由なのか、 どこを目指しているのかというと 自分が生まれながら背負ったroleから自由である、ということ この辺、人種差別の問題とか貧困の問題とかが出てくる 一方で、社会に対する自分の機能性のようなものは常に非常に重視される 要らなくなったらすぐに首を切られるし、厳しい とにかく機能機能機能機能、個人に対して厳しい、機能性のない人はいりません しかし、生まれ持ったroleからの自由はサポートしましょう その意味で、移民は受け入れる、ただし機能性のある人だけ
576 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 01:19:48.20 ID:AqKMDGmp.net] この長文君きもちわるい…
577 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 01:42:26.59 ID:3/paarxc.net] >>554 ぼくの作ってるものは偽C言語でグローバル変数もあるから 定義的にはプロシージャが適切なんだろうな それでロールについてはもう少し考えてみるつもりだけど、 malloc()そのものがfunctionとして、malloc()を何につかうのかがroleなのかな けれど関数の多くはライブラリとかAPIではなく単なるサブルーチンのような気がして サブルーチンはロールだとも思うのよね
578 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 02:12:56.28 ID:Jo4WiHb1.net] 単に役割って意味なら、変数にだってそれぞれの役割があるよね。
579 名前:デフォルトの名無しさん mailto:sage [2016/05/05(木) 05:12:54.36 ID:qzGbsflZ.net] 相手するなよ...
580 名前:デフォルトの名無しさん [2016/05/06(金) 09:34:30.45 ID:pdJO182a.net] 最適化をサポートする機能を付けるのも、面倒だよね。 昔のVC++の売り文句が、「極限までの最適化」などとうたっていたが、 ビルドの時間も長すぎ、他の作業が中断...というオチ付きだったし。
581 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 09:52:38.91 ID:WbxBcPoP.net] 神聖なるビルド専用マシンを他の作業に使うのがおかしい 現在だって動画のレンダリングする連中はそんな感じだろう
582 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 19:11:06.89 ID:5HLOeR1MW] どこの解説サイト見ても構文木の枝は最大二本にしか分かれないだけど、 二本以上の枝で根や葉を管理しても問題ないよね? こんな感じのデータ構造にしたいんだけど。 class ForStmtNode : Node { Node init, cond, inc, body; } こうしちゃいけない理由でもあるのかな。
583 名前:デフォルトの名無しさん [2016/05/07(土) 02:02:54.76 ID:lPvt8ROe.net] ウチの勤め先には、ビルド専用マシンはなかったな。うらやましい。
584 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 12:49:01.06 ID:TEQEM2qu.net] GoogleにはGOMAって名前のビルド専用クラスタ(2〜300台くらい繋げた奴)があるってよ
585 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 14:21:44.92 ID:0EiVc3To.net] そして各チームは一台でも多くのマシンリソースを確保するため 他チームの保有区域への侵略に明け暮れているという
586 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 18:52:54.52 ID:IlJOE3r59] >>565 無いよー でも、なんか勘違いしてる気がする
587 名前:デフォルトの名無しさん mailto:sage [2016/05/07(土) 22:38:35.98 ID:hfPhBXdU5] >>569 本当だ、これだと抽象構文木だね。 class ForStmtNode : Node { List<Node> children; } とりあえずこれでいいってことだね。
588 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 10:02:36.39 ID:jHRrSElx.net] >>567 クラウドサービス提供するぐらいだからマシンあまってんだろうなぁ
589 名前:デフォルトの名無しさん [2016/05/08(日) 13:05:39.75 ID:EAH4Xwpx.net] 俺の予想では、Googleやマイクロソフトに太刀打ちできるIT企業って、 日本国内にはないような気がする。 社員か誰かが遊び半分みたいな感じで作り上げた「Googleパックマン」 には、参ってしまったからな。あれは凄かった。
590 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 13:17:39.53 ID:EkxZMrhh.net] >>572 日本どころか全世界でみてもAppleくらいしかいねぇよ
591 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 13:26:01.54 ID:cY3IZjLs.net] DeNA/GREE ほほう dwango なかなか CookPad おもしろそうな DMM 話じゃないか
592 名前:デフォルトの名無しさん [2016/05/08(日) 13:27:27.42 ID:cY3IZjLs.net] >>573 Amazon「…」
593 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 21:29:02.01 ID:mw6lNm2M.net] 囲碁のSmart Go Formatというのをパースしたいのですが 読みやすいサンプルプログラムないですか。
594 名前:デフォルトの名無しさん mailto:sage [2016/05/08(日) 22:54:46.20 ID:EkxZMrhh.net] senseis.xmp.net/?SGFFile
595 名前:デフォルトの名無しさん mailto:sage [2016/05/09(月) 00:01:18.08 ID:VGqIwUSF4] 字句解析→構文木→抽象構文木 の順で解析することが多いと思うんだけど 字句解析→抽象構文木 の順でLexerからトークン読みながら一気にATS作るのってどうなのかな。 処理スピードやメモリ効率はかなり良くなる気がするんだけど。
596 名前:572 mailto:sage [2016/05/09(月) 19:17:09.28 ID:QYIZFGji.net] ありがとうございます。 読んでみます。
597 名前:572 mailto:sage [2016/05/09(月) 20:40:18.09 ID:QYIZFGji.net] RubyGemあんのか。 うまくいけば自分で書かなくてもイケるかも。
598 名前:デフォルトの名無しさん [2016/05/10(火) 13:55:45.68 ID:aTks4HJk.net] うちみたいに規模が小さいと、データセンターも活用するしか 手がないね。自前のデータセンターなど、夢のまた夢だ。
599 名前:デフォルトの名無しさん [2016/05/13(金) 11:38:51.94 ID:6Wa+P3Ox.net] ビルド専用マシンがあるなら、テスト専用マシンもないとおかしいよね。 共にあるのがソフトハウスの標準なの? うちでは、とてもそこまでの予算をつけてもらえないのだが。
600 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 01:19:35.08 ID:spK37znF.net] 投資に見合うリターンがあれば普通は投資するだろう。
601 名前:デフォルトの名無しさん [2016/05/14(土) 02:25:57.07 ID:guvuQQ9l.net] ビルド兼テストマシンなら普通にある
602 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 03:51:37.38 ID:9OGuGONK.net] >>582 できたてほやほやの会社で開発が二人しか無い我が社なんかなんもないぞw awsをスポットで借りると割と安いビルド環境作れるからそういうの使ってるけど。
603 名前:デフォルトの名無しさん [2016/05/14(土) 10:30:08.43 ID:zu3iiide.net] >>585 それじゃあ、資本金10万円の株式会社と、何ら変わらんだろww
604 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 21:33:12.49 ID:GqFlaCrO.net] 客先常駐の偽装派遣か?
605 名前:デフォルトの名無しさん [2016/05/16(月) 00:37:06.74 ID:HJQsGNoE.net] DOS全盛の時代の時は、「遊び半分で、コンパクトなコンパイラでも 作ってみようかな」 という気も起きたが、これだけ複雑怪奇なWindows全盛時代となっては、 もう手軽に手を出せるレベルじゃないよね。
606 名前:デフォルトの名無しさん mailto:sage [2016/05/16(月) 09:26:54.72 ID:HysSRgR+.net] 今ならWASMターゲットでどうよ
607 名前:デフォルトの名無しさん mailto:sage [2016/05/16(月) 20:25:52.51 ID:1m5lkdv7T] >>578 なんかアレだが、 パーサの出力を抽象構文木にすることは大変ではない。 勿論、具象構文木で出すこともできるが 逆に手間がかかるので理由がない限りしない。
608 名前:デフォルトの名無しさん mailto:sage [2016/05/16(月) 22:26:29.32 ID:kgWFY/O22] 通常の構文木も作っておかないと、デバッカに対応する時やエラーメッセージを出す時に困るかも。
609 名前:デフォルトの名無しさん [2016/05/17(火) 02:22:11.57 ID:1Hk6wPoo.net] 遊びでコンパイラを作るなら、linux用なら、作れば誰か使って くれるかも...。
610 名前:デフォルトの名無しさん mailto:sage [2016/05/17(火) 06:47:28.73 ID:uw1YLM9D.net] >>588 別にコンパクトなコンパイラのハードルは上がってないと思うが 無償でほぼフルセットの開発環境が入手できる今では意味が薄れた って言うのならわかるけど
611 名前:デフォルトの名無しさん mailto:sage [2016/05/17(火) 12:49:07.23 ID:PnBEFQO4.net] CとかJavaから呼び出す組み込みスクリプトなら需要ありそう javascriptトランスレータはHaxeがよくできてるけど作ってみたい
612 名前:デフォルトの名無しさん mailto:sage [2016/05/18(水) 21:25:50.30 ID:EzbR6hZga] 構文エラーならパースの時点で解決しないといけないし、 それ以降は、構文木の各ノードにソースコード上の位置情報をいれておけば結構ok パーサ自体のデバッグには有用
613 名前:デフォルトの名無しさん mailto:sage [2016/05/20(金) 02:16:34.68 ID:t8k86oX2.net] >>356 Forth, Postscript「必要です」
614 名前:デフォルトの名無しさん [2016/05/20(金) 23:34:10.65 ID:tlYSnHy5.net] 言語仕様作成と、コンパイラ本体は自分で作り、
615 名前:fバッガだけ外注して作ってもらうというズルはありえる? 高性能なツールにするには、かなり手間がかかると思うのだが。 [] [ここ壊れてます]
616 名前:デフォルトの名無しさん mailto:sage [2016/05/21(土) 00:37:18.20 ID:jbF82omc.net] デバッガってevalさえあれば簡単なものはできそうだが 高機能てなると難しいのかな
617 名前:デフォルトの名無しさん mailto:sage [2016/05/21(土) 10:16:04.77 ID:4qmWB+Wj.net] その「高性能な」デバッガに何を求めてるかにも依るような。
618 名前:デフォルトの名無しさん [2016/05/21(土) 18:55:29.44 ID:r6iEFhaA.net] 不具合な動作が時々あるソフトで、たまたま高性能なデバッガに 分析させたら、ソースもないのに、分析されたソフト内部のソースを 画面に表示し、 「ヌル文字列を格納するための領域に、別の文字を格納し、領域を 破壊しています」 とか何とかメッセージを出した例まであるからな。 こういうデバッガは値段が高いだろ。
619 名前:デフォルトの名無しさん mailto:sage [2016/05/23(月) 19:41:11.89 ID:h8XB4lAi.net] 頭悪そうだね
620 名前:デフォルトの名無しさん [2016/05/26(木) 00:28:35.77 ID:R75m14iA.net] 予約語テーブルに、どのくらい詰め込めば良いかが悩ましい。 あまり増やしすぎると、C++と同じ道をたどるだけだし。
621 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 00:40:19.83 ID:SiuzFNyH.net] C++と同じ道をたどれれば最高じゃないか
622 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 07:23:51.59 ID:6iXHX0kN.net] てか、C++ って機能のわりに予約語は少ない方じゃね?
623 名前:デフォルトの名無しさん mailto:sage [2016/05/26(木) 09:28:47.76 ID:8g8oY2SCK] 最近のC++はほとんどの機能を標準ライブラリ側で提供しようとしてるから予約語自体は少ない std::moveとかstd::initializer_listという形で予約後を回避してる 根本的な解決にはなってないんだけど。
624 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 15:25:55.45 ID:xTig+h/w.net] アンダーバー付きの予約語は嫌だ
625 名前:デフォルトの名無しさん [2016/05/27(金) 21:42:12.01 ID:DWOzzldt.net] 俺はiostream関数も嫌だな。
626 名前:デフォルトの名無しさん mailto:sage [2016/05/27(金) 23:33:16.53 ID:64E4c/Qq.net] 抽象関数に実装なし・マーカーとか、書けばわかりやすいのに、 func(){ } = 0 とか、意味不明なことをやって、キーワードを減らしている
627 名前:デフォルトの名無しさん [2016/05/31(火) 21:45:44.53 ID:0yna7kxs.net] #include <PANAMA_PAPERS.Lib> main() { for(Datsuzei = 0; Datsuzei <= mugendai; Datsuzei++) } こんな予約語やライブラリがあれば、俺のお金も無限に増える はずなのに。消費税など、上げないでもらいたいよな。
628 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 22:03:33.81 ID:TRYwrF1a.net] お金が無限に増えたらジンバブエみたいになるぞ・・・・・・
629 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 22:10:48.45 ID:JlIYRfhe.net] ジンバブエってdoubleが桁あふれしたんだっけw?
630 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 20:32:23.48 ID:72v9yor7.net] COBOL使ってたから大丈夫
631 名前:デフォルトの名無しさん mailto:sage [2016/06/01(水) 22:55:39.98 ID:z/VHQJBB.net] ワロタww せめてrubyにしてくだしあ
632 名前:デフォルトの名無しさん [2016/06/05(日) 02:48:48.10 ID:itWJAX/I.net] フリーのコンパイラって、信用できる? 遊び程度でソフト作るなら良いけど、フリーだとサポートも 期待できないし。
633 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 03:05:17.84 ID:wHhH7979.net] gccもclangもjavacもc#も信用ならんって分野ももしかしたらどこかにはあるのかもな
634 名前:デフォルトの名無しさん [2016/06/05(日) 03:35:16.04 ID:itWJAX/I.net] gnuのように、ソースが公開されていてもやばい部分もあるのかな?
635 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:08:18.42 ID:n7k60ruZ.net] 事故った時の補償の話なら先に契約で決めておくしかない どうしても必要なら補償付きのお高いメーカー製を使えばいい そこまで気にしないなら適当に人気のやつを選べばいい ただし最適化を強めにすると地雷を踏むリスクが高い
636 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:10:42.69 ID:n7k60ruZ.net] ライブラリとかOSとかに比べればコンパイラ自身のバグは極めて少ない ただし最適化を強めにすると(ry
637 名前:デフォルトの名無しさん [2016/06/05(日) 14:53:16.00 ID:D97p9ZEl.net] 最適化有効にしてバグるのも大抵そのプログラムのバグだから
638 名前:デフォルトの名無しさん mailto:sage [2016/06/11(土) 01:39:10.14 ID:cDt3abig.net] >>614 有料でもサポートしてもらえる範囲は限られてる
639 名前:デフォルトの名無しさん [2016/06/11(土) 06:06:42.00 ID:MaD03lMp.net] 今考えたら昔のN88BASICも、実は凄かったんだな。 コンパイラを作りの前の基礎教養として、価値があると思う。 知識が多いほうが有利だし。
640 名前:デフォルトの名無しさん [2016/08/06(土) 21:46:00.33 ID:pVg13zPK.net] グラフィックライブラリは、やたら予約語の文字数が長くてウンザリ した経験があるな。わかりやすくコンパクトな予約語で良いのに。
641 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 22:54:17.43 ID:Jz+gSdkD.net] 予約語?
642 名前:デフォルトの名無しさん mailto:sage [2016/08/22(月) 17:08:41.63 ID:oW9zLe2W.net] 昔のBASICは名前空間みたいな整理はされてなくて ライブラリに相当する部分も予約語として扱ってたんだよ
643 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 22:37:20.41 ID:0YzbOJ/I.net] HSPとかもそうだな
644 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 13:00:51.48 ID:Vg9Wd9rs.net] >>622 高々COLORとかPOINTでしょ? PHIGS辺りのサードパーティライブラリと勘違いしてないか それともCLSに比べたら長いって話?
645 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 13:06:46.54 ID:Vg9Wd9rs.net] パラメーターがダラダラ長いっていうのなら分かるんだけどな タートルグラフィック以前の設計で カレントペンオブジェクトって概念がまだないから
646 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 21:03:09.17 ID:FgPIWm6o.net] haskellのdo構文
647 名前:デフォルトの名無しさん [2017/05/15(月) 00:51:21.49 ID:SFBD2YKR.net] Amazon で「Flex & Bison」で検索したらこんなの出て来て驚いた。 amzn.asia/2GvBmZs
648 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 18:24:26.90 ID:DeqHpRpX.net] たけーなオイ
649 名前:デフォルトの名無しさん [2017/06/26(月) 19:12:09.78 ID:6CpK5SZQ.net] >>615 実際コンパイラはソフトウェア検証の好対象 CakeMLとか
650 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 06:02:50.68 ID:W1XJdyx1.net] ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
651 名前:片山博文MZ mailto:sage [2018/03/02(金) 16:53:16.42 ID:R33psDql.net] www.softantenna.com/wp/review/tiny-interepter-and-compiler/
652 名前:デフォルトの名無しさん [2018/05/23(水) 22:10:50.46 ID:Au5e7VGg.net] 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 RSQUI
653 名前:デフォルトの名無しさん [2018/07/04(水) 23:52:46.72 ID:gFgZc5FG.net] CL2
654 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 22:53:08.29 ID:oM74pxCP.net] テスト😊
655 名前: mailto:sage [2018/09/04(火) 14:52:35.77 ID:lJV/Mb/R.net] 形式言語の祖・生成文法のチョムスキー90歳の言葉 www.videonews.com/marugeki-talk/908/
656 名前:デフォルトの名無しさん [2019/03/21(木) 17:55:33.49 ID:YzD9JPpd.net] esprima/escodegenなんかでJS ASTを扱ってる人に質問。 ASTを舐めて変数の型を推論したものをノードに紐付けて記録しておきたいんだけど、JS ASTの場合 ASTの中にメタデータをぶら下げるのと外で持つのとどっちが一般的なんだろう? 中に持つ場合はどこにどういうプロパティ名でぶら下げるか、外の場合はノードの位置を特定する パスのようなものが必要になるけどそれをどうするか。
657 名前:デフォルトの名無しさん mailto:sage [2021/02/24(水) 20:03:26.16 ID:1LsYaFKv.net] test
658 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 15:18:43.13 ID:IjgT90G7.net] お前ら元気か? 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
659 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 15:25:20.70 ID:IjgT90G7.net] 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
660 名前:デフォルトの名無しさん mailto:sage [2021/06/23(水) 07:02:20.99 ID:HYjDIJ1V.net] Prolog興味あるけどCとかJavaとかPythonとかのメジャーどころと違って教科書みたいなアカデミックな本しか見つからないから並以下グラマの俺には無理
661 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 08:22:07.76 ID:Qk99MJFD.net] 岩波のprologのプログラミング作法読んでみたら? 第5世代が成果をオープンソースに出来ていればなあ
662 名前:デフォルトの名無しさん [2023/08/19(土) 22:45:01.53 ID:mDwI+ElXv] 海外の環境団体はあらゆる妨害活動から破壊活動.首相の自宅にまで侵入したりと人としての最低限の道徳を知ってて素晴らしいが日本には クズしかいないのかよ.せめて広島の平和公園もとい地球破壊公園の殺人の灯て゛BBQくらいやってみせろや,何しろ肉を焼くわけでもなく 月に800立方メートルものプ囗パンカ゛スをたた゛ひたすら燃やし続けていやがるんた゛からな、せめて肉でも焼いて氣候変動に抗議する象徴的 行動をするのか゛人の道、莫大な温室効果ガスまき散らして世界一周旅行して、サミットだのと国民から強奪した莫大な税金無駄にしながら飲み 食い観光.警備だのとクソシナ顔負けの私権侵害やって世界中にバカ晒し続けてる岸田異次元増税憲法カ゛ン無視地球破壊軍国主義売国奴文雄 みたいなクス゛た゛の、持続可能な開発目標に壊滅的なダメージを及ぼすために国連本部にノコノコ出かけて莫大な温室効果カ゛スまき散らす広島 県知事湯崎英彦だのを当選させてる広島県民は恥を知れよ,広島原爆で14万人殺されたそうだが、WMOが確認しただけで1970年以降に 気候変動によって、洪水などあらゆる災害て゛殺された人数は200万人以上、経済損失は600兆圓以上という現実を理解しろや自己中県民 (羽田〕ttPs://www.call4.jp/info.php?tyPe〓items&id=I0000062 , tTps://haneda-ProjeСt.jimdofree.com/ [成田)tTρs://n-souonhigaisosуoudan.amеbaownd.com/ (テ口組織)Ttps://i.imgur.сom/hnli1ga.jpeg
663 名前:デフォルトの名無しさん mailto:sage [2023/07/05(水) 03:42:10.87 ID:e/cCV0Lv.net] >>311 人は死後49日は漂うと云われているな
664 名前:デフォルトの名無しさん mailto:sage [2023/09/24(日) 11:28:47.13 ID:Iodo3XEj.net] インタプリタの作り方 −言語設計/開発の基本と2つの方式による実装− - インプレスブックス ttps://book.impress.co.jp/books/1122101087
665 名前:デフォルトの名無しさん mailto:sage [2023/10/06(金) 08:06:12.42 ID:NmxdZAP9.net] バックエンドの作り方はググれば解説が出てくるが “実用的な”バックエンドの作り方はさっぱりわからない RX用のバックエンドが欲しいんだがなー
666 名前:デフォルトの名無しさん [2023/11/11(土) 06:58:34.37 ID:uMtlBPBy.net] 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 を計算するときに、丸めとかで変な浮動小数点数になって、この紹介されている方法が実行できないとかないですか?
667 名前:デフォルトの名無しさん [2023/11/11(土) 07:01:57.70 ID:uMtlBPBy.net] あと、 double a = 2.71828 * 3.141592; というコードがあったとき、 コンパイラは、 2.71828 を丸めた2進浮動小数点数と 3.141592 を丸めた2進浮動小数点数を掛けよという機械語に翻訳するんですか? それともこんな簡単な計算はコンパイラで予め行って、その結果を a に代入するという機械語を生成するんですか?
668 名前:デフォルトの名無しさん [2023/11/11(土) 08:35:32.43 ID:fuGMacjx.net] double a = math.E + path.PI;
669 名前:デフォルトの名無しさん [2023/11/11(土) 08:37:19.10 ID:fuGMacjx.net] 宿題は宿題スレへ
670 名前:デフォルトの名無しさん mailto:sage [2023/11/11(土) 11:05:25.10 ID:5AzCeqvD.net] はい あります はい 場合によります(最適化という追加処理)
671 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています