isVowel() - プログラミング言語 Ring 関連メモ

Ring 言語に関する資料の翻訳や執筆、拡張機能の開発など

説明書に書いていないこと。

プログラミング言語 Ring の拡張機能を製作するにあたって取扱説明書 (extension.html, codegenerator.html) に記載されていないことを書いていきます (随時更新)。解析を始めたばかりだけでなく、Cはかなりの期間使用していなかったため、記述に間違いが多く含まれています。まだ未完成です。ご了承ください。


●対応 C/C++ コンパイラ
Visual C++ 2010 以降です。場合によっては C99 拡張でエラーになる箇所を C89 規格に対応したものに書き換える必要があります


●よく使われる型などの実体

 ・RingState 型は ring_state.h で構造体型として宣言されています。
 ・List 型は ring_list.h で構造体型として宣言されています。
 ・RING_API マクロは ring.h に定義されています。

宣言の内容がわからない場合は ./include フォルダにあるヘッダファイルに対して typedef, struct, define あたりで grep 検索すれば出てきます。また、構造体メンバの使用方法がわからないときも ./src フォルダのソースファイルに対して構造体メンバ名を検索することで使用して良いのか否かがわかります。


●void *pPointer の実体

ただの仮引数のようです。仮想機械の内部操作で使用されるため、ほとんどの関数では操作することはないようです。vm_stackvars.c の void vm_setreference関数では RING_VM_STACK_READP (ring_vm.h) が入ります。 VM構造体へキャストされて使われるのがセオリーのようです。これについては、もっとよくソースコードをよく調べてみないとわかりません。