|
From: | Evan Lavelle |
Subject: | Re: can't to remove shift/reduce |
Date: | Fri, 23 Nov 2007 15:15:21 +0000 |
User-agent: | Thunderbird 2.0.0.9 (Windows/20071031) |
I'd be surprised if it works. Have you tried column_method_name both with and without brackets? The default is to ignore the brackets - what happens then? How are the brackets interpreted?without brackets it is relation or variable atribute. With brackets it is methods.
The grammar produces no code for the no-brackets case ("relation or variable attribute"). It doesn't reduce; it assumes that you wanted the shift, so it assumes "with brackets it is methods". Is this acceptable, or not? Have you got any test input that explicitly requires the no-brackets "relation or variable attribute" case?
You need to post everything that can come after 'column_method'. Is it ever possible to have a '(' character after a column_method, apart from the 2 ways you have shown?
To rephrase this: if your intention is to allow both of these two things:1 - column_method, with no following '(' (ie. "relation or variable attribute"), *but* some other part of the grammar allows you to put in a following '(' anyway, AND
2 - column_method with a following '(' (ie. "with brackets it is methods"), THEN
you have a language ambiguity that you need to fix. At first sight, it seems that perhaps you may want case 1, because (at least) both func_name and qualified_name can be followed by '('. If you don't know the answer, you need to go right through the grammar to find out if case 1 is a requirement.
Evan
[Prev in Thread] | Current Thread | [Next in Thread] |