Re: Error definition

Bethan Tovey-Walsh writes:

> Right, so “bad.ixml” should only cause an error if we’re providing it
> as an input grammar and “something_else.ixml” as an input
> string. ...

This way of putting it makes me a little nervous, since I think the
question we are discussing is not how processors should behave but what
words we use to describe how processors behave.  I agree with what you
say if what you mean is

    so the term 'error' applies only when 'bad.ixml' is provided as
    an input grammar and 'something_else.txt' as an input string

But even then I find I'm nervous, because I don't think we have yet
reached a firm agreement on terminology.  Norm and I have explained why
certain ways of using the word 'error' seem to us not completely apt,
and you and Dave have explained why the term makes intuitive sense to
someone who is trying to get a parse tree out.

I'm not now able to make a good suggestion for the best way to talk
about parsing failures that are not conformance failures, but I think it
would be good to try to find one.

As a stop-gap measure, it might help just to say that the words "error"
and "failure" should normally be qualified:

  So 'bad.ixml' raises a parsing error when we parse it as an inut
  string against the ixml specification grammar, and a conformance error
  when we attempt to parse 'something-else.txt' against 'bad.ixml'.

Being willing to use the term "parsing error" in a situation where no
one has made a mistake may be inconsistent.  But in discussions of
parsing, situations in which the input is not a sentence are not
infrequently described as errors, perhaps because the usual application
area for parsers is in situations like compilers, where non-grammatical
input can in fact be described as "in error" because the grammar has
normative power. (And I admit it's not unnatural to think of grammars as
providing normative rules, even when they are intended to be descriptive
not prescriptive.  Is that just the memory of grade-school English
class, or is it something deeper?)  The qualification may make the
phrase a little less likely to be misunderstood as denoting a defect in
the processor -- although in ordinary language "parsing error" could
presumably refer to a mistake made by a parser, so there is still some
scope for misunderstanding, and the longer I look at the phrase "parsing
error" the less I like it.

Maybe we just need to say that any reference to 'error' in connection
with input strings which are not sentences w.r.t. the input grammar
denotes a failure of the input to match the grammar but not repeat not a
failure of the grammar or the processor to conform to this spec.  For
the reasons Norm and I have already laid out, that will make some of us
uneasy.  But all we can do is try to define useful terms and use them in
ways consistent with the definitions.

If anyone has a coherent suggestion, I'm all ears.


Michael


-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Saturday, 5 February 2022 15:44:39 UTC