Create a new repository

全力で行くらしい

C++で計算機制作

諸事情によりC++で機能を多く持った計算機を作ることにした。 ダメだったものとかいろいろあったので書いておきます。

候補は、

がありました。

すべて試しましたが、 boost::spirit が安定している感があります。

欠点を挙げると、

  • 自前

複雑な構文解析を行うのに苦労した。
-2-2といった前置の演算子と後置の演算子を混ざると死ぬ
高確率で機能を追加するとめちゃくちゃになる。

bisonにC++モードがあるとのことで利用。
マニュアルが全て英語でクソ。
bisonをC++で利用しているサンプルソースだけ見ても
.ll や.y なので完全には理解できず意味不明でした。
独自表現多すぎぃ

ANTLRWorksはJavaしか吐き出せないので使えないゴミ。確認ツールにしかならない
.g ファイルをSyntaxしてくれる奴が sublimeにあったけどクソ。
C++(C言語)がANTLR4に対応してない。参考になる文献が少ない
悪いところしか思いつかないや・・・

  • boost::spirit

エラーが意味不明になる。

という感じです

結論

boost::spirit が良い。

//プロトタイプは自前で作れましたが、現在制作中のVerでは boost::spirit で制作してます。
//Objective-C++という黒魔術をしなければならなさそうですが頑張ります。
//てか boost::spiritでもキツい