Re: [Rd] Problem with ?Syntax
Gabor Grothendieck wrote: I wasn't claiming there was an ambiguity but it does not perform according to the operator precedence documented in ?Syntax . If it performed as documented it would give an error. There are a few other errors in that page, e.g. saying that [ has greater priority than ::, but version - 1:10 base::version[1] shows :: has higher priority. I'll take a look. Duncan Murdoch On Sat, Feb 20, 2010 at 6:57 AM, Barry Rowlingson b.rowling...@lancaster.ac.uk wrote: On Sat, Feb 20, 2010 at 9:52 AM, Gabor Grothendieck ggrothendi...@gmail.com wrote: In ?Syntax [ is given as higher priority than $ but BOD$demand[3] seems to be the same as (BOD$demand)[3] contrary to [ being higher priority. BOD$demand[3] [1] 19 (BOD$demand)[3] [1] 19 What is the rule being used here? I think its the parser rule that defines the syntax of $ on a list. Does: BOD$(demand[3]) even work? BOD$(demand[3]) Error: unexpected '(' in BOD$( - no. The parser sees a $ and then gets the next token (gram.y shows this to be a symbol or a string constant) as the thing to deal with. Symbols I can't think of an example where $ and [ could have ambiguous precedence that is syntactically correct, so maybe the order is irrelevant... Just for fun: x=list(a=1,b=2) x$a[1]=2 x$a[1] [1] 2 x$a[1] [1] 1 Barry __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Problem with ?Syntax
On 21/02/2010 12:44 PM, Duncan Murdoch wrote: Gabor Grothendieck wrote: I wasn't claiming there was an ambiguity but it does not perform according to the operator precedence documented in ?Syntax . If it performed as documented it would give an error. There are a few other errors in that page, e.g. saying that [ has greater priority than ::, but version - 1:10 base::version[1] shows :: has higher priority. I'll take a look. Actually, just one error. The indexing operators were shown with higher priority than they should have. Because ::, :::, $ and @ can only take a name or a string constant on the right, they effectively have higher priority than [ or [[. I've clarified the man page. Duncan Murdoch Duncan Murdoch On Sat, Feb 20, 2010 at 6:57 AM, Barry Rowlingson b.rowling...@lancaster.ac.uk wrote: On Sat, Feb 20, 2010 at 9:52 AM, Gabor Grothendieck ggrothendi...@gmail.com wrote: In ?Syntax [ is given as higher priority than $ but BOD$demand[3] seems to be the same as (BOD$demand)[3] contrary to [ being higher priority. BOD$demand[3] [1] 19 (BOD$demand)[3] [1] 19 What is the rule being used here? I think its the parser rule that defines the syntax of $ on a list. Does: BOD$(demand[3]) even work? BOD$(demand[3]) Error: unexpected '(' in BOD$( - no. The parser sees a $ and then gets the next token (gram.y shows this to be a symbol or a string constant) as the thing to deal with. Symbols I can't think of an example where $ and [ could have ambiguous precedence that is syntactically correct, so maybe the order is irrelevant... Just for fun: x=list(a=1,b=2) x$a[1]=2 x$a[1] [1] 2 x$a[1] [1] 1 Barry __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] Problem with ?Syntax
In ?Syntax [ is given as higher priority than $ but BOD$demand[3] seems to be the same as (BOD$demand)[3] contrary to [ being higher priority. BOD$demand[3] [1] 19 (BOD$demand)[3] [1] 19 What is the rule being used here? __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Problem with ?Syntax
On Sat, Feb 20, 2010 at 9:52 AM, Gabor Grothendieck ggrothendi...@gmail.com wrote: In ?Syntax [ is given as higher priority than $ but BOD$demand[3] seems to be the same as (BOD$demand)[3] contrary to [ being higher priority. BOD$demand[3] [1] 19 (BOD$demand)[3] [1] 19 What is the rule being used here? I think its the parser rule that defines the syntax of $ on a list. Does: BOD$(demand[3]) even work? BOD$(demand[3]) Error: unexpected '(' in BOD$( - no. The parser sees a $ and then gets the next token (gram.y shows this to be a symbol or a string constant) as the thing to deal with. Symbols I can't think of an example where $ and [ could have ambiguous precedence that is syntactically correct, so maybe the order is irrelevant... Just for fun: x=list(a=1,b=2) x$a[1]=2 x$a[1] [1] 2 x$a[1] [1] 1 Barry __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Problem with ?Syntax
I wasn't claiming there was an ambiguity but it does not perform according to the operator precedence documented in ?Syntax . If it performed as documented it would give an error. On Sat, Feb 20, 2010 at 6:57 AM, Barry Rowlingson b.rowling...@lancaster.ac.uk wrote: On Sat, Feb 20, 2010 at 9:52 AM, Gabor Grothendieck ggrothendi...@gmail.com wrote: In ?Syntax [ is given as higher priority than $ but BOD$demand[3] seems to be the same as (BOD$demand)[3] contrary to [ being higher priority. BOD$demand[3] [1] 19 (BOD$demand)[3] [1] 19 What is the rule being used here? I think its the parser rule that defines the syntax of $ on a list. Does: BOD$(demand[3]) even work? BOD$(demand[3]) Error: unexpected '(' in BOD$( - no. The parser sees a $ and then gets the next token (gram.y shows this to be a symbol or a string constant) as the thing to deal with. Symbols I can't think of an example where $ and [ could have ambiguous precedence that is syntactically correct, so maybe the order is irrelevant... Just for fun: x=list(a=1,b=2) x$a[1]=2 x$a[1] [1] 2 x$a[1] [1] 1 Barry __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel