Terminology: types of grammar

I was looking at Michael's conversion of rfc-3987, for IRIs, and trying it 
out on some test cases.
https://github.com/invisibleXML/ixml/blob/master/samples/URI/rfc-3987.ixml


A number of things struck me. in particular the great lengths they go to to 
specify an IPv6 address, and the lack of work put into specifying 
hostnames, and I thought it would be useful if we had terminology for the 
difference between (sub-)grammars that accept correct input, without 
checking, and ones that do their best to check as well, the difference 
between


 date: day, "/", month, "/", year.
 day: d, d?.
 month: d, d?.
 year: d, d, d, d.
 d: ["0"-"9"].


and
 date: day, "/", month, "/", year.
 day: "0"?, nzd;
         ["12"], d;
         "3", ["01"].
 month: "0"?, nzd;
             "1", ["012"].
 year: ["12"], d, d, d.
 d: ["0"-"9"].
 nzd: ["1"-"9"].


Accepting, lax, lenient, indifferent, tolerant, liberal, permissive, 
flexible, lenient, ...
Strict, compliant, stringent, rigorous, fastidious, restrictive, merciless, 
...


Steven

Received on Friday, 12 August 2022 13:03:40 UTC