Re: Command Languages Versus Programming Languages

Liste des GroupesRevenir à cl misc 
Sujet : Re: Command Languages Versus Programming Languages
De : cross (at) *nospam* spitfire.i.gajendra.net (Dan Cross)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.misc
Date : 22. Nov 2024, 18:17:46
Autres entêtes
Organisation : PANIX Public Access Internet and UNIX, NYC
Message-ID : <vhqebq$c71$1@reader2.panix.com>
References : 1 2 3 4
User-Agent : trn 4.0-test77 (Sep 1, 2010)
In article <877c8vtgx6.fsf@doppelsaurus.mobileactivedefense.com>,
Rainer Weikusat  <rweikusat@talktalk.net> wrote:
cross@spitfire.i.gajendra.net (Dan Cross) writes:
Rainer Weikusat  <rweikusat@talktalk.net> wrote:
cross@spitfire.i.gajendra.net (Dan Cross) writes:
[snip]
It's also not exactly right.  `[0-9]+` would match one or more
characters; this possibly matches 0 (ie, if `p` pointed to
something that wasn't a digit).
>
The regex won't match any digits if there aren't any. In this case, the
match will fail. I didn't include the code for handling that because it
seemed pretty pointless for the example.
>
That's rather the point though, isn't it?  The program snippet
(modulo the promotion to signed int via the "usual arithmetic
conversions" before the subtraction and comparison giving you
unexpected values; nothing to do with whether `char` is signed
or not) is a snippet that advances a pointer while it points to
a digit, starting at the current pointer position; that is, it
just increments a pointer over a run of digits.
>
That's the core part of matching someting equivalent to the regex [0-9]+
and the only part of it is which is at least remotely interesting.

Not really, no.  The interesting thing in this case appears to
be knowing whether or not the match succeeded, but you omited
that part.

But that's not the same as a regex matcher, which has a semantic
notion of success or failure.  I could run your snippet against
a string such as, say, "ZZZZZZ" and it would "succeed" just as
it would against an empty string or a string of one or more
digits.
>
Why do you believe that p being equivalent to the starting position
would be considered a "successful match", considering that this
obviously doesn't make any sense?

Because absent any surrounding context, there's no indication
that the source is even saved.  You'll note that I did mention
that as a means to differentiate later on, but that's not the
snippet you posted.

[...]
>
By the way, something that _would_ match `^[0-9]+$` might be:
>
[too much code]
>
Something which would match [0-9]+ in its first argument (if any) would
be:
>
#include "string.h"
#include "stdlib.h"
>
int main(int argc, char **argv)
{
   char *p;
   unsigned c;
>
   p = argv[1];
   if (!p) exit(1);
   while (c = *p, c && c - '0' > 10) ++p;
   if (!c) exit(1);
   return 0;
}
>
but that's 14 lines of text, 13 of which have absolutely no relation to
the problem of recognizing a digit.

This is wrong in many ways.  Did you actually test that program?

First of all, why `"string.h"` and not `<string.h>`?  Ok, that's
not technically an error, but it's certainly unconventional, and
raises questions that are ultimately a distraction.

Second, suppose that `argc==0` (yes, this can happen under
POSIX).

Third, the loop: why `> 10`? Don't you mean `< 10`?  You are
trying to match digits, not non-digits.

Fourth, you exit with failure (`exit(1)`) if `!p` *and* if `!c`
at the end, but `!c` there means you've reached the end of the
string; which should be success.

Fifth and finally, you `return 0;` which is EXIT_SUCCESS, in the
failure case.

Compare:

#include <regex.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>

int
main(int argc, char *argv[])
{
regex_t reprog;
int ret;

if (argc != 2) {
fprintf(stderr, "Usage: regexp pattern\n");
return(EXIT_FAILURE);
}
(void)regcomp(&reprog, "^[0-9]+$", REG_EXTENDED | REG_NOSUB);
ret = regexec(&reprog, argv[1], 0, NULL, 0);
regfree(&reprog);

return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}

This is only marginally longer, but is correct.

- Dan C.


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