メモ。あとで見る。

  • anjuta付属のctagsは,javaソースをちゃんとパースできてないっぽい。
    • c++のreturntypeのパースというか出力にバグがあったので修正。
  • exuberant ctagsは,anjuta ctagsできちんとパースできないソースをパースできてるっぽい。
    • というか,anjuta ctagsはまともなjavaのソースをパースできないっぽい。
  • ctagsをいじっているけどがテストを書くのが困難で心が折れた。
    • 各地にstatic関数連発,main.cにユーティリティ的な関数があって困る。
    • こういう場合どうするべきかの経験知がない。
      • さわらぬ神に祟りなしだな。
    • 教訓,C言語だろうとなんだろうと単体テストはすげー大事なー。


結論としては,javaのパースをc.cではなくて,java.cを作ってそこでするか。
予想としては,c, c++をちゃんとパースしようとして,c.cをいじったら,
javaをパースできなくなって,けどjava使わねーから,エンバグされたことに
気づいてないか,そもそも,はjava? javaは言語階層のかなり下の方で
あほがつかう言語だから無視してもいーんだよ的な感じか。
コピペ・・・してもいいよね?
というか,今後javaにも新しいsyntaxが入るだろうから分けるべきだとは思う。
そもそもテストがないからこのような状況になるのだろうと思うわけです。


すみません。テストちゃんと書いてません。
書いてませんが,正常系のテストくらいは書いている!・・・はず!


さて,どうしたもんか。
オリジナルのctagsのc.cをjava.cとしてコピーしてc,c++の部分を削る。
んで,おそらくパース対象ソースの種類を判定してパース用の関数を呼んでいるところが
どっかにあるはずから,そこをごにょごにょすればいいかな。
でも・・テストがないから不安だし,ハードル高いし,
それゆえ重い腹いやさ腰があがらんでござる。


workingなんちゃらeffectivelyっていう本を読んだ方がいいな。いや,読むべきだね,ワタシ。