use compiler and PEG together:first parsing then compile