プログラムのIFの文法など、習うより慣れろで全く気にしたことがなかったが、さて、その文法を解釈する側になるとそうもいかない。

それは、以下の本をよんでいて気づかされた。

別に、コンパイラを作りたいわけではないが、コンパイラを知ることでいろいろな事がわかる。
まず、OSの仕組みや、パターンマッチング、メモリ管理などなど・・・

パーサ関連に初めてまじめに考え始めたのが、仕事でHTMLをパースする必要があったためだ。
私が作ったアプリはHTMLのすべてのリンク(外部リソース)を管理し、その関係を管理するツールだった。
まあ、HTMLのパースはC言語なんかと比べることができるほど複雑ではないですが・・・
でも、やっぱり、この辺の知識としてスタックしておくことは、将来悪くない。

それに、C言語を使い始めているが、やはりCを知るためには、文法を勉強していてもらちがあかない。
コンパイラを知れば、C言語が何を作成しているのがわかるので、より理解が深まるはずだ。

という観点なので、まあ今の段階ではさらっと読み流しています。

といいつつ今回はその文法の話なのだが・・・

IF文は

if ( 式 ){
  文;
  文;
}
else {
  文;
}

のように書く。しかし、正しい仕様では、

If( 式 ) 文 else 文

らしい。
ただしここで、”式”とは?”文”とは?は突き詰めてもらわないでいただきたい。
それをいわれたら、説明がめちゃめちゃ面倒になるし、言いたいことはそういうことではないのであしからず・・・

「文」は1つしかかけないらしい。
そして、文の中に、文が必要な場合には、
{と}をつけて、1つの文として扱うということだ。

使う方にはどうーでもいいことではあるが、いざ、それらを解釈する側にたてば、
これらはキチンと定義されていなければならないし、このように定義した方が確かに解釈が楽だ。
そして、こういう考え方ができることは、矛盾がないプログラミングをする上では必要な視点だろう。

まあ、たいていの人にとってはどーでもいい話。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2010年4月
« 3月   5月 »
 1234
567891011
12131415161718
19202122232425
2627282930  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ