ml-lex中正则表达式的行尾字符

时间:2012-02-10 10:52:26

标签: lex sml

ml-lex中正则表达式的行尾字符是什么?
$”用于在大多数其他语言的正则表达式中捕获行尾字符,但如果我在ml-lex的情况下使用它,则会给出错误 - < / p>

mllex a.lex
ml-lex: error, line 45: lookahead is unimplemented
unhandled exception: Error 

我目前正在附加所有带有\n字符的正则表达式,以明确捕获行尾字符。但是,删除捕获的额外\n字符会使代码变得丑陋。

我在某处读到$未在ml-lex中实现 那么,我的问题可以有任何其他解决方案吗?请帮忙。

1 个答案:

答案 0 :(得分:1)

不幸的是,根据this manual,似乎ML-Lex中没有实现$字符:

  

“C Lex $的美元符号未实施,因为它是一个   lookahead的缩写,涉及换行符(即,   它是/ \ n)的缩写。“

this user guide

中也有提及
  

“C Lex $的美元符号未实施,因为它是一个   lookahead的缩写,涉及换行符,即它   是/ \ n的缩写。“

所以...至少可以解释(并备份你对ML-Lex中没有实现的$的阅读)。不幸的是,这可能意味着,至少现在,您可能只需要继续使用现有方法来检查这些行尾...即使它看起来不是很干净。