remove unsafe string.. and make FanGrammar more like Grammar/Structure:fix
some minor tweak
ready for add extend_level api
try syntax change first
now all levels should have a name, the default name is ""
now all levels should have an explicit associativity:fix
clean:fix
separate imperative part from functional part in Grammar:fix
fully separate functional part and imperative part in the parser:fix