じゃあコンパイラを書く場合はevalと両方書かないと駄目なのか