On Sun, May 19, 2024, 9:19 PM wrote: > Rob Pike wrote: > > > The Cornell PL/I compiler, PL/C, ran on the IBM 360 so of course used > batch > > input. It tried automatically to keep things running after a parsing > error > > by inserting some token - semicolon, parenthesis, whatever seemed best - > > and continuing to parse, in order to maximize the amount of input that > > could be parsed before giving up. At least, that's what I took the > > motivation to be. It rarely succeeded in fixing the actual problem, > despite > > PL/I being plastered with semicolons, but it did tend to ferret out more > > errors per run. I found the tactic helpful. > > > > -rob > > Gawk used to do this, until people started fuzzing it, causing cascading > errors and eventually core dumps. Now the first syntax error is fatal. > It got to the point where I added this text to the manual: > > In recent years, people have been running "fuzzers" to generate > invalid awk programs in order to find and report (so-called) > bugs in gawk. > > In general, such reports are not of much practical use. The > programs they create are not realistic and the bugs found are > generally from some kind of memory corruption that is fatal > anyway. > > So, if you want to run a fuzzer against gawk and report the > results, you may do so, but be aware that such reports don’t > carry the same weight as reports of real bugs do. > > (Yeah, I've just changed the subject, feel free to stay on topic. :-) > Awk bailing out near line 1. Warner > Arnold >