LuaC (日本語)

O.png ここで冗談を言っていません。その用途で LuaC を使用することはできるかもしれませんが、それには多数の付帯条件があります。
  • 使用しないでください。.
  • (上級者へ) まだ使用しないでください。
 


O.png LÖVE はバイトコードを解釈しますが (仮想機械が処理するため) 実際は公式の機能として非公認・対応しないため、バイトコードに不具合がある場合は、不具合の報告をする前にプレインテキストを試してみてください。  


LuaC は Lua ソース・ファイルを取り扱って解析を行い Lua バイト・コードを生成するツールです。

役に立つように思えますか? そのまま読み続けてください。

Lua バイト・コードは Lua 仕様書の一部ではなく LuaVM 設計の実際的な結果です。さらに LuaVM はいかなる標準化された仕様の一部ではなく、その上での詳細な実装に対するものです。 Lua の標準化された仕様部分は言語自体および C API です。 それ以外はありません。

これによりバイトコードの非互換性が発生じます。 Lua バイト・コードに対する仕様がなく、移植された Lua の異なるビルド間では無意味であり、コンパイラの奇行および苦難からバイト・コードを保護する必要がないということです。この結果は様々な構造体および列挙体が仮想機械へ依存しているものを適合させためにコンパイラが自由にそれを再調整を認めさせているため (通常は効率に対して)、欠点として如何なるバイト・コードであろうとそれを作成した Lua の正確なビルドにおいてすら潜在的な特異性があります。

"では、何故 LuaC を開発したのですか?" の質問には簡単な回答があります: Lua のビルドにおいてパーザーレス (超小型 Lua ビルド) を構成可能ですが、それだけではソースファイルを処理できない欠点があり、解析済みソースを与える必要があります…どういうことかというと、バイトコード化を行います。 しかし同様の制限が適用されます。使用される LuaC のビルドと仮想機械を一致させる必要があります。脆弱な解決方法ですが、我慢できる状況でもあります。

そのほかの言語