Related articles |
---|
From: | anton@mips.complang.tuwien.ac.at |
Newsgroups: | comp.compilers |
Date: | Tue, 11 Jun 2024 07:57:46 +0000 |
Organization: | Compilers Central |
References: | 24-06-003 24-06-005 |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="19371"; mail-complaints-to="abuse@iecc.com" |
Keywords: | parse, types |
Posted-Date: | 11 Jun 2024 08:08:38 EDT |
John Levine:
>[I had two other thoughts. One was that you can tell C was written when
>parsing was still hard enough that you didn't want to bulk the parsers
>up with semantic stuff.
To me it looks the other way 'round: syntax specification formalisms
such as BNF inspired programming language designers to put a lot of
stuff in syntax, because that was formal. E.g., Algol 60
differentiates between booleans and other values on the syntax level.
Algol 68 introduced Van Wijngaarden grammars to specify the type
system and the syntax in one syntactic formalism.
Other, later languages have reduced the scope of syntax (often only
slightly), and specify the type system as a separate entity.
Interestingly, I am not aware of a widely successful formalism for
type systems, even though many programming languages specify static
type systems and their implementations have to perform static type
checking (plus there is also dynamic type checking).
>The other was that in the languages where it is
>hard to write a valid program, how much more likely is it that the program
>actually works once you get it to compile? -John]
That is the promise of programming langauges that make it hard to get
a program to compile: get it to compile, and it is usually correct. I
am not aware of any empirical evidence that supports this promise.
- anton
--
M. Anton Ertl
anton@mips.complang.tuwien.ac.at
http://www.complang.tuwien.ac.at/anton/
Return to the
comp.compilers page.
Search the
comp.compilers archives again.