remove unused files
refactor
refactor
use smart pointer
lexer
support file module. it means a file name is also a module name.
each module can write to one file.
fix bug when write root module.
add flag for file module.