Re: Command Languages Versus Programming Languages

Liste des GroupesRevenir à l misc 
Sujet : Re: Command Languages Versus Programming Languages
De : rweikusat (at) *nospam* talktalk.net (Rainer Weikusat)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.misc
Date : 13. Oct 2024, 21:25:51
Autres entêtes
Message-ID : <878quryckw.fsf@doppelsaurus.mobileactivedefense.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Christian Weisgerber <naddy@mips.inka.de> writes:
On 2024-10-12, Rainer Weikusat <rweikusat@talktalk.net> wrote:
Indeed. As far as I know the term, an interpreter is something which
reads text from a file, parses it an checks it for syntax errors
and then executes the code as soon as enough of it has been gathered to
allow for execution of something, ie, a complete statement. This read,
check and parse, execute cycle is repeated until the program
terminates.
>
I don't really want to participate in this discussion, but what
you're saying there is that all those 1980s home computer BASIC
interpreters, which read and tokenized a program before execution,
were actually compilers.

If they contained something which compiled all of the source code prior
to execution in order to transform it some actually executable
intermediate representation whose execution didn't require future access
to the source code and thus, also didn't include checking the source
code for syntactical correctness, this something can be called a
compiler and the execution engine some sort of virtual machine which
could principally execute programs compiled from source code in any
programming language.

But judging from Wikipedia, Murkysoft Basic stored programs as linked
list of preprocessed lines and interpreted these, ie, doing string
lookups of keywords from the source code at run time in order to
determine what code to execute. Insofar I vaguely remember this from
Apple //c BASIC (has been a while) syntax errors would also be found at
runtime, ie, once execution reached the line with the error. This would
make it an interpreter.

In constrast to this, this somewhat amusing small Perl program:

while (<>) {
    while (length) {
        s/^(\w+)// and print(scalar reverse($1));
        s/^(\W+)// and print($1);
    }
}

[reads lines from stdin and prints them with each word reversed]

gets translated into an op tree whose textual representation (perl
-MO=Concise,-basic)  looks like
this:

y  <@> leave[1 ref] vKP/REFC ->(end)
1     <0> enter v ->2
2     <;> nextstate(main 1 a.pl:1) v:{ ->3
x     <2> leaveloop vKP/2 ->y
3        <{> enterloop(next->r last->x redo->4) v ->s
-        <1> null vK/1 ->x
w           <|> and(other->4) vK/1 ->x
v              <1> defined sK/1 ->w
-                 <1> null sK/2 ->v
-                    <1> ex-rv2sv sKRM*/1 ->t
s                       <#> gvsv[*_] s ->t
u                    <1> readline[t2] sKS/1 ->v
t                       <#> gv[*ARGV] s ->u
-              <@> lineseq vKP ->-
4                 <;> nextstate(main 3 a.pl:2) v:{ ->5
q                 <2> leaveloop vKP/2 ->r
5                    <{> enterloop(next->m last->q redo->6) v ->n
-                    <1> null vK/1 ->q
p                       <|> and(other->6) vK/1 ->q
o                          <1> length[t4] sK/BOOL,1 ->p
-                             <1> ex-rv2sv sK/1 ->o
n                                <#> gvsv[*_] s ->o
-                          <@> lineseq vKP ->-
6                             <;> nextstate(main 5 a.pl:3) v:{ ->7
-                             <1> null vK/1 ->f
9                                <|> and(other->a) vK/1 ->f
8                                   </> subst(/"^(\w+)"/) sK/BOOL ->9
7                                      <$> const[PV ""] s ->8
e                                   <@> print vK ->f
a                                      <0> pushmark s ->b
-                                      <1> scalar sK/1 ->e
d                                         <@> reverse[t6] sK/1 ->e
b                                            <0> pushmark s ->c
-                                            <1> ex-rv2sv sK/1 ->d
c                                               <#> gvsv[*1] s ->d
f                             <;> nextstate(main 5 a.pl:4) v:{ ->g
-                             <1> null vK/1 ->m
i                                <|> and(other->j) vK/1 ->m
h                                   </> subst(/"^(\W+)"/) sK/BOOL ->i
g                                      <$> const[PV ""] s ->h
l                                   <@> print vK ->m
j                                      <0> pushmark s ->k
-                                      <1> ex-rv2sv sK/1 ->l
k                                         <#> gvsv[*1] s ->l
m                             <0> unstack v ->n
r                 <0> unstack v ->s

Each line represents a node on this tree and the names refer to builtin
'ops'. In the actual tree, they're pointers to C functions and execution
happens as preorder traversal of this tree and invoking the op functions
from the leaves to root to produce the arguments necessary for invoking
op functions residing at a higher level in this tree.

Modules for writing this internal representation to a file and loading
it back from there and even for translating it into C exist. They're
just not part of the core distribution anymore.

Date Sujet#  Auteur
30 Sep 24 * Re: Command Languages Versus Programming Languages169Bozo User
30 Sep 24 +* Re: Command Languages Versus Programming Languages5Lawrence D'Oliveiro
1 Oct 24 i`* Re: Command Languages Versus Programming Languages4usuario
2 Oct 24 i `* Re: Command Languages Versus Programming Languages3Muttley
2 Oct 24 i  `* Re: Command Languages Versus Programming Languages2usuario
2 Oct 24 i   `- Re: Command Languages Versus Programming Languages1Muttley
9 Oct 24 `* Re: Command Languages Versus Programming Languages163Rainer Weikusat
10 Oct 24  `* Re: Command Languages Versus Programming Languages162Muttley
10 Oct 24   +* Re: Command Languages Versus Programming Languages80Rainer Weikusat
10 Oct 24   i+* Re: Command Languages Versus Programming Languages69Muttley
10 Oct 24   ii+* Re: Command Languages Versus Programming Languages67Rainer Weikusat
10 Oct 24   iii+* Re: Command Languages Versus Programming Languages62Kaz Kylheku
10 Oct 24   iiii`* Re: Command Languages Versus Programming Languages61Rainer Weikusat
11 Oct 24   iiii `* Re: Command Languages Versus Programming Languages60Bart
11 Oct 24   iiii  `* Re: Command Languages Versus Programming Languages59Rainer Weikusat
11 Oct 24   iiii   `* Re: Command Languages Versus Programming Languages58Muttley
11 Oct 24   iiii    +* Re: Command Languages Versus Programming Languages45Dan Cross
11 Oct 24   iiii    i`* Re: Command Languages Versus Programming Languages44Muttley
11 Oct 24   iiii    i +* Re: Command Languages Versus Programming Languages40Dan Cross
12 Oct 24   iiii    i i`* Re: Command Languages Versus Programming Languages39Muttley
12 Oct 24   iiii    i i `* Re: Command Languages Versus Programming Languages38Dan Cross
12 Oct 24   iiii    i i  `* Re: Command Languages Versus Programming Languages37Muttley
12 Oct 24   iiii    i i   +- Re: Command Languages Versus Programming Languages1Muttley
12 Oct 24   iiii    i i   `* Re: Command Languages Versus Programming Languages35Dan Cross
13 Oct 24   iiii    i i    `* Re: Command Languages Versus Programming Languages34Muttley
13 Oct 24   iiii    i i     `* Re: Command Languages Versus Programming Languages33Dan Cross
13 Oct 24   iiii    i i      +* Re: Command Languages Versus Programming Languages27Muttley
13 Oct 24   iiii    i i      i+- Re: Command Languages Versus Programming Languages1Janis Papanagnou
13 Oct 24   iiii    i i      i+* Re: Command Languages Versus Programming Languages24Dan Cross
13 Oct 24   iiii    i i      ii`* Re: Command Languages Versus Programming Languages23Muttley
13 Oct 24   iiii    i i      ii +* Re: Command Languages Versus Programming Languages12Janis Papanagnou
13 Oct 24   iiii    i i      ii i+* Re: Command Languages Versus Programming Languages4Lawrence D'Oliveiro
14 Oct 24   iiii    i i      ii ii`* Re: Command Languages Versus Programming Languages3Janis Papanagnou
14 Oct 24   iiii    i i      ii ii `* Re: Command Languages Versus Programming Languages2Lawrence D'Oliveiro
14 Oct 24   iiii    i i      ii ii  `- Re: Command Languages Versus Programming Languages1Janis Papanagnou
14 Oct 24   iiii    i i      ii i`* Re: Command Languages Versus Programming Languages7Muttley
14 Oct 24   iiii    i i      ii i +- Re: Command Languages Versus Programming Languages1Janis Papanagnou
14 Oct 24   iiii    i i      ii i +- Re: Command Languages Versus Programming Languages1Muttley
14 Oct 24   iiii    i i      ii i +* Re: Command Languages Versus Programming Languages3Bart
15 Oct 24   iiii    i i      ii i i+- Re: Command Languages Versus Programming Languages1David Brown
15 Oct 24   iiii    i i      ii i i`- Re: Command Languages Versus Programming Languages1Dan Cross
14 Oct 24   iiii    i i      ii i `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      ii +* Re: Command Languages Versus Programming Languages9Dan Cross
14 Oct 24   iiii    i i      ii i`* Re: Command Languages Versus Programming Languages8Muttley
14 Oct 24   iiii    i i      ii i `* Re: Command Languages Versus Programming Languages7Dan Cross
14 Oct 24   iiii    i i      ii i  +* Re: Command Languages Versus Programming Languages5Muttley
14 Oct 24   iiii    i i      ii i  i+* Re: Command Languages Versus Programming Languages2David Brown
14 Oct 24   iiii    i i      ii i  ii`- Re: Command Languages Versus Programming Languages1Janis Papanagnou
14 Oct 24   iiii    i i      ii i  i+- Re: Command Languages Versus Programming Languages1Janis Papanagnou
14 Oct 24   iiii    i i      ii i  i`- Re: Command Languages Versus Programming Languages1Dan Cross
14 Oct 24   iiii    i i      ii i  `- Re: Command Languages Versus Programming Languages1Stefan Ram
13 Oct 24   iiii    i i      ii `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      i`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      `* Re: Command Languages Versus Programming Languages5Dan Cross
13 Oct 24   iiii    i i       `* Re: Command Languages Versus Programming Languages4Bart
13 Oct 24   iiii    i i        `* Re: Command Languages Versus Programming Languages3Dan Cross
14 Oct 24   iiii    i i         `* Re: Command Languages Versus Programming Languages2Bart
14 Oct 24   iiii    i i          `- Re: On overly rigid definitions (was Re: Command Languages Versus Programming Languages)1Dan Cross
13 Oct 24   iiii    i `* Re: Command Languages Versus Programming Languages3Kaz Kylheku
13 Oct 24   iiii    i  +- Re: Command Languages Versus Programming Languages1Bart
13 Oct 24   iiii    i  `- Re: Command Languages Versus Programming Languages1Dan Cross
11 Oct 24   iiii    +* Re: Command Languages Versus Programming Languages2Rainer Weikusat
12 Oct 24   iiii    i`- Re: Command Languages Versus Programming Languages1Muttley
11 Oct 24   iiii    `* Re: Command Languages Versus Programming Languages10Lawrence D'Oliveiro
12 Oct 24   iiii     `* Re: Command Languages Versus Programming Languages9Muttley
12 Oct 24   iiii      +* Re: Command Languages Versus Programming Languages5Rainer Weikusat
12 Oct 24   iiii      i+* Re: Command Languages Versus Programming Languages3Christian Weisgerber
13 Oct 24   iiii      ii+- Re: Command Languages Versus Programming Languages1Muttley
13 Oct 24   iiii      ii`- Re: Command Languages Versus Programming Languages1Rainer Weikusat
12 Oct 24   iiii      i`- Re: Command Languages Versus Programming Languages1Bart
12 Oct 24   iiii      `* Re: Command Languages Versus Programming Languages3Lawrence D'Oliveiro
13 Oct 24   iiii       `* Re: Command Languages Versus Programming Languages2Muttley
13 Oct 24   iiii        `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
11 Oct 24   iii+* Re: Command Languages Versus Programming Languages2Bart
11 Oct 24   iiii`- Re: Command Languages Versus Programming Languages1Rainer Weikusat
11 Oct 24   iii`* Re: Command Languages Versus Programming Languages2Muttley
11 Oct 24   iii `- Re: Command Languages Versus Programming Languages1Rainer Weikusat
11 Oct 24   ii`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
12 Oct 24   i`* Re: Command Languages Versus Programming Languages10Eric Pozharski
13 Oct 24   i `* Re: Command Languages Versus Programming Languages9Muttley
13 Oct 24   i  +- Re: Command Languages Versus Programming Languages1Janis Papanagnou
13 Oct 24   i  +* Re: Command Languages Versus Programming Languages6Rainer Weikusat
14 Oct 24   i  i`* Re: Command Languages Versus Programming Languages5Muttley
14 Oct 24   i  i `* Re: Command Languages Versus Programming Languages4Rainer Weikusat
14 Oct 24   i  i  `* Re: Command Languages Versus Programming Languages3Muttley
14 Oct 24   i  i   `* Re: Command Languages Versus Programming Languages2Rainer Weikusat
14 Oct 24   i  i    `- Re: Command Languages Versus Programming Languages1Muttley
13 Oct 24   i  `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
11 Nov 24   `* Re: Command Languages Versus Programming Languages81Sebastian
11 Nov 24    +* Re: Command Languages Versus Programming Languages14Muttley
11 Nov 24    i+* Re: Command Languages Versus Programming Languages2Wolfgang Agnes
11 Nov 24    ii`- Re: Command Languages Versus Programming Languages1Muttley
11 Nov 24    i+- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
12 Nov 24    i`* Re: Command Languages Versus Programming Languages10Janis Papanagnou
12 Nov 24    i `* Re: Command Languages Versus Programming Languages9Muttley
12 Nov 24    i  +* Re: Command Languages Versus Programming Languages7Janis Papanagnou
12 Nov 24    i  i`* Re: Command Languages Versus Programming Languages6Muttley
12 Nov 24    i  i `* Re: Command Languages Versus Programming Languages5Janis Papanagnou
12 Nov 24    i  i  +* Re: Command Languages Versus Programming Languages3Bart
12 Nov 24    i  i  i`* Re: Command Languages Versus Programming Languages2Lawrence D'Oliveiro
12 Nov 24    i  i  i `- Re: Command Languages Versus Programming Languages1Bart
12 Nov 24    i  i  `- Re: Command Languages Versus Programming Languages1Muttley
12 Nov 24    i  `- Re: Command Languages Versus Programming Languages1Wolfgang Agnes
11 Nov 24    `* Re: Command Languages Versus Programming Languages66Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal