0

In the book "Types and Programming Languages" Benjamin C. Pierce uses the concept/term syntactic form (see image) , however he does not give an explicit definition for it. I was trying to look for the definition of this term on the Internet but I found nothing illuminating.

Could somebody point out some reference (book) where this term is defined , or give the definition for it?

Is a sentence defined by the grammar a syntactic form ?

In what other books is the term syntactic form used ?

Is syntactic form the same as term (defined on page 24) ? If not, what is the difference between these two concepts.

enter image description here

enter image description here

jhegedus
  • 20,244
  • 16
  • 99
  • 167

2 Answers2

1

You're probably over-thinking this; the language isn't really intended to be precise. (The grammar for t, on the other hand, is meant to be precise.) I'm not even sure how I would say that -- I think I would have said "syntactic construct" or "syntactic rule" --; he means that all you need to know about the language can be summarized in the recognition of a handful of patterns (which he then lists).

If the book were about formal language theory, the more precise description would probably be "production" (really, the right-hand side of the production) or possibly "AST node", although I'd view an AST node as being a semantic unit derived from the syntax.

Since this is a book about semantics, he will proceed to apply semantics to each syntagma (to use a word for the concept which sounds like it should be more formal).

rici
  • 234,347
  • 28
  • 237
  • 341
  • Thank you very much for the comment. This book seems to be really precise, so I was thinking that "syntactic form" is also some kind of precise/well defined/commonly used technical term which I do not understand. – jhegedus Nov 12 '14 at 17:38
  • It seems however that the term "syntactic form" originates from natural language theory. It is used for example in this article : http://en.m.wikipedia.org/wiki/Clause – jhegedus Nov 12 '14 at 19:12
  • 1
    @jhegedus: It's certainly a phrase that gets used from time to time, and often by human-language linguists. But (having myself been trained in that field, many many years ago), I still claim that it is simply a description, as opposed to a mathematically-defined formalism. According to wiktionary, the first acceptation of "form" is "The shape or visible structure of a thing or person," and I think that's the usage here: the shape or visible structure of a recognizable syntactic unit. Syntax can be formalised: that's what Chomsky did, but with different terminology. – rici Nov 12 '14 at 19:26
1

"In computer science, the syntax of a computer language is the set of rules that defines the combinations of symbols that are considered to be a correctly structured document or fragment in that language." -Wikipedia.

So syntactic form, in this case, is the forms that C allows it's symbols to take. For instance, in a language like Scheme, you'd have #t and #f for true or false, where in C you represent these as true and false. Some languages allow you to use 1 and 0 as true and false. The values can differ greatly depending on the language you're using. So for C, you're looking at how C represents it's functionality. Of course it's not just limited to true and false. Things like how you represent an integer, or a function apply as well. Basically how you represent anything in C applies to "syntactic form".