add toplevel complete.
add lexer.
define mode number in haskell.