CheckDifferentType関数を新たに設けました。この関数、コンパイラ内部で、以下のようなタイミングで呼ばれる便利な関数です。

・変数にデータを格納するとき

・関数にパラメータを引き渡すとき

呼び出されると、双方(右辺、左辺)の型の整合性を判断します。型が異なると判断された場合は、「強制変換されますよ〜、キャストしてください」みたいな警告を発します。更に、Char型変数にLong型データを代入したときなど、自身の型が持ち合わせるデータ領域よりも大きな領域を持ち合わせる型の代入に遭遇すると、「データが失われちゃいますよ〜」という親切な警告も発するようになっています。

我ながら、迅速行動でした。最初は久々に触るコンパイラの中枢部にタジタジだったのですが、プログラミングのカンを取り戻せたような一日でした。こういう、プログラミングに関するちょっとした壁を乗り越えたときの満足感は何者にも変えがたいものですね。

中枢部を改良したということで、色々と不具合がでるかもしれません。まとまり次第、Ver4.1β1としてリリースしようと思います。そうだっ、ヘルプを書かねばっっっ(式の中で “As 〜” が使えるのよ〜ん♪)