こんにちは、Takymです。
今回は、DotnetExlibに追加予定の機能を紹介します。
ここで紹介する機能は追加予定ですので、まだ完成していません。(※殆どの機能が構想段階です。)
また、ここに書いた機能を全て実装する事ができない可能性もありますので、ご了承ください。
トップページやカテゴリーページから閲覧している人は「続きを読む」ボタンを押してください。
目次
始めに
今回、DotnetExlibに追加予定の機能は二つあります。
YastopyとYeckthoneという名前のライブラリでDotnetExlibの下位の名前空間上に開発したいと思っています。
つまり、実際のファイルはDotnetExlibから分かれていないという事です。
因みに、前回のDotnetExlib関連の記事では説明していませんでしたが、DotnetExlibの由来は「.NET拡張ライブラリ」という意味です。
Yastopy
最初にYastopyについて話したいと思います。
まず、由来ですがYとFastとCopyを繋げた造語です。
この機能は、複数のファイルを高速にコピーする為に開発しています。
アルゴリズム等はまだ考えていないため完成するかどうかわかりません。
ファイルを高速コピーするために開発しておりますが、削除や移動機能もつけていくつもりです。
また、リンクファイル等のコピー処理も自由に設定できるようにしたいです。
Yastopyオリジナルのリンクファイルの開発も予定しております。
後述しますが、CAPというYeckthoneで追加予定のマークアップ言語で設定データやリンクファイルを保存できるようにしたいです。
Yeckthone
まだ、完全に仕様すら決まっていませんが、Yeckthoneについて説明したいと思います。
これはEXONの読み取り/書き込み機能を実装したライブラリになる予定です。
因みに由来ですが、EXONの発音を無理矢理引き延ばした感じです。
EXON
EXONは僕が考えたものです。
「XMLとJSONを結合させよう!」という記事を書いた後、急に思いつきました。
仕様はまだ完全に決まっていません。
由来は「Extensible Object Notation」の略称で、XML, JSON, CAP, INI, CSV, TSV等のマークアップ言語をオブジェクト値として使用し、データベースを保存する為等に利用します。
CAP
CAPは、EXONよりは仕様は固まっています。
CAPは「Configuration and Properties」の略で主にEXONで使用されるマークアップ言語です。
CAPは以下のようにして記述します。
# CAP: Configuration and Properties
# インラインコメント
@version 0.0.0.0
#|
ブロックコメント
|#
TagName := "text-value"; # タグ名は英数字またはアンダースコアで書きます。ただし先頭に数字を書くことはできません。
Parent := {
Child := "hoge";
};
Numbers := {
Integer := 123;
Binary := 0b1101;
Quaternary := 0q1230;
Octal := "0a0777";
Hexadecimal := 0xA1B2;
Decimal := 0z1.20M;
SingleFloat := 0z1.20F;
DoubleFloat := 0z1.20D;
UnderScoreInNumber := 0b1111_0000_1010_0101;
ExplicitBitSize := (s16) 456; # 符号付16ビット整数
#|
明示的なビットサイズ "(u8)"
'u'は符号の状態を表します。
この場合では符号無し整数です。
'8'は何ビットかを表します。
この場合では8ビットを表します。
暗黙的なビットサイズ
もし、符号が明示的に決められていなければ、
アプリケーションが自由に設定する事ができます。
つまり、符号無し整数を符号付き整数として扱ったり、
符号付き整数を符号無し整数として扱う事ができます。
例.) -1 => 255
例.) +129 => -127
* 例では8ビット値を利用しています。
もし、ビットサイズが明示的に決められていなければ、
環境により限定のビットサイズが変わります。
|#
};
Flags := {
BooleanTrue := !true;
BooleanFalse := !false;
Enum := 'xxx'; # 列挙型の値はアプリケーションが指定します。
};
OtherTypes := {
Empty := !null;
ReferAnotherTag := Parent.Child;
Base64 := __QkFTRTY0;
Array := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; # 最初に指定された値の型のみ使用する事ができます。
};
当然ながら独自のフォーマットであるCAPはシンタックスハイライトする事ができません。
また、英語版でも仕様を書いてみました。(※翻訳した部分は少ないですが)
ConfigurationAndProperties.cap.txt
上記のリンクをクリックするとファイルのダウンロードが始まります。ダウンロード後はメモ帳等のテキストエディタで開いてください。
最後に
現在、別のアプリケーションを開発しており、DotnetExlibを開発する時間があまりありません。
なので、もしかしたらDotnetExlibは現在開発中のアプリケーションに結合するかもしれません。
Make Font Windows GUIも現在開発中のアプリケーションに結合するかもしれません。
感想・意見・質問・誤字・脱字等はこの記事のコメント欄にお願いします。
最後まで読んでくださってありがとうございました。