This is the common project page for: LuaJIT — a Just-In-Time Compiler for Lua. Coco — a Lua extension for True C Coroutines. DynASM — a Dynamic Assembler for code generation engines. Lua Bitop — a Lua extension for bitwise operations on numbers. Privacy Policy This website does not request, store or process any private data. This website is fully static and does not allow entry of personal informa
LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. CやC++でアプリケーションを開発する場合、またはC/C++で開発されたオープンソースソフトウェアをコンパイルする場合に遭遇するコンパイルエラーや出力されるエラーメッセージは、C/C++に精通していなければ原因を予測しにくいことが多く、C/C++初心者を萎縮させる原因のひとつになっている。移植する段階でインクルードが必要になったとか、typedefを追加するといった簡単な対処でコンパイルできるものが、エラーメッセージの内容が理解できないために解決できないということはままある。 LLVM Project Blog: Amazing feat
nmoshは、単体でR6RSスクリプトを展開(expand)するためのライブラリを備えている。ここでいうexpandとはマクロの処理のことで、これを使うことでnmoshのsyntax-caseとかsyntax-rulesの実装を簡単に流用できる。 世間的には、Schemeサブセットのコンパイラは比較的簡単に作ることが出来るとされている。 http://www.iro.umontreal.ca/~boucherd/mslug/meetings/20041020/minutes-en.html (再掲) ↑で説明しているのはCPS変換とクロージャ変換だが、Schemeを作るのに必要な残りの部分はMoshのものをそのまま流用することができる(はず - 例外のハンドリングのために、かなりトリッキーな手法が必要になる)ので、これらを流用すれば、フルに機能するR6RS Schemeも簡単に実装できるよ
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
「N個の要素が与えられて、その中からM個を選んだ順列について何かを計算したい」というときの要素のたどり方って何が最速なんだろう。そしてどれが最速かを調べるベンチマークってどうやって書いたらいいんだろう。まわりのループの部分だけ書いたらコンパイラが「これは何もしていない」とか言って消してしまいそうだし、N個の要素だってうっかりプログラム中に記述するとコンパイルタイムにある程度計算されてしまったりしそうだ。 入力はまぁ、コマンドライン引数で渡すことにしてしまえばいいか。 あとは、なるべく処理時間を食わなくて、かつコンパイラが消さないようななにかを... グローバル変数を1個用意して、それに順列の各値を足すとか?
Useful Links Forums LLVM Discourse Mailing Lists: Commits List Discord (Real-time Chat): Discord Calendar: LLVM Community Calendar Dev. Resources: doxygen Sources (GitHub) Code Review Blog Bug tracker Buildbot Green Dragon LNT Scan-build llvm-cov Compile-time tracker Release Emails 20.1.8: Jul 2025 20.1.7: Jun 2025 20.1.6: May 2025 20.1.5: May 2025 20.1.4: Apr 2025 20.1.3: Apr 2025 20.1.2: Apr 202
Douglas Crockford 2007-02-21 This is chapter 9 of Beautiful Code. Introduction Vaughan Pratt presented "Top Down Operator Precedence" at the first annual Principles of Programming Languages Symposium in Boston in 1973. In the paper Pratt described a parsing technique that combines the best properties of Recursive Descent and Floyd's Operator Precedence. It is easy to use. It feels a lot like Recur
現在 WEBアプリケーションの開発言語といえばいわゆる Light Weight Langage が主流の様な気がしますが、C言語で WEBアプリケーションを書きた いと思った時、どのような方法があるでしょうか。一つはコンパイルした実行 オブジェクトを CGI として呼び出す方法、もう一つは apache module を書く という方法があると思います。 CGI の場合プロセス起動のオーバーヘッドがありますが apache module の 場合非常に高速です、にも関わらず apache module による WEB アプリケーショ ンの開発があまり流行っていないのはやはり、コード変更の度にコンパイルし なければならない事と、反映の際に apache を再起動しなければならない事が 原因ではないかと思います。 そこで、apache module っぽい C言語のコードをサーバー上で動的に
前回の Scheme Hackathon の時に、次は "Haskell Hackathon" やりたいね、という話が出ました。はっきり言って、僕は、「Haskell ぽか〜ん」の人です。モナドがわかりません。Scheme は実装することで、少し理解しました。きっと、Haskell も処理系作ったら、理解できるのではないかと期待しています!(おぃ というわけで、Haskell Hackathonは「12時間で Haskell の処理系を実装しよう!」というイベントです。 詳細はこんな感じ。 参加者全員、Haskell の処理系実装! 会場は、関東、関西、名古屋です。Ustream か Skype Video などで会場をつなぎます。関東は、サイボウズ・ラボ、関西は株式会社グッディ、名古屋は来栖川電算です。 時間は、3/1土曜日のAM11時〜PM11時です。 実装言語は、不問。僕の経験から言
Erlangが末尾再帰最適化をしてるか調べようとした - みずぴー日記 に興味が湧いたので,erlangのアセンブリコードを見てみた.beamのバイトコードにほぼ一対一対応していると考えていいと思う. まず単純な定義の場合 fact(0) -> 1; fact(N) -> N * fact(N-1). 以下のようになる.アセンブリコードの各行はそのままerlangのタプルとなっている.ここで, {x, N}: はx registerという.Nはレジスタ番号. {y, N}: はy registerという.レジスタという名前だが,スタック上に置かれる. {f, N}: は{label, N}に対応している.{f, 0}はプログラム終了コードのラベル. {function, fact, 1, 2}. % 引数1個, {label,2}がエントリーポイントという意味. {label,1}. {f
出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 記事の信頼性向上にご協力をお願いいたします。(2022年9月) テンプレートメタプログラミング(英: template metaprogramming)は、メタプログラミング技法の一種であり、コンパイラがテンプレートを使って一時的ソースコードを生成し、それを他のソースコードと結合してコンパイルする方式である。テンプレートが出力するものは、コンパイル時の定数、データ構造、関数定義などがある。テンプレートの利用は言わばコンパイル時の実行である。この技法は様々な言語で使われている(C++、D言語、Eiffel、Haskell、ML、XLなど)。 メタプログラミング手法としてのテンプレート利用には2段階の操作が必要である。まずテンプレートを定義し、次にそれをインスタンス化しなければならない。テンプレートは生成す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く