a compiler used LL(1) method