Low Level Programming Markup Language (LLPML) †
独自のAndromeda?言語(JavaScript風の言語)によるネイティブコンパイラです。CompilerLib?を利用しています。 ⇒ 関連日記
- C#で作成されているため、コンパイラの動作には.NET Frameworkが必要です。
- 出力はネイティブバイナリです。.NET Frameworkに依存しないためランタイムなしで動きます。
- LLPMLのコンパイラを使用した開発環境の整備はAndromeda?で行っています。
- Windows Live WriterでAndromeda?のソースコードを挿入するためのプラグインを作りました。 ⇒ Source Plugin
現在の方針 †
- C言語にC++やC#の要素を取り入れて焼き直したような言語です。
- 構文がJavaScript風なのは、パースが簡単だからです。なるべくC#と同じ記述を取り入れたいと考えていましたが、実装の都合による妥協などもあり、現時点ではC#から乖離しています。
- 自分自身を記述するのに必要な要素を実装します。
- ちょっとした工夫(あれば便利で実装もあまり難しくない機能)もなるべく取り入れます。
- マングリングを避けるため、関数のオーバーロードはサポートしません。
- 自分自身の記述に不要なため、64bit整数型や浮動小数点数型(float, double)はサポートしません。
- 型推論による多相型、もしくは明示的なgenericsは、実装がかなり難しいと思われます。実装が望ましい機能ですが、ちょっとした工夫の枠内を超えているため、現時点では見送ります。
- 以上は必要に応じて変更する可能性があります。
ダウンロード †
- ソース: &ref(): File not found: "LLPML-1.5-20081021.zip" at page "LLPML"; - 修正(エラー表示、コード生成、配列のキャスト、プロパティのプロパティ、sizeof)
- ライセンス: パブリックドメイン
過去のリリース †
- ソース: &ref(): File not found: "LLPML-1.5-20081016.zip" at page "LLPML"; - コード生成サポート、クラス外から定数を参照
- ソース: &ref(): File not found: "LLPML-1.4-20081015.zip" at page "LLPML"; - エスケープシーケンスの修正、C#風の@文字列、部分クラス
- ソース: &ref(): File not found: "LLPML-1.3-20081014.zip" at page "LLPML"; - 基底クラス、構造体とクラス間の継承を禁止、未定義エラーの修正、仮想関数の戻り値を修正、switchで文字列
- ソース: &ref(): File not found: "LLPML-1.2-20081013.zip" at page "LLPML"; - 未定義エラーの修正、仮想関数の前方参照、文字列にcharやintを加算
- ソース: &ref(): File not found: "LLPML-1.2-20081008.zip" at page "LLPML"; - プロパティのバグ修正、キャストの修正
- ソース: &ref(): File not found: "LLPML-1.2-20081007.zip" at page "LLPML"; - 更新の必要性を判断
- ソース: &ref(): File not found: "LLPML-1.2-20081005.zip" at page "LLPML"; - プロジェクト対応、サンプルブラウザ廃止、継承の前方参照
- ソース: &ref(): File not found: "LLPML-1.1-20080926.zip" at page "LLPML"; - Mono対応?
- ソース: &ref(): File not found: "LLPML-1.1-20080920.zip" at page "LLPML"; - Windows CE(x86)対応? ⇒ 関連日記
- ソース: &ref(): File not found: "LLPML-1.0-20080915.zip" at page "LLPML"; - 1.0をリリースしました ⇒ 関連日記
- 1.0以前の開発版?
コメント †