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

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

parsec.ring の使用方法(1) - はじめに

はじめに

一通り Ring を学習し終えた後にデスクトップ、 RingQt など標準提供されている拡張機能をウェブ検索して資料・翻訳を集めながら使用するか、または拡張機能を自作するかのどちらかになりますが、これは英語読解の次に乗り越えるのが難しい壁でもあります。

しかし、他のマイナープログラミング言語とは違い、プログラミング言語 Ring には標準でC/C++コードラッパー生成器 (parsec.ring) が付属しています。ただ、 C/C++ のヘッダファイルを渡しただけでは自動生成できません (SWIGと同じ方法)。あらかじめ接続したい内容を記述した構成ファイルを用意する必要があります。この構成ファイルは、添付の説明書だけでは理解できない点が多くて parsec.ring と Ring に付属の *.cf ファイルを読まないと書くことも使うことすらできません。

これは多くのマイナー言語に当てはまることで、言語自体は習得しやすくても拡張機能を作るのは容易ではないのは Ring でもある意味で当てはまります。この記事では、 parsec.ring と *.cf の解析を行うことで RING_API と *.cf ファイルに関する理解を深めることを目的としています。

 

目次(予定)

事前準備

 ~未定~

 

ディレクティブ

  • <class> ~ </class>
  • <code> ~ </code>
  • <constant> ~ </constant>
  • <comment> ~ </comment>
  • <filter> ~ </filter>
  • <funcstart> ~ </funcstart>
  • <ignorecpointertype> ~ </ignorecpointertype>
  • <libinitfunc> ~ </libinitfunc>
  • <nodllstartup> ~ </nodllstartup>
  • <register> ~ </register>
  • <runcode> ~ </runcode>
  • <struct> ~ </struct>

 

ディレクティブ (変数)

  • aEnumTypes
  • aBeforeReturn
  • aFunctionCallback
  • aNewMethodName
  • aNumberTypes
  • aStringTypes

 

ディレクティブ (クラス属性)

  • abstract
  • codename
  • name
  • nonew
  • para
  • parent
  • passvmpointer
  • staticmethods (Ring 1.8 以降)