为clang添加备用语法

时间:2011-08-18 23:09:38

标签: c++ parsing compiler-construction clang lexical-analysis

我遇到了SPECS alternate grammar for C++,虽然我不确定我是否喜欢他们所做的一些更无偿的语法更改(例如,将指针从*更改为^),但它让我想到了这个想法调整和实现新语法。 SPECS声称在语义上与C ++完全相同,而Clang非常模块化,所以我认为写入Clang的AST应该不会太难,并利用所有已有的代码。

话虽这么说,我不确定修改Clang当前的Lexer和Parser接受不同的令牌和排序(从而利用他们的错误消息)是否容易,或者是否更容易做到而不是编写一个单独的解析器,只调用Clang的AST。在过去的几天里,我一直在阅读文档,但我想知道在这里有更多代码库经验的人是否可以给我一些关于我是否应该搜索的信息

  • 用于更改lexing /解析功能的API
  • 类直接更改/子类以实现我所需的功能
  • 编写我自己的解析以与AST接口的最佳方法。

0 个答案:

没有答案