Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14281

Re: ./parse.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]

From Piotr Grzybowski <narsil.pl@gmail.com>
Newsgroups gnu.bash.bug
Subject Re: ./parse.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
Date 2018-06-27 16:33 +0200
Message-ID <mailman.2619.1530109999.1292.bug-bash@gnu.org> (permalink)
References <5260CA01-40C6-41A8-A858-760C84CB8FBB@gmail.com> <608b0390-0483-fede-f1f7-d6fad57d5735@case.edu>

Show all headers | View raw


On 27 Jun 2018, at 14:57, Chet Ramey wrote:

> On 6/27/18 6:59 AM, Piotr Grzybowski wrote:
> 
>> +function_newline_list: '(' ')' | function_newline_list '\n'
>> +       ;
>> +
> 
> This would appear to allow constructs like
> 
> foo()
> () ()
> {
> 	function body
> }

only by the look of things ;-) (thats what I meant in P.S.) actually those tokens are not allowed:

bash-5.0$ cat /tmp/m.sh
foo()
() ()
{
        function body
}

bash-5.0$ . /tmp/m.sh
bash: /tmp/m.sh: line 2: syntax error near unexpected token `)'
bash: /tmp/m.sh: line 2: `() ()'

 I am sure function_newline_list can be rewritten in a better way though.

cheers,
pg


Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: ./parse.y: warning: 1 shift/reduce conflict [-Wconflicts-sr] Piotr Grzybowski <narsil.pl@gmail.com> - 2018-06-27 16:33 +0200

csiph-web