From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Data table text I/O package?
Date: Thu, 16 Jun 2005 16:51:37 +0200
Date: 2005-06-16T16:51:37+02:00 [thread overview]
Message-ID: <24xw0b1odenq.mogaaz1unwv0.dlg@40tude.net> (raw)
In-Reply-To: 42b17420$0$1141$9b4e6d93@newsread4.arcor-online.net
On Thu, 16 Jun 2005 16:46:39 +0200, Georg Bauhaus wrote:
> Dmitry A. Kazakov wrote:
>
>> There is a better technique to parse strings than to tokenize them first.
>> Get rid of scanner. Just take the date from the current position of the
>> string and advance the position to the first character following the date.
>> Because the procedure that gets the date knows the format it also knows
>> where the date ends. It can also support various concurrent formats,
>> provided that they are distinguishable. This way you can parse a string
>> virtually knowing nothing about the formats of its fields. An additional
>> advantage is that error messages (if it comes to a more advanced system)
>> will be pretty easy to generate.
>
> IIUC, what you describe is a (more binary) DTD, either language-standardised
> or proprietary.
>
> And also, what does the sentence "don't scan a string, and don't
> produce tokens, but advance [something] to the first character
> following the date that was taken[?] form the string" mean,
> other than a contradiction in terms?
Field_1 : Float;
Field_2 : Integer;
...
Line : String := ...; -- The current line
Pointer : Integer; -- The current position in Line
Pointer := Line'First;
Get (Line, Pointer, Delimiters); -- Skip blanks
Get (Line, Pointer, Field_1); -- Get field and move Pointer
Get (Line, Pointer, Delimiters); -- Skip blanks
Get (Line, Pointer, Field_2); -- Get field and move Pointer
...
etc
Quite trivial.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2005-06-16 14:51 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-15 9:57 Data table text I/O package? Jacob Sparre Andersen
2005-06-15 11:43 ` Preben Randhol
2005-06-15 13:35 ` Jacob Sparre Andersen
2005-06-15 14:12 ` Preben Randhol
2005-06-15 15:02 ` Jacob Sparre Andersen
2005-06-15 16:17 ` Preben Randhol
2005-06-15 16:58 ` Dmitry A. Kazakov
2005-06-15 17:30 ` Marius Amado Alves
2005-06-15 18:41 ` Dmitry A. Kazakov
2005-06-15 19:09 ` Marius Amado Alves
2005-06-15 18:58 ` Randy Brukardt
2005-06-16 9:55 ` Jacob Sparre Andersen
2005-06-16 10:53 ` Marius Amado Alves
2005-06-16 12:24 ` Robert A Duff
2005-06-16 14:01 ` Georg Bauhaus
2005-06-16 12:27 ` Dmitry A. Kazakov
2005-06-16 14:46 ` Georg Bauhaus
2005-06-16 14:51 ` Dmitry A. Kazakov [this message]
2005-06-20 11:19 ` Georg Bauhaus
2005-06-20 11:39 ` Dmitry A. Kazakov
2005-06-20 18:25 ` Georg Bauhaus
2005-06-20 18:45 ` Preben Randhol
2005-06-20 18:54 ` Dmitry A. Kazakov
2005-06-21 9:24 ` Georg Bauhaus
2005-06-21 9:52 ` Jacob Sparre Andersen
2005-06-21 11:10 ` Georg Bauhaus
2005-06-21 12:35 ` Jacob Sparre Andersen
2005-06-21 10:42 ` Dmitry A. Kazakov
2005-06-21 11:41 ` Georg Bauhaus
2005-06-21 12:44 ` Dmitry A. Kazakov
2005-06-21 21:01 ` Georg Bauhaus
2005-06-22 12:15 ` Dmitry A. Kazakov
2005-06-22 22:24 ` Georg Bauhaus
2005-06-23 9:03 ` Dmitry A. Kazakov
2005-06-23 9:47 ` Georg Bauhaus
2005-06-23 10:34 ` Dmitry A. Kazakov
2005-06-23 11:37 ` Georg Bauhaus
2005-06-23 12:59 ` Dmitry A. Kazakov
2005-06-23 14:16 ` Marc A. Criley
2005-06-25 16:38 ` Simon Wright
2005-06-16 13:26 ` Marius Amado Alves
2005-06-16 18:10 ` Georg Bauhaus
2005-06-30 3:02 ` Randy Brukardt
2005-06-30 18:43 ` Jacob Sparre Andersen
2005-07-01 1:22 ` Randy Brukardt
2005-07-01 3:01 ` Alexander E. Kopilovich
2005-07-01 5:59 ` Jeffrey Carter
2005-07-02 1:54 ` Randy Brukardt
2005-07-02 10:24 ` Dmitry A. Kazakov
2005-07-06 22:04 ` Randy Brukardt
2005-06-30 19:24 ` Björn Persson
2005-07-01 0:54 ` Randy Brukardt
2005-07-01 21:36 ` TSV and CSV Björn Persson
2005-07-01 22:08 ` Martin Dowie
2005-07-02 0:05 ` Georg Bauhaus
2005-07-02 1:10 ` Randy Brukardt
2005-07-02 1:20 ` Ed
2005-07-03 9:08 ` Georg Bauhaus
2005-07-02 0:07 ` Data table text I/O package? Georg Bauhaus
2005-07-02 1:21 ` Randy Brukardt
[not found] ` <20050615141236.GA90053@pvv.org>
2005-06-15 15:40 ` Marius Amado Alves
2005-06-15 19:18 ` Oliver Kellogg
2005-06-17 9:02 ` Jacob Sparre Andersen
[not found] ` <7adf1648bb99ca2bb4055ed8e6e381f4@netcabo.pt>
2005-06-15 15:46 ` Preben Randhol
[not found] ` <20050615154640.GA1921@pvv.org>
2005-06-15 16:14 ` Marius Amado Alves
[not found] ` <f04ccd7efd67fe197cc14cda89340779@netcabo.pt>
2005-06-15 16:20 ` Preben Randhol
2005-06-15 19:30 ` Simon Wright
2005-06-15 22:40 ` Lionel Draghi
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox