Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #120515
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Lexical Elements |
| Date | 2017-09-28 18:39 -0700 |
| Organization | None to speak of |
| Message-ID | <lning2uvtc.fsf@kst-u.example.com> (permalink) |
| References | (3 earlier) <e1753783-684f-45a1-8600-e0230fa9ba81@googlegroups.com> <lnmv5eyh4k.fsf@kst-u.example.com> <d7b80520-7c0a-461f-99db-1b58dac1ee15@googlegroups.com> <lnk20iwr59.fsf@kst-u.example.com> <d1352da5-c14d-445d-953a-b623686873f2@googlegroups.com> |
David Kleinecke <dkleinecke@gmail.com> writes:
> On Thursday, September 28, 2017 at 12:38:02 PM UTC-7, Keith Thompson wrote:
>>
>> A compiler typically treats syntax and semantics separately. Syntactic
>> analysis, or parsing, is often semi-automated, with the parser generated
>> programatically from a forma grammar -- or it might be written manually.
>> If parsing fails, that's a syntax error. Other errors, like trying to
>> apply a shift operator to a pointer value, have to be detected during
>> semantic analysis. As far as typical compiler internals are concerned,
>> they're fundamentally different kinds of errors. Tweaking the grammar
>> to treat some syntax errors as semantic errors can enable better
>> diagnostics in some csaes.
>
> My compilers also treat syntax and semantics separately. The
> question is whether the constraints are part of syntax or part
> of semantics.
Semantics, I'd say.
> You imply that some are and some aren't.
Did I?
> Quite possible
> although I have no examples. I have concluded that what
> I called the spirit of C expects them with the syntax but
> I had them coded with the semantics. I have only begun
> moving the constraints and haven't yet found any that
> don't fit rather easily into the syntax.
I suspect I really don't undrestand what you're saying.
Here's an example. C11 6.8.4.2p1 specifies the following constraint:
The controlling expression of a switch statement shall have integer
type.
Unless you extend the meaning of "syntax" beyond (my) recognition, you
won't be able to enforce that constraint using only syntax information.
Roughly, a syntax error is a failure to parse the source code in
accordance with a grammar that can be defined, for example, in BNF
(Backus-Naur Form). (C's treatment of typedefs punches a small hole in
this model.) Any errors that are not syntax errors are what I think of
as semantic errors. In C, this is more or less expressed as syntax
rules vs. constraints.
[...]
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-27 19:03 -0700
Re: Lexical Elements "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-09-28 05:33 +0200
Re: Lexical Elements James Kuyper <jameskuyper@verizon.net> - 2017-09-28 00:19 -0400
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-27 22:09 -0700
Re: Lexical Elements Keith Thompson <kst-u@mib.org> - 2017-09-28 08:31 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 11:53 -0700
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-28 12:16 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 15:51 -0700
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-28 16:42 -0700
Re: Lexical Elements Keith Thompson <kst-u@mib.org> - 2017-09-28 12:37 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 16:16 -0700
Re: Lexical Elements Keith Thompson <kst-u@mib.org> - 2017-09-28 18:39 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 19:47 -0700
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-28 20:29 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 22:36 -0700
Re: Lexical Elements Keith Thompson <kst-u@mib.org> - 2017-09-29 08:47 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-29 11:23 -0700
Re: Lexical Elements Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-29 18:27 +0100
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-28 09:13 -0700
Re: Lexical Elements Richard Damon <Richard@Damon-Family.org> - 2017-09-28 08:15 -0400
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-27 21:03 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-27 22:16 -0700
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-28 09:45 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 11:58 -0700
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-28 12:29 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 15:52 -0700
Re: Lexical Elements Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-09-28 17:40 -0600
Re: Lexical Elements jameskuyper@verizon.net - 2017-09-28 16:54 -0700
Re: Lexical Elements Keith Thompson <kst-u@mib.org> - 2017-09-28 12:40 -0700
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 16:12 -0700
Re: Lexical Elements bartc <bc@freeuk.com> - 2017-09-28 21:04 +0100
Re: Lexical Elements bartc <bc@freeuk.com> - 2017-09-28 22:12 +0100
Re: Lexical Elements David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 16:15 -0700
Re: Lexical Elements bartc <bc@freeuk.com> - 2017-09-29 01:19 +0100
csiph-web