Hello Worldをこえて

プログラマとして生き残るための備忘録

コンパイラ

電卓の作成 (その3)

前回は、構文木を作成せずに「 * 」「 / 」括弧を優先的に計算できる電卓を実装した。今回は、この処理に、構文木を作成し中間言語っぽいものを出力する処理を追加した。 github.com 初回のあまり理解せずに作成した電卓の処理より、かなり簡素化した処理で…

電卓の作成 (その2)

前回の電卓の作成では、「+」「ー」を処理する構文木を作成し、構文木から中間言語の出力、C言語の出力、インタプリタのように順次計算する処理を実装した。 次に「 * 」「 / 」と括弧の優先度に対応した計算処理を実装した。前回実装時に参考にしたサイト…

電卓の作成

昔からCやC++でコードを書くときに、メモリ管理やクラスの読み込み方の動作が気になったので、コンパイラを自作してみることにした。 といっても、いきなりコンパイラを作ろうとしても、何から手をつけていいのかわからなかったので、ネット上のコンパイラや…