#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)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS