Re: easing access to bit vectors in the *roff language (was: Need background on design of groff character classes)

dvalin--- via GNU roff typesetting system discussion <[email protected]>
Newsgroups gmane.comp.printing.groff.general
Message-ID <3b4f8aa0-dc4d-4ff3-8edb-0d0f9c3fdd61@localhost>
On 02.12.25 03:42, G. Branden Robinson wrote:

> Hi dvalin--,

> Off-topic, but I'm curious...where did this practice of suffixing user

> names with multiple hyphen-minuses come from?

Nary the foggiest, Branden - here in your post's quote is the first time I've seen it. It does not appear in the Bcc back here, of that post. Mystery == Total.

>

> At 2025-12-02T09:05:59+0000, dvalin--- via GNU roff typesetting system discussion wrote:

> > > .cflags 5 \[em]

...

> The idea I've been carrying around in my head looks somewhat like the

> "symbolic" form of the chmod(1) command.

>

> Some examples should get the idea across.

>

> .warn +delim

> .warn -char

> .warn =all

> .warn =w-delim

> .warn -w+syntax+reg+mac

>

> All of these are currently invalid syntax, so this should be a

> compatible extension.

That syntax hides the OR/AND in a most user-friendly fashion, I think. (And I'm inordinately fond of explicit human-readable syntax.) If there's less wrangling of a hand-knitted parsing engine, then that's so much more viable, I figure.

> [snip]

> > Here [in AVR assembly language] that implementational detail is

> > exposed, but in groff, implementation is best hidden, I figure.

>

> I agree.  GNU troff extrapolated from AT&T troff's `hy` request.

>

> ...which, itself, I'd like to shove into a dusty corner for legacy

> features.

> https://savannah.gnu.org/bugs/?55070

> > But ORing of named flags seems to be significantly more readable than

> > groff syntax. Neh?

>

> Even a bitwise or logical "or" is more of a demand upon the user than we

> need to make.  Why not plus, minus, and equals (in the assignment

> idiom[1])?

You've won my vote, though it's only that of a groff beginner trampling the edges of the maze, when time permits.

...

> [1] ...which I have problems with, since ":=" should be assignment and

>     "=" should be equality.  But the latter is a bit of brain damage C

>     programmers cherish even as they consider themselves far superior to

>     those who learned Microsoft BASIC, which does the same thing.

Put it down to C exposure, but "==" for equality test, and "=" seem nearly good enough. However, ":=" and "==" is a more secure combination, as omission of one "=" doesn't silently convert a test to an assignment. (Who has never had to debug that one?)

>     (At least Dartmouth BASIC [and ANSI Minimal BASIC] required `LET` to

>     make the context clear.  Also, did these snooty C hackers ever

>     notice that Ken Thompson himself wrote a BASIC interpreter?)

>

> https://www.tuhs.org/pipermail/tuhs/2021-December/024944.html

Haven't done that, but I did write a Z80 two-pass assembler, pre-millennium. (Don't tell anyone, but that was in BASIC.)

I've done a bit of lex & yacc - enough to get the hang of its limited debugging. A formal grammar is a stricture, but sanity-preserving in the long run. Your courage in facing an inherited hand-knitted if-but-maybe machine is awe-inspiring. I'd scream and run.

All power to your arm, and thanks for tolerating notions from those in the back row.

Regards,

Erik
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.