From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada standard and maximum line lengths
Date: Thu, 31 Jan 2013 17:54:43 -0600
Date: 2013-01-31T17:54:43-06:00 [thread overview]
Message-ID: <kef08a$6om$1@munin.nbi.dk> (raw)
In-Reply-To: wccwquucd1x.fsf@shell01.TheWorld.com
"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
news:wccwquucd1x.fsf@shell01.TheWorld.com...
...
>>...but I still
>> wouldn't like wasting significant amounts of memory (line/position
>> information being stored in almost every symbol table entry) to carry
>> almost
>> no information.
>
> There are various ways to store line/column numbers compactly without
> limiting line lengths.
Really? Do tell! I know of no such technique that still would be usable
(meaning does not involve indirection, which would add complication and
fragmentation issues, and can be used at any time without calculation,
because you don't know ahead of time when and where you'll need to generate
error messages, debugging information, and traces). If you're not willing to
waste space, you have to limit the size to 24-bits (maybe 32-bits at the
outside); you might be able to use a couple of bits to control the divide
between line numbers and positions, but really long line at the end of a
really long file couldn't be handled (you'd run out of bits). For 24-bits,
it's not worth it, and even using 32 you might as well just use a 10-bit
position number and be done with it. If you only needed relative encoding,
you could store the change from the last item in each time (limited to a
small number of bits); that might work in the token stream [not the way we
use it, but that's a different issue], but it wouldn't work in the symbol
table or debugging information.
Janus/Ada has line number and line position types declared in the Host
package; these can be adjusted of course but we do the Ada thing and use
strong typing so that someone doesn't use a line number as if it is a type
handle. [Someone, ahem, has done that in the past.] So the storage options
are limited.
Randy.
next prev parent reply other threads:[~2013-01-31 23:54 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-28 5:02 Ada standard and maximum line lengths Lucretia
2013-01-28 6:01 ` J-P. Rosen
2013-01-28 6:28 ` Jeffrey Carter
2013-01-28 8:05 ` Niklas Holsti
2013-01-28 16:42 ` Jeffrey Carter
2013-01-28 20:22 ` Niklas Holsti
2013-01-28 20:46 ` J-P. Rosen
2013-01-28 21:29 ` Niklas Holsti
2013-01-29 1:42 ` Randy Brukardt
2013-01-29 6:15 ` J-P. Rosen
2013-01-29 10:25 ` Niklas Holsti
2013-01-29 11:31 ` Georg Bauhaus
2013-01-29 12:11 ` Simon Wright
2013-01-29 12:31 ` Niklas Holsti
2013-01-29 12:37 ` Niklas Holsti
2013-01-29 15:29 ` Georg Bauhaus
2013-01-29 16:58 ` Niklas Holsti
2013-01-29 17:51 ` Georg Bauhaus
2013-01-29 18:18 ` Shark8
2013-01-29 19:54 ` Niklas Holsti
2013-01-29 23:12 ` Georg Bauhaus
2013-01-30 9:18 ` Niklas Holsti
2013-01-30 9:51 ` Simon Wright
2013-01-30 15:28 ` Robert A Duff
2013-01-30 23:24 ` Randy Brukardt
2013-01-31 2:16 ` Robert A Duff
2013-01-31 9:10 ` Stefan.Lucks
2013-01-31 9:30 ` Niklas Holsti
2013-01-31 9:51 ` Simon Wright
2013-01-31 10:56 ` Georg Bauhaus
2013-01-31 18:02 ` Jeffrey Carter
2013-01-31 23:54 ` Randy Brukardt [this message]
2013-02-01 9:15 ` Niklas Holsti
2013-02-01 23:13 ` Randy Brukardt
2013-02-02 1:24 ` Lucretia
2013-02-02 14:12 ` Robert A Duff
2013-02-05 2:09 ` Randy Brukardt
2013-01-31 9:03 ` Dmitry A. Kazakov
2013-01-30 9:37 ` Simon Wright
2013-01-30 12:02 ` Georg Bauhaus
2013-01-29 23:47 ` Jeffrey Carter
2013-01-30 7:24 ` Niklas Holsti
2013-01-30 10:09 ` J-P. Rosen
2013-01-29 20:36 ` Niklas Holsti
2013-01-29 21:01 ` Robert A Duff
2013-01-29 21:14 ` Dmitry A. Kazakov
2013-01-28 8:18 ` Dmitry A. Kazakov
2013-01-28 10:02 ` Maciej Sobczak
2013-01-28 11:57 ` Georg Bauhaus
2013-01-28 13:28 ` Niklas Holsti
2013-01-28 15:14 ` J-P. Rosen
2013-01-28 16:13 ` Dmitry A. Kazakov
2013-01-28 15:13 ` Dmitry A. Kazakov
2013-01-28 13:49 ` Robert A Duff
2013-01-29 2:09 ` Randy Brukardt
2013-01-29 18:46 ` Lucretia
2013-01-29 20:53 ` Robert A Duff
2013-01-29 21:22 ` Dmitry A. Kazakov
2013-01-30 3:22 ` Lucretia
2013-01-30 9:49 ` Dmitry A. Kazakov
2013-01-30 23:28 ` Randy Brukardt
2013-02-01 1:48 ` Shark8
2013-01-29 21:29 ` Dmitry A. Kazakov
2013-01-29 21:53 ` Adam Beneschan
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox