今天又花了N多冤枉时间在傻问题上。
一个类里面定义了一个public static final Character A作为常量使用。
然后而后面给出了一个符号表,即public static final Character [] symbols = new Character []{A,......}
结果由于一下子没注意,把第一句放在了第二句的后面,结果初始化该类时,由于是按顺序执行类内的语句的,结果这时A默认是null的。
后面的使用了一个方法来遍历该表以检查参数是否在表中。
由于程序是递归的(递归下降预测分析器),因此调试起来头都晕了,找了几个小时才找到问题所在(一开头还以为自己的BNF设计得不好,于是化来化去,消除epsilon production,left recursion elimination,retract left common factor等烦死了)
天,什么时候才有吴毅大牛一半的功力?
No comments:
Post a Comment