ml-lex中正则表达式的行尾字符是什么?
“$
”用于在大多数其他语言的正则表达式中捕获行尾字符,但如果我在ml-lex的情况下使用它,则会给出错误 - < / p>
mllex a.lex
ml-lex: error, line 45: lookahead is unimplemented
unhandled exception: Error
我目前正在附加所有带有\n
字符的正则表达式,以明确捕获行尾字符。但是,删除捕获的额外\n
字符会使代码变得丑陋。
我在某处读到$
未在ml-lex中实现
那么,我的问题可以有任何其他解决方案吗?请帮忙。
答案 0 :(得分:1)
不幸的是,根据this manual,似乎ML-Lex中没有实现$
字符:
中也有提及“C Lex $的美元符号未实施,因为它是一个 lookahead的缩写,涉及换行符(即, 它是/ \ n)的缩写。“
“C Lex $的美元符号未实施,因为它是一个 lookahead的缩写,涉及换行符,即它 是/ \ n的缩写。“
所以...至少可以解释(并备份你对ML-Lex中没有实现的$
的阅读)。不幸的是,这可能意味着,至少现在,您可能只需要继续使用现有方法来检查这些行尾...即使它看起来不是很干净。