バックグラウンド
FreeLing API は、標準の Java 命名規則に従わないインターフェースを定義します。例えば:
package freeling;
public class sentence extends ListWord {
public void set_parse_tree(parse_tree arg0) {
インターフェイスはIDLに似たSWIGを使用して定義されます。
class sentence : public std::list<word> {
public:
sentence(void);
void set_parse_tree(const parse_tree &);
問題
class Sentence
学術的に言えば、インターフェイスを従来の Java 命名標準 (および など)にどのようにマッピングしますsetParseTree( parseTree arg0 )
か?
アイデア
- 650 行以上のインターフェイス ファイルを手動で変換します (そして開発者にパッチを送信します)。
- voodooの正規表現検索と置換(vi を使用):
:1,$s/_\([a-z]\)/\u\1/g
- 自動生成された 53 個の Java ソース ファイルからラッパー クラスを作成します。
ありがとうございました!