首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语法和s表达式之间的区别是什么

语法和s表达式之间的区别是什么
EN

Stack Overflow用户
提问于 2009-10-04 22:02:41
回答 2查看 274关注 0票数 4

语法语言和s-expression语言的主要区别是什么?使用s-expression会影响编译时间(在解析过程中)还是会给语言带来任何好处?

EN

回答 2

Stack Overflow用户

发布于 2009-10-04 22:23:50

在Lisp或Scheme等语言中,使用S表达式表示程序文本可能会减少解析器的工作量。与C++编译器解析C++代码相比,Lisp编译器解析Lisp源代码所花费的时间更少(C++是公认的最复杂的解析语言之一)。

但是,除了某些例外(可能是C++?),解析并不是编译器中占用时间最多的部分。C#和Delphi都有非常简单的语法。

票数 1
EN

Stack Overflow用户

发布于 2009-10-05 03:23:35

将一种语言中的源代码表示为S-expressions确实使得解析它变得很容易,但这不是重点。Lisp的各种方言都有让程序在其他程序的结构上操作的机制,这就要求程序具有透明的、规范的表示。这种表示就是S-表达式。它们是Lisp提供的东西,比如宏,在编译时在程序上运行的代码,这在不将程序编码为数据结构的语言中几乎是不可能的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1517497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档