汎用パーサーのインターフェースをじっくり考え中。
Perl6やboost::spiritのような同種のインターフェースでプログラムを組んでみたところ、
Perl6はよくわからない実行時エラーが多いところが使いにくく、
boost::spiritはよくわからないコンパイルエラーが多くて使いにくい印象でした。
C#4.0は強い静的型付けをもつ言語ですが、動的型付けにも対応しています。
これでよいとこどりになるようなインターフェースができないか考慮中。
また、静的型付けについても内部的にはC++より融通が利くため、
boost::spiritより良いものができるように頑張っています。
そこもC#4.0の新機能である共変性と反変性を利用することになり、
少なくとも練習にはなっています。
正しい利用方法なのかどうも自信がないのがなんですが。
まあ両方とも相手がすごいので、
客観的に見れば考慮の深さではかなわない可能性が高いですが。
少なくとも自分には一番使いやすいインターフェースくらいは目指したいものです。
ということで完成は急がずにじっくりと進めていきます。
Perl6やboost::spiritのような同種のインターフェースでプログラムを組んでみたところ、
Perl6はよくわからない実行時エラーが多いところが使いにくく、
boost::spiritはよくわからないコンパイルエラーが多くて使いにくい印象でした。
C#4.0は強い静的型付けをもつ言語ですが、動的型付けにも対応しています。
これでよいとこどりになるようなインターフェースができないか考慮中。
また、静的型付けについても内部的にはC++より融通が利くため、
boost::spiritより良いものができるように頑張っています。
そこもC#4.0の新機能である共変性と反変性を利用することになり、
少なくとも練習にはなっています。
正しい利用方法なのかどうも自信がないのがなんですが。
まあ両方とも相手がすごいので、
客観的に見れば考慮の深さではかなわない可能性が高いですが。
少なくとも自分には一番使いやすいインターフェースくらいは目指したいものです。
ということで完成は急がずにじっくりと進めていきます。