[codegen] ugly parser done ...
[codegen] refactor