Go to Google Groups Home    comp.lang.forth
Re: RfD: Escaped Strings

Marcel Hendrix <m...@iae.nl>

Peter Knaggs <pkna...@bournemouth.ac.uk> wrote Re: RfD: Escaped Strings S\" (version 5)
[..]

> Translation rules:
>     Characters are processed one at a time and appended to the
>     compiled string. If the character is a '\' character it is
>     processed by parsing and substituting one or more characters
>     as follows, where the character after the backslash is case
>     sensitive:
>     \a   BEL (alert, ASCII 7)
[..]
>     \\   backslash itself
>     \    An ambiguous condition exists if a \ is placed before any
>          character, other than those defined in 6.2.xxxx S\".

[..]

Why was it necessary to make this an ambiguous condition?
S\" is not used by any systems not represented in the Forth 200x effort.
IMHO it is a bit silly (for a standards effort) not to mention all \<char>
codes in use today, and/or to allow future vendor-specific extensions that
will break portability of code and require work-arounds.

A general solution could be to require that a deferred (and standardized)
hook word is executed in case an unknown code is encountered. This would
guarantee that any future S\" problems can be fixed by user code.
Thinking this through should convince most people that simply forbidding
non-standard \-codes is by far preferable.

-marcel