xtalが気になる

xtal」というスクリプト言語が気になっています。
Luaよりも、プログラマ向け言語色が強い気がする*1
ゲーム組込用途っぽく、余分な機能がいっさいないのがよさげ。

個人的な希望としては、

前からいっているように、言語とIDEは切り離すことができない、と考えているのでやっぱりIDEは欠かせない。
最近はいろいろな言語が生まれているので、コンパイラコンパイラみたいなノリで、IDEって作れないのかな。IDEコンパイラ
処理的には、似てくるはずと思うんだけどなぁ・・・。
コンピュータ言語定義言語があれば、作れるのかな。

デバッガに関しては、言語を覚えたてのときに「どういった書き方がどう動くのか」を確認するのに使ったりする。
Luaは、そういったところが充実していたのがよかった。


Visual Studio.NET 2003のプラグインDPack」で
コードの行数を見たら、17000行くらいだった。思ったより長い。

警告レベル4でコンパイルすると、これくらいの警告が出た。

  • warning C4100: 'xxxxx' : 引数は関数の本体部で 1 度も参照されません。
  • warning C4121: 'xxxxx' : メンバのアライメントは過剰にパッキングされています。
  • warning C4127: 条件式が定数です。
  • warning C4189: 'xxxxx' : ローカル変数が初期化されましたが、参照されていません
  • warning C4244: '=' : 'xxx' から 'xxx' に変換しました。データが失われているかもしれません。
  • warning C4267: '=' : 'xxx' から 'xxx' に変換しました。データが失われているかもしれません。
  • warning C4311: '型キャスト' : ポインタを 'xxx *' から 'xxx' へ切り詰めます。
  • warning C4312: '型キャスト' : 'xxx' からより大きいサイズの 'xxx *' へ変換します。
  • warning C4345: 動作変更 : 形式 () の初期化子で構築される POD 型のオブジェクトは既定初期化されます。
  • warning C4389: '==' : signed と unsigned の数値を比較しようとしました。
  • warning C4511: 'xxx' : コピー コンストラクタを生成することができません。
  • warning C4512: 'xxx' : 代入演算子を生成できません。
  • warning C4541: 'dynamic_cast' が /GR- を使用したポリモーフィック型 'xxx' で使用されています; 動作結果は保証されません。
  • warning C4541: 'typeid' が /GR- を使用したポリモーフィック型 'xxx' で使用されています; 動作結果は保証されません。
  • warning C4701: 値が割り当てられていないローカルな変数 'xxx' に対する参照が行われる可能性があります。
  • warning C4702: 制御が渡らないコードです。
  • warning C4706: 条件式の比較値は、代入の結果になっています。

C4127に関しては、ほとんどが無限ループのwhile(1)というコードだったが、これはfor(;;)にすると消すことが出来る(あまり意味はないが)。

*1:言語使用はこちら