Tenems
Tenems(テネムズ)は、.NET系オブジェクト指向型のプログラミング言語のひとつ。動作可能OSは、Microsoft Windows 98/Me/2000/XP/Server 2003。実行には.NET Frameworkが動作することが条件。
本体はVisual Basic .NETで開発されており、基本的にコンパイラと標準テンプレートライブラリのみの配布となる。開発者はカーズV3で、現在はSourceForge.jpにてオープンソースプロジェクトとして開発されている。ライセンスは修正済みBSDライセンス。
特徴
.NET Frameworkを利用したプログラミングを行うことができ、独自の「見やすい」構文を採用することによって、ソースを読みやすくする工夫を行っている。基本的にC#を見やすくしただけのように見える言語である。
また、「テンプレート機能」というものが使え、それを使うと標準テンプレートライブラリに用意されたソースコードや、他のファイルのソースコードの内容を容易に取り込める。(構文は「#import <テンプレート名>」と「#include "ファイル名"」である。)
また、コンソールアプリケーションとWindows Formsを利用したアプリケーションやDLLを開発可能であり、CGIも開発できる。
ちなみにCGI専用のテンプレートもある。
以下はサンプルソースコードである。なお、「--」以降はコメントであるため、コンパイル時に取り除かれる。
-- object型を拡張したクラス「test」 <test> extends object { -- MessageBox.Showのエイリアスとして関数「msg」を定義。戻り値はobject。 <msg> static routine object (string message, string title) { MessageBox.Show(message, title); out : 0; } -- プログラムのエントリポイントとなるMain関数。戻り値はint。 <Main> public static routine int () { const string cns = "Hello, World!"; string var = "'Hello World' program."; var = "The " + var; msg(cns, var); out : 0; } }
この例ではわざわざエイリアスとなる関数を新たに定義しているが、もちろんMain関数から直接 .NET Frameworkのライブラリのオブジェクトを呼び出すこともできる。
コンパイラの実体
コンパイラとは言っているが、実際はTenems言語をC#に変換し、C#のコンパイラにファイルと引数を渡しているだけである。