initial commit, a old project of me, but need to be refactored to support new ideas
add 3rdparty pyparsing, refactor