C#とJavaScriptを混ぜたような独自言語によるネイティブコンパイラです。
- CompilerLibを利用しています。
- C#で作成されているため、コンパイラの動作には.NET Frameworkが必要です。
- 出力はネイティブバイナリです。.NET Frameworkに依存しないためランタイムなしで動きます。
- LLPMLと同等のものをLLPMLで書き直しているのがAndromedaです。
- 名前に Markup Language と付いているのは、当初XMLでプログラムの記述を行っていた名残です。現在はXMLを使用していません。
- C言語にC++やC#の要素を取り入れて焼き直したような言語です。
- 構文がJavaScript風なのは、パースが簡単だからです。なるべくC#と同じ記述を取り入れたいと考えていましたが、実装の都合による妥協などもあり、現時点ではC#から乖離しています。
- 自分自身を記述するのに必要な要素を実装します。
- ちょっとした工夫(あれば便利で実装もあまり難しくない機能)もなるべく取り入れます。
- マングリングを避けるため、関数のオーバーロードはサポートしません。
- 自分自身の記述に不要なため、64bit整数型や浮動小数点数型(float, double)はサポートしません。
- 型推論による多相型、もしくは明示的なgenericsは、実装がかなり難しいと思われます。実装が望ましい機能ですが、ちょっとした工夫の枠内を超えているため、現時点では見送ります。
- 以上は必要に応じて変更する可能性があります。
- LLPML-1.7-20090115.zip - 無名クラス、修正(プロパティ、ビルドルール、レキシカルスコープ) ⇒ 関連日記
- ライセンス: パブリックドメイン
- 開発環境: Visual C# 2008 Express Edition ⇒ 無料ダウンロード(オフラインインストール推奨)
- LLPML-1.6-20090112.zip - 修正(ビルドルール、レキシカルスコープ、base、メンバ) ⇒ 関連日記
- LLPML-1.5-20081207.zip - 修正(デストラクタ、nullのキャスト、多重override、コード再生成)
- LLPML-1.5-20081025.zip - 修正(部分クラス、標準出力、byte/short/ushort、配列、Lengthプロパティ)
- LLPML-1.5-20081022.zip - エラー複数表示対応
- LLPML-1.5-20081021.zip - 修正(エラー表示、コード生成、配列のキャスト、プロパティのプロパティ、sizeof)
- LLPML-1.5-20081016.zip - コード生成サポート、クラス外から定数を参照
- LLPML-1.4-20081015.zip - エスケープシーケンスの修正、C#風の@文字列、部分クラス
- LLPML-1.3-20081014.zip - 基底クラス、構造体とクラス間の継承を禁止、未定義エラーの修正、仮想関数の戻り値を修正、switchで文字列
- LLPML-1.2-20081013.zip - 未定義エラーの修正、仮想関数の前方参照、文字列にcharやintを加算
- LLPML-1.2-20081008.zip - プロパティのバグ修正、キャストの修正
- LLPML-1.2-20081007.zip - 更新の必要性を判断
- LLPML-1.2-20081005.zip - プロジェクト対応、サンプルブラウザ廃止、継承の前方参照
- LLPML-1.1-20080926.zip - Mono対応 ⇒ 関連日記
- LLPML-1.1-20080920.zip - Windows CE(x86)対応 ⇒ 関連日記
- LLPML-1.0-20080915.zip - 1.0をリリースしました ⇒ 関連日記
- 1.0以前の開発版
最新コメント