lezer-based Java grammar