正在加载图片...
LEX有一个解决这种二义性的优先权系统。首先,LEX总是 匹配可能的最长子串(因此LEX总是生成符合最长子串原则 的扫描程序)。其次,如果最长子串仍与两个或更多个规则 匹配,LEX就选取列在前面的规则。正是由于这个原因,上 面的LEX输入文件就将{ends_ with a}ECHO;和 { begins_with_a}ECHo;放在前面,如果按下面的顺序 tends with_ a ECHo begins_with_a ECHO 则不会有任何输出。LEX有一个解决这种二义性的优先权系统。首先,LEX总是 匹配可能的最长子串(因此LEX总是生成符合最长子串原则 的扫描程序)。其次,如果最长子串仍与两个或更多个规则 匹配,LEX就选取列在前面的规则。正是由于这个原因,上 面的LEX输入文件就将{ends_with_a} ECHO ;和 {begins_with_a} ECHO;放在前面,如果按下面的顺序 列出 .*\n; {ends_with_a} ECHO ; {begins_with_a} ECHO; 则不会有任何输出
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有