身内の勉強会で話す(話した)内容を公開します。
前提知識
- CFG
文脈自由文法(ぶんみゃくじゆうぶんぽう、Context-free Grammar、CFG)とは、言語学や情報工学において全生成規則が以下の形式である形式文法のひとつである。
V → w
ここで V は非終端記号であり、w は終端文字と非終端記号から構成される文字列である。「文脈自由」という用語は前後関係に依存せずに非終端記号 V を w に置換できることを意味している。文脈自由文法によって生成される形式言語を文脈自由言語という。(Wikipediaより)
- 記号表
名前とそれに関する型、スコープ、値(名前が定数のとき)などの情報をまとめたものを記号表という。コンパイラの中では、名前は記号表のエントリ(へのポインタ)で代表させるのがふつうである。コンパイラの解析部では記号表に名前の情報を集め、合成部では記号表を利用して目的コードを生成する。(『プログラミング言語処理系』より)
slideshareで使用したソースコードのアーカイブ(.tgz)はこちら。
なお、本スライドで使用しているflexとbisonのバージョンは次の通りである。
$ flex --version
flex version 2.5.4
$ bison --version
bison (GNU Bison) 2.1
Written by Robert Corbett and Richard Stallman.
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[参考訳 -- 法的効力は英文が適用されます]
これはフリーソフトウェアです -- 複製についての条件はソースを見ましょう。
一切の保証はありません -- 商業性や目的適合性についての保証すらありません。