コンパイラ作成日誌0x7 『行情報付きのエラー処理』

アバター
MoNoQLoREATOR
記事: 284
登録日時: 14年前
住所: 東京

コンパイラ作成日誌0x7 『行情報付きのエラー処理』

投稿記事 by MoNoQLoREATOR » 11年前

前回の予告通り、今回は行番号を明示してくれるようにグレードアップです!

bisonに@xという構造体もどきが用意されていて、[始まりの行、終わりの行、始まりの列、終わりの列]の4つのメンバ変数を持ちます。
私達はここに手動で現在の探査位置を格納してゆき、必要なときに取り出します。
実は手動で格納する部分は既に書き込まれていたりします。コメントアウトされてはいますが。
今回、列情報は使いませんが、念のため格納しておきましょう。
そんなわけで各ソースコードは次のようになりました。

flex
► スポイラーを表示
bison
► スポイラーを表示
テスト用コード
► スポイラーを表示
さらっとテストしてみた限りでは、どうやらこれで大丈夫そうです。期待通りに動いてくれています。
というわけで、flex,bisonテスト用のコンパイラ(文法チェックマシン)はこれで完成です。
basic_basic(仮)と命名しておきます。
バージョンは0x0です。
下のリンクからダウンロード可能です。

とりあえずflexとbisonの使い方は そこそこ わかりました。
次回からはLemonというパーサ(構文解析器)の使い方を模索してゆきます。


それでは、良いプログラミングライフを!
添付ファイル

[拡張子 zip は無効化されているため、表示できません]


コメントはまだありません。