On 2/19/19 6:21 AM, Michael Meskes wrote: > Higuchi-san, > >> I attached the patch which cope with missing semicolons. >> Previous parse.pl find semicolon and dump data to buffer. When >> attached patch's parse.pl find new tokens before finding a semicolon, >> it also dumps data to buffer. > It just occurred to me that check_rules.pl probably uses the same logic > to identify each rule and thus needs to be changed, too. > > Also, IIRC bison allows blanks between the symbol name and the colon, > or in other words "generic_set:" is equal to "generic_set :". If this > happens after a "missing" semicolon I think your patch does not notice > the end of the rule. >
Yeah, it also seems too possibly liberal about where it matches a rule name. AUIU this should be the first token on a line; is that right? OTOH, it won't handle any case where an action block is not the last thing in the rule, since it only sets $fill_semicolon on seeing a closing brace (on its own). I just looked at the bison manual at gnu.org and also at `info bison` on my local machine, and couldn't see any reference to semicolons being optional at the end of a rule. Under the heading "Syntax of Grammar Rules" it says this: A Bison grammar rule has the following general form: RESULT: COMPONENTS...; Making it optional without putting that in the manual is just awful. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services