current all kind of data store in item field,
from token to a AST field follow this patten:
identifier string -> interface{} -> string
translate to interface{} represention cause
unnecessay allocation. add an indent field
and store identifier as string would avoid that