以前Mだった者ですが、名前が重なっていたため Ma と改名させていただきました。
Ob->ObChild.z = Ob->ToZ - Ob->Zhaba + Ob->Zhaba * s;;
今読んでいたところ、エラーは起きませんし些細なことですが
セミコロンが二つ並んでいましたので報告しておきます。
59章 セミコロン2個
Re:59章 セミコロン2個
私も同じ経験があります。
コンパイラのソースを見たわけでは無いんですが、
いろんなサイトを調べてみると、コンパイラは';'までを1つの命令(?)と解釈するそうです。
というわけで、私が考えるに、例えば "a = a + b;;" は "a = a + b;" と ";" に分けられて、
コンパイラは次の様に見るんだと思います。多分。
/* "a = a + b;" の部分 */
'=' と '+' を見つける。
'+'の方が優先度が高いので a + b を吐く
次に a = 直前の結果 を吐く
おわり
/* ";" の部分 */
演算子や命令を探すが見つからない
おわり
あとから見て気づいたんですが、
これ、質問じゃなかったんですね・・・@@;;
コンパイラのソースを見たわけでは無いんですが、
いろんなサイトを調べてみると、コンパイラは';'までを1つの命令(?)と解釈するそうです。
というわけで、私が考えるに、例えば "a = a + b;;" は "a = a + b;" と ";" に分けられて、
コンパイラは次の様に見るんだと思います。多分。
/* "a = a + b;" の部分 */
'=' と '+' を見つける。
'+'の方が優先度が高いので a + b を吐く
次に a = 直前の結果 を吐く
おわり
/* ";" の部分 */
演算子や命令を探すが見つからない
おわり
あとから見て気づいたんですが、
これ、質問じゃなかったんですね・・・@@;;
Re:59章 セミコロン2個
微妙に話がずれますが、朽木さんと同等の理由で、仮にセミコロンが、
(中には警告やエラーと見なすものもあると思いますが)
ちなみに、
(こちらも警告やエラーと見なすものもあると思います)
豆知識としてどうぞ。
x = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;と、沢山並んでもエラーではありません。
(中には警告やエラーと見なすものもあると思いますが)
ちなみに、
0;と書いてもエラーにはなりません。
(こちらも警告やエラーと見なすものもあると思います)
豆知識としてどうぞ。