真正沉下心来写过编译器的就知道,golang这样搞确实是有利于编译器开发。
因为中括号原本就是成对出现的,而尖括号会与大于号和小于号场景混淆。
而要识别这个混淆场景,就需要词法分析器去感知语法分析或者语义分析的上下文。
比如,词法分析器可以和语法分析器共享一个状态,当当前状态处于类型定义阶段(语法或者语义处理才能识别这个状态)时,词法分析器就可以断定应该是尖括号,否则就要优先按大于号和小于号处理。
这个原理…。
上一篇 : 人常说女人味,到底是个什么味?
下一篇 : 为什么苹果公司无法制造出性价比高的 Mac 电脑?
go为了编译速度减少了很多编译优化?为什么不能提供优化编译模式来提升运行效率?是太懒还是另有隐情?...
在办公室用机械键盘是什么心里?...
服务器能否拒绝非浏览器发起的HTTP请求?...
27℃ 的冷空调和 27℃ 的热空调有什么区别?...