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


Groups > comp.lang.forth > #132435

Re: Parsing timestamps?

From dxf <dxforth@gmail.com>
Newsgroups comp.lang.forth
Subject Re: Parsing timestamps?
Date 2024-10-10 12:17 +1100
Organization i2pn2 (i2pn.org)
Message-ID <f1e4ee424c323c0feab4c5a1db761cb8cdad6461@i2pn2.org> (permalink)
References <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org> <72c9670d5935524d42be0ef5c6c48338@www.novabbs.com>

Show all headers | View raw


On 10/10/2024 2:27 am, alaa wrote:
> Hi,
> 
> here is another way, which was fun:
> 
> \
> https://www.novabbs.com/devel/article-flat.php?id=28040&group=comp.lang.forth#28040
> VOCABULARY timestamps-parser ALSO timestamps-parser DEFINITIONS
> 
> \ Idea: parse backward
> VARIABLE a VARIABLE n
> : >an n ! a ! ; : /an 0 a ! 0 n ! ;
> : ch ( -- c ) a @ n @ + 1- C@ ;
> : more? ( -- t/f ) n @ 0<> ;
> : ch+ ( -- ) more? NOT ABORT" exceeded string" -1 n +! ;
> : colon ( -- ) more? IF ch ':' <> ABORT" Expected colon!" ch+ THEN ;
> : d? ( c -- t/f ) '0' '9' 1+ WITHIN ;
> : digit? ( c -- t/f ) d? NOT ABORT" Expected a digit!" ;
> : d ( -- ) ch digit? ch 48 - ch+ ;
> : [d] ( -- n ) ch d? IF ch 48 - ch+ ELSE 0 THEN ;
> : hr ( -- n ) [d] [d] 10 * + ; : min ( -- n ) [d] [d] 10 * + ; : sec (
> -- n ) d [d] 10 * + ;
> : parse ( a n -- s m h ) >an sec colon min colon hr /an ;
> ...

Would be useful where extra checking of fields is required.  In that case
when ':' is detected, there ought to be at least one digit before it.

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


Thread

Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-06 18:51 +1100
  Re: Parsing timestamps? mhx@iae.nl (mhx) - 2024-10-06 08:59 +0000
    Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-06 23:58 +1100
      Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-07 02:34 +1100
        Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-07 23:53 +1100
  Re: Parsing timestamps? Ruvim <ruvim.pinka@gmail.com> - 2024-10-06 14:48 +0400
    Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-06 22:59 +1100
      Re: Parsing timestamps? Ruvim <ruvim.pinka@gmail.com> - 2024-10-06 17:22 +0400
        Re: Parsing timestamps? Ruvim <ruvim.pinka@gmail.com> - 2024-10-06 17:34 +0400
        Re: Parsing timestamps? Ruvim <ruvim.pinka@gmail.com> - 2024-10-06 20:15 +0400
  Re: Parsing timestamps? oh2aun@gmail.com (FFmike) - 2024-10-06 13:08 +0000
    Re: Parsing timestamps? oh2aun@gmail.com (FFmike) - 2024-10-06 13:33 +0000
      Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-07 13:10 +1100
        Re: Parsing timestamps? oh2aun@gmail.com (FFmike) - 2024-10-07 03:29 +0000
          Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-07 14:58 +1100
            Re: Parsing timestamps? oh2aun@gmail.com (FFmike) - 2024-10-07 05:23 +0000
  Re: Parsing timestamps? Anthony Howe <achowe@snert.com> - 2024-10-06 11:35 -0400
    Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-07 12:54 +1100
  Re: Parsing timestamps? albert@spenarnc.xs4all.nl - 2024-10-07 13:00 +0200
    Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-07 22:30 +1100
      Re: Parsing timestamps? sjack@dontemail.me (sjack) - 2024-10-07 16:20 +0000
        Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-08 14:07 +1100
          Re: Parsing timestamps? melahi_ahmed@yahoo.fr (Ahmed) - 2024-10-08 06:08 +0000
            Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-08 18:33 +1100
            Re: Parsing timestamps? sjack@dontemail.me (sjack) - 2024-10-08 15:19 +0000
          Re: Parsing timestamps? sjack@dontemail.me (sjack) - 2024-10-08 20:30 +0000
            Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-09 12:06 +1100
  Re: Parsing timestamps? albert@spenarnc.xs4all.nl - 2024-10-08 09:41 +0200
    Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-08 19:55 +1100
      Re: Parsing timestamps? melahi_ahmed@yahoo.fr (Ahmed) - 2024-10-08 18:12 +0000
  Re: Parsing timestamps? amalawi@gmail.com (alaa) - 2024-10-09 15:27 +0000
    Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-10 12:17 +1100
      Re: Parsing timestamps? amalawi@gmail.com (alaa) - 2024-10-10 16:30 +0000
    Re: Parsing timestamps? Hans Bezemer <the.beez.speaks@gmail.com> - 2024-10-16 18:29 +0200
  Re: Parsing timestamps? Gerry Jackson <do-not-use@swldwa.uk> - 2024-10-18 15:46 +0100
    Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-19 12:29 +1100
      Re: Parsing timestamps? Hans Bezemer <the.beez.speaks@gmail.com> - 2024-10-28 18:07 +0100
        Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-29 20:25 +1100
          Re: Parsing timestamps? Hans Bezemer <the.beez.speaks@gmail.com> - 2024-10-29 14:45 +0100
            Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-30 11:31 +1100
              Re: Parsing timestamps? Hans Bezemer <the.beez.speaks@gmail.com> - 2024-10-30 09:37 +0100
                Re: Parsing timestamps? dxf <dxforth@gmail.com> - 2024-10-31 11:41 +1100

csiph-web