我一直很好奇这个.
假设您正在解析以下代码行:
List<Nullable<int>> list = new List<Nullable<int>>();
当解析时,一个天真的标记器将假定两个直角括号是单个“右移”标记.我没有用C语言的任何其他语言建构来解决这个问题.
现代解析器如何处理?使用这样的“贪心解析”有没有解决办法?
我已经想到在分析器中使用堆栈结构,在分析通用类型时特别处理这些令牌.我不知道在编写代码编辑器时会有多好.
万分感谢!