You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Procedure calls can generally be distinguished from these special forms by looking for a syntactic keyword in the first position of an form: if the first position does not contain a syntactic keyword, the expression is a procedure call. (1.7 Procedure calls and syntactic keywords)
这三个术语很大程度上是相关联的,因此我放在一个 issue 里面讨论了。
syntax
syntax
一词,目前的术语表中给出的译法是“句法”,这是一个正确的译法,但不是一个合适的译法。syntax
一词,在程序设计语言领域译作“语法”由来已久,可以说是一种俗成约定了。比如,parser
就是依照一定的规则(产生式),划分出句子间的不同组分以及他们的相互关系,从这个角度上来说,parser
就是syntax
范畴的东西,而parser
却通常译作语法解析器,而非 句法解析器。我认为在这个层面上,我们应该遵循传统。syntax
一词,在 Chez Scheme 手册中,经常也以下面的方式出现:(fluid-let-syntax ((keyword expr) ...) form1 form2 ...)
(chezscheme)
这时候,译为“句法“有一种很“突兀”的感觉。
form
在 R6RS 报告中,它有两个出处:
可以看出①
form
是一个更广义的概念;② 跟过程调用对位的是**特殊形式(special form)**这种说法。因此,术语表中提到的 句法/语法形式 或者 特殊形式 的译法,我认为都是恰当的;但在相关文献中,特殊形式出现得更多一点。See also:派生形式
body
这个词儿的具体译名,我拿得不是很准:
<body>
这个语法记号,因此也不适宜保留<body>
这样的形式;The text was updated successfully, but these errors were encountered: