grammar reordering and renaming
fixing some little problems in lexer
Final version