On Mon, Jun 12, 2023 at 03:32:20PM +0200, Maria Matejka wrote:
> We can simply change the lexer state externally from the parser as soon as 
> the hex( prefix is seen, and provide the result directly from the lexer. 
> 
> This way, we can allow all the syntaxes like hex(de-ad-be-ef), 
> hex(de:ad:be:ef), hex(de ad be ef) or even hex(dea:db-eef) just by ignoring 
> nonalnum characters altogether.
> 
> Here I'd strongly prefer nicer user experience over setting the syntax to 
> best fit our needs.

Which would lead to syntax that is extremely confusing (i.e. hard to
intuitively grasp the right mental model just from meeting examples),
so i think hex(...) variant is also worse from user experience point.
As a user, i always hated unexpected special cases in syntax, even if
they might be expedient in some cases.

> I don't think any user really cares about the lexer/parser difference.

People came with some preconceptions based on knowledge of syntax of
other programming / configuration (and also regular) languages, so they
have (either explicit or intuitive) concept of elementary / compound
statement. If there is someting that looks like existing compound
statement, but is in fact something completely different, it is
confusing.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."

Reply via email to