欢迎来到 常识词典网 , 一个专业的常识知识学习网站!
[ Ctrl + D 键 ]收藏本站
答案 1:
超过简单替换方式的语法转换,不能称为语法糖。你提到的几种语言都经过自己的 parser 和 se-ntic 处理,仅仅是把另一种高级语言作为目标代码而已。最早的 C++ 实现 C wit- class 就是以 C 为目标代码。以高级语言为目标代码,省去了后端优化的力气(如果目标语言的编译器本身优化良好)。这是语言早期发展的一种常用策略,但不是必须的策略。Pyt-on, Ruby 我不太清楚它们的具体历史。C wit- class 最早是用一些简单的预处理来完成的(类似简单的文本替换),所以最早的 C wit- class 可以被看作语法糖。后期的 C wit- class 和早期的 C++ 还是以 C 为目标代码,但是已经经过了完整的语法和语义分析,源文件和目标文件只是语义等价,没有直接的替换关系了。只要是图灵完备的语言都是可以互相翻译的。但是这里还涉及一个 runtime 的问题。就是翻译前的语言调用了外部的库,如何在翻译之后的目标语言里能继续工作。C wit- class 解决的方式是把翻译前后的函数名称用某种规则对应起来。现在的语言翻译也基本都是这个套路。答案 2:
我所知道的还有GWT,sass-lang/, -aml.感觉语法糖这个说法不太精准. 语法糖一般是指语言-的不同的写法, 不是这种跨语言的编译转换.我觉得这个是个趋势, T-oug-tWorks公司最新的一期Tec-nical Radar中着重推荐了SASS, SCSS, HAML, Coffeescript这几个东西. 说在项目中用这几个东西获得了比较好的体验.下一篇:新浪微博不能注销? 下一篇 【方向键 ( → )下一篇】
上一篇:大型社交网站的服务器硬盘都买的什么牌子?谢谢。 上一篇 【方向键 ( ← )上一篇】
快搜