プログラミング図形「12J」(ワンニャンジェー)開発ブログ

JAVAベースの図形でプログラミング出来る言語、「12J」を製作中です。

12の仕様(4)改

以前にもちょろっと予告しましたが、12の仕様解説(4) - プログラミング図形「12」]の演算子まわりの仕様をちょっと変えます。
(電卓機能実装は難しい上に微妙にわかりにくかったので)

早い話が予約語命令文同様、TBが変形する形にします。

具体的にはこんな感じ。
f:id:programmingshape12:20121210225922j:plain

右耳の一覧から選ぶと、演算子そのものの形に変形するみたいな。


でもって、実際に演算子を組み込むのはこんな感じ。
f:id:programmingshape12:20121210225951j:plain

これで
[変数1]=[変数2]+[変数3]を実現します。
無印のオレンジTBが、数式で言うところのカッコの役割を兼ねるわけです。

可読性は若干犠牲になりますが、実装面でも分かりやすさでもこっちのほうがいいかなーと。
問題は予約語命令文にも言えることだけど、この数だけ図形作って反映さすとかひたすら面倒なんですが・・・

よ・・・ようやく

どうにかこうにか保存と読み込みに成功しました、が。
char配列なんか大嫌いだっ!

ポインタいじったり色々やったけど、結局一番ベタな方法で処理したよ。
後なに?%sだとカンマまで読み込むから%[^,]にしないといけないって・・・わかるか、んなもん!
いやー、Cの素人が随分と手こずりました。
ベータ版公開の時にはソースも公開するので、初心者の苦肉の策をどうぞ笑ってください。

で大幅に予定が狂ったんだが、しかしどうしたものか。

ひとつ考えているのは、コンソール入出力を「捨て」て、代わりに演算結果をテキストファイルに落とすという方法を考えてます。じゃないと多分間に合わない。

あとC化してコンパイル・・・というのも時間的に間に合うかなぁ。Cソース表示だけでも作りたいんだけど。
そっちは後回しにして、とにかく実装部分を増やすことに専念したほうがいいかもしんない。

難航してる箇所>文字読み込み(追記)

ifstream とgetlineとsscanfと、あと%sの組み合わせでエラーが出るのは判明した。
試しに文字処理をしないソース組んだら動いたので。

ぐぐったけど対処がわからん・・・
sscanf使わないカンマデータ処理を別で組んだほうがいいのかなぁ。


で考えた対処方法が2つ。

1.sscanfを諦めてstrtokとかを使う
2.文字だけ別行にする

ソース直さなくて済むのは2なんですが、b12コードがめっさ汚くなる。いっそ
3.CSVでない、なんか他のデータの書き方を模索する

って方法考えますかねぇ・・・って思い浮かんだら苦労ないんですが。

・・よし。

おかしな処理を削って、とりあえずデータ保存と読み込みが「ほぼ」完成。
ほぼ、というのは、何故かTB名読み込むとエラーが出るため。

これが解消できないと、文字入力枠の代替措置も取れないので非常に困る。早急に原因究明したいが出社時間が刻々と・・・

保存問題ようやく解決。

結局プログラム直下のフォルダにb12.csvというファイルで保存することにしました。当然、元々あったデータは上書きされます。

暫定的に仕様はコレでいきます。βまでに修正する暇があるといいんだけど。


今度は保存したファイルの読み込みをば。これがまた難航しそうですわ・・・