我正在使用 ocamllex 为脚本语言编写词法分析器,但我正面临与我的评论规则的冲突。
我想让我的命令参数不被引用,只要它们只包含字母数字字符和斜杠“/”。例如:
echo "quoted argument !@#%" /this/second/argument/is/unquoted
此外,我的先决条件之一是带有“//”的 C++ 风格注释
//this is a comment
echo hello world
这带来的问题是
echo foo//comment
我希望我的词法分析器生成一个“foo”标记,同时保持“//”不变,以便在下次我向词法分析器请求标记时使用。那可能吗?这样做的原因是输入缓冲区可能尚未到达评论的末尾,我宁愿立即返回“foo”令牌,也不愿不必要地阻止试图急切地使用评论。