mat*_*ias 5 c++ compiler-construction parsing clang lexical-analysis
我遇到了C++ 的 SPECS 替代语法,虽然我不确定我是否喜欢他们所做的一些更无端的语法更改(例如,将指针从 * 更改为 ^),但它让我想到了调整和实施新语法。SPECS 声称在语义上与 C++ 相同,并且 Clang 非常模块化,因此我认为编写 Clang 的 AST 并利用所有预先存在的代码应该不会太难。
话虽这么说,我不太确定修改 Clang 当前的 Lexer 和 Parser 以接受不同的标记和排序(从而利用它们的错误消息)有多容易,或者是否更容易做到这一点而不是编写一个单独的解析器,只调用 Clang 的 AST。在过去的几天里,我一直在研究文档,但我想知道这里是否有对代码库有更多经验的人可以给我一些关于我是否应该搜索的意见