[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Grammatica-users] inherent ambiguity issue
From: |
Per Cederberg |
Subject: |
Re: [Grammatica-users] inherent ambiguity issue |
Date: |
Wed, 1 Dec 2010 20:27:06 +0100 |
The easiest approach would be to violate the grammar a bit, by changing:
Factor = Atom
| "(" Expression ")" ;
ConditionTerm = ConditionAtom
| "(" Condition ")" ;
Into this:
Factor = Atom
| "(" Condition ")" ;
ConditionTerm = ConditionAtom ;
And add semantic checks in the analyzer to look for expressions
containing conditionals.
Cheers,
/Per
On Sun, Nov 28, 2010 at 18:45, Ram Marzin <address@hidden> wrote:
>
> Hello,
> My name is Ram and I use grammatica SW as a part of my acadmic project in
> the university.
> I use grammatica to help me develop c parser (an important part of my
> project).
>
> I get an inherent ambiguity error which I cannot solve,
> The code is:
> /* Expression */
> Expression = Term [ExpressionRest] ;
> ExpressionRest = "+" Expression
> | "-" Expression ;
> Term = Factor [TermRest] ;
> TermRest = "*" Term
> | "/" Term
> | "%" Term ;
> Factor = Atom
> | "(" Expression ")" ;
> Atom = Number
> | STRING_DATA
> | VARIABLE_NAME
> | FunctionCall
> | Casting;
>
> Number = INT_NUMBER | FLOAT_NUMBER;
> /* Condition Statement */
> Condition = ConditionTerm [ConditionRest] ;
> ConditionRest = AND Condition
> | OR Condition ;
> ConditionTerm = ConditionAtom
> | "(" Condition ")" ;
> ConditionAtom = Value ConditionOperator Value ;
> ConditionOperator = "==" | "!=" | ">" | "<" | "<=" | ">=";
> Value = Expression;
>
> The error is:
> Error: in pt.grammar: lines 163-164:
> inherent ambiguity in production 'ConditionTerm' starting with
> token "("
> ConditionTerm = ConditionAtom
> | "(" Condition ")" ;
>
> I understand why it happens, there is unlimit look ahead option but how
> can I solve it ?
>
> Thanks,
> Ram.
>
> _______________________________________________
> Grammatica-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/grammatica-users
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Grammatica-users] inherent ambiguity issue,
Per Cederberg <=