Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #3186

Re: What attributes of a programming language simplify its implementation?

Path csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end
From "Robin Vowels" <robin51@dodo.com.au>
Newsgroups comp.compilers
Subject Re: What attributes of a programming language simplify its implementation?
Date Mon, 3 Oct 2022 12:34:14 +1100
Organization Compilers Central
Lines 64
Sender news@iecc.com
Approved comp.compilers@iecc.com
Message-ID <22-10-012@comp.compilers> (permalink)
References <22-09-026@comp.compilers> <22-10-002@comp.compilers> <22-10-004@comp.compilers>
Mime-Version 1.0
Content-Type text/plain; format=flowed; charset="utf-8"; reply-type=original
Content-Transfer-Encoding 8bit
Injection-Info gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="242"; mail-complaints-to="abuse@iecc.com"
Keywords PL/I, history, comment
Posted-Date 02 Oct 2022 21:56:32 EDT
X-submission-address compilers@iecc.com
X-moderator-address compilers-request@iecc.com
X-FAQ-and-archives http://compilers.iecc.com
Xref csiph.com comp.compilers:3186

Show key headers only | View raw


From: "gah4" <gah4@u.washington.edu>
Sent: Sunday, October 02, 2022 11:05 AM


> On the other hand, PL/I is pretty good at allowing things, even if
> there isn't much reason.  I did this one in high school, not knowing
> if it would actually work:
>
> DCL (I, J, K, L) CHAR(100);
> J='1';
> K='100';
> L='1';
> DO I=J TO K BY L;
>   PUT LIST(I, SQRT(I));
> END;
>
> I suspect no designers of PL/I ever expected someone to try it,
> but the ability is there, and compilers do it.
>
> Now, it turns out that you have to add a few blanks to K, as the
> loop comparison is done as a string compare.  (I didn't guess
> that until finding that the loop didn't end.)
>
> C lets you do some things that it probably shouldn't, though.
>
> Unlike many languages, the whole definition of PL/I was written
> before writing the first compiler.

That's not true. The preprocessor was designed after the first
release. As well as that, some features of output were designed after
the first release.

>  (Not that all features were implemented in the first compiler.)
> [PL/I was a remarkably good language considering what a rush job it was but
> it has plenty of odd things, e.g.
>
> DCL (I, J, K) CHAR(3);
> I = 1;
> J = 2;
> K = I+J;

This will not work either.
In the first place, the lengths of the strings are too small to accommodate
the converted integer constants, 1 and 2.  The STRINGSIZE condition is raised
at run-time.
In the second place, the length of K is too short to accommodate
the sum of I and J.
In the third place, the STRINGSIZE condition is raised at run-time
for the assignments to I, J, and K.
Apart from that, the compiler gives compile-time messages that,
in each of the three assignments, the string variables are too short to
accommodate the values that are to be assigned to them.

> What does K contain?  Nope, it contains three spaces because the 1 and 2
> are converted to '  1' and '  2', they're converted back to integer,
> added, converted back to to a default size integer string
> like '     3' and string assignment truncates from the right. -John]

Again, not quite. Even if such a program were allowed to run,
the STRINGSIZE condition is raised. What happens after that depends on
what the programmer does to handle the condition.
[The IBM manuals say that STRINGSIZE is normally disabled.  So you
can check for truncation if you want, but by default it won't
and you'll get the three spaces. -John]

Back to comp.compilers | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

What attributes of a programming language simplify its implementation? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-09-30 12:46 +0100
  Re: What attributes of a programming language simplify its implementation? Martin Ward <martin@gkc.org.uk> - 2022-10-01 15:56 +0100
    Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-10-01 17:05 -0700
      Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-10-02 00:11 -0700
      Re: What attributes of a programming language simplify its implementation? "Robin Vowels" <robin51@dodo.com.au> - 2022-10-03 12:34 +1100
        Re: What attributes of a programming language simplify its implementation? robin51@dodo.com.au - 2022-10-03 15:59 +1100
          Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-10-03 12:28 -0700
    Re: What attributes of a programming language simplify its implementation? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-10-02 01:21 +0100
  Re: What attributes of a programming language simplify its implementation? Thomas Koenig <tkoenig@netcologne.de> - 2022-10-08 22:44 +0000
    Re: What attributes of a programming language simplify its implementation? "minf...@arcor.de" <minforth@arcor.de> - 2022-11-14 05:14 -0800
      Re: What attributes of a programming language simplify its implementation? gah4 <gah4@u.washington.edu> - 2022-11-15 06:09 -0800
    RE: Re: What attributes of a programming language simplify its implementation? Roger L Costello <costello@mitre.org> - 2022-11-15 11:52 +0000
      Re: Re: What attributes of a programming language simplify its implementation? <minforth@arcor.de> - 2022-11-15 09:48 -0800
        Re: Re: What attributes of a programming language simplify its implementation? RPN? gah4 <gah4@u.washington.edu> - 2022-11-15 16:11 -0800
          Re: Re: What attributes of a programming language simplify its implementation? RPN? "minf...@arcor.de" <minforth@arcor.de> - 2022-11-16 04:54 -0800
            Re: Re: What attributes of a programming language simplify its implementation? RPN? "minf...@arcor.de" <minforth@arcor.de> - 2022-11-16 05:39 -0800
          Re: Re: What attributes of a programming language simplify its implementation? RPN? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2022-11-16 18:12 +0000

csiph-web