7得票1回答
使用Ocamllex进行字符串词法分析(Tiger编译器)

我将尝试跟随Appel的《现代编译器实现》一书,使用Ocamllex编写词法分析器。规范要求词法分析器在翻译转义序列后返回字符串。以下代码是ocamllex输入文件的摘录: rule tiger = parse ... | '"' { let buffer = Buffer....

7得票1回答
在ocamllex中,是否可以定义一个规则,在不消耗它的情况下查看下一个字符?

我将使用ocamllex为脚本语言编写词法分析器,但我在注释规则上遇到了冲突。 我希望允许命令参数未加引号,只要它们只包含字母数字字符和斜杠“/”。例如: echo "quoted argument !@#%" /this/second/argument/is/unquoted 此外,...

7得票1回答
在ocamllex中返回多个标记

有没有办法在OCamlLex中返回多个标记? 我正在尝试编写一个缩进语言的词法分析器和解析器,当词法分析器发现缩进级别小于之前的级别时,我想让它返回多个“DEDENT”标记。这将使它能够在多个块结束时通知解析器。 通过这种方法,我将能够使用“INDENT”和“DEDENT”作为“BEGIN...