右上➚

プログラミングに関するメモをのこしていきます

2015-12-01から1ヶ月間の記事一覧

コンパイラ内部の AST 表現について

コンパイラは大体,ソースコードを構文解析し,AST を作り,意味解析,コード生成という流れで実装されると思います. さて,AST は単純に書くと type expr = | Int of int | Add of expr * expr | Apply of expr * expr list | ... みたいな感じに書けると…

Boost.Spirit.X3 で簡易電卓を実装 1

agtn.hatenablog.com agtn.hatenablog.com 引き続き,Boost.Spirit.X3 です. 今回は,前回までの知識をつかって,簡易電卓を実装してみます. 仕様 今回定義する電卓は, + - * / の 4 つの演算と単項の - をサポートします. また,整数型のみを扱うものと…

Boost.Spirit.X3 の練習 2

Boost.Spirit.X3 の練習1 - プログラミングのメモ帳➚に引き続き,Boost.Spirit.X3 のお勉強メモです. セマンティックアクション 構文解析にはセマンティックアクションというのがつきものです. yacc や parsec など有名な構文解析のためのツール/ライブラ…

Boost.Spirit.X3 の練習1

Boost.Spirit.X3 の練習1 Boost.Spirit.X3 という C++ のための パーサコンビネータライブラリを使ってみています. Boost.Spirit というと, C++ の黒魔術の塊みたいなイメージがあります. ちなみに Boost.Spirit.Qi が安定版のパーサコンビネータライブラ…