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