strong typing of Ast
remove Id, TypeSpecifier, and Num classes, reduce attr_readers in Ast to necessary ones only
#symbol -> #id, make sure ArrayVarExp and AddrArrayVarExp#index is tested