A Top-Down Parser with Semantic Analysis for javacc