compiler initial
compiler - next, changed ParserDefinition api(sorry for big commit, my mistake)