全面完成jj定义，大面积修改BNF，修改了之前的bug