我正在尝试编写一个小型词法分析器,但我有一个小问题
考虑以下字符串
cout << "hello world ;
请注意,它末尾没有 "
。
我应该考虑初始 "
字符串之后的所有内容并说末尾缺少 "
还是忽略初始 "
(说它不以另一个 "
) 结束并继续分析标记 hello
, world
直到行尾?
对不起,如果看起来有点模棱两可。
最佳答案
也许最好的方法是获取 Clang,编译您的代码并查看它会向您报告什么错误。在 Clang 源代码中,您有两个单独的文件,其中包含所有可能的词法和解析错误,因此您可以检查它是否报告了词法或解析问题,而无需每次都在 C++ 标准的数千页中搜索, Clang 实现了标准:)
关于C++ 词法分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382497/