我刚刚看了这段由 Anders Hejlsberg 主演的视频:
https://learn.microsoft.com/en-us/shows/Seth-Juarez/Anders-Hejlsberg-on-Modern-Compiler-Construction
他谈到了通常在大学教授的编译器的传统方法(他们甚至手头有 Dragon 书)与 Roslyn 所采用的现代方法之间的区别。 简而言之,传统方法是经典管道,其中一个阶段为下一个阶段提供动力。现代方法是编译器是一组 API,可以为下一阶段提供支持,例如通过 LSP 构建 IDE,并且构建(自下而上和增量!)一种 AST,但不完全是,例如足以回答类型检查验证。
是否有关于这些技术的任何资源(书籍、在线课程、视频等)?如果它们与语言无关,我更愿意,但如果它们与 Roslyn 相关联,则没有问题(只要它不是 Roslyn 源代码本身......)。