parse.d

まずは、パーサをlexer(字句解析器)から作る関数がある。
で、作ったパーサでパースして返すようになっている。
パーサはパーサクラスで定義されていて、
下降型のパーサである。
parse関数から各文法要素に対応した関数を呼び出すようになっていて、StringからASTを返すようになっている。
演算子表を持っていて、式については演算子順位法によってパースされている。1つの関数を複数回再帰呼び出ししている。
1パスでパースは終了できるので高速に動作することが期待できる作りになっている。