llvm example code, a calculator, using bnfc, haskell