程序美和逻辑运算美,二者兼尔有之 w-wwftnanke-com
摘要:
考虑在词法分析中,识别一个数串:该串可以以任何数字前导,但必须以非零数字结束。生成该数串的文法可以表示为:G=({S,D,U},{0,1,2,3,4,5,6,7,8,9},P,S) ,其中P由下列产生式组成: S→DS|U U→1|2|3|4|5|6|7|8|9 D→0|U或可描述为正则表达式:D*U,其中*标表示可由任意多个字符组成。很简单不是吗?但存在一个问题:在编程中,任何可以被该正则表达式识别的句子,其所有字符都将在循环中被D吃掉,而U就被活活饿死。为了使识别奏效,可以使用如下方案:【方案1】 c=buffer.getc(); //从缓存中取得字符c //D* while(D(c).. 阅读全文
posted @ 2012-08-15 10:05 加班费的离开 阅读(177) 评论(0) 推荐(0)
浙公网安备 33010602011771号