Wenn ich eine Grammatik habe, wo ein bestimmter Ausdruck zwei Produktionen zusammenbringen kann, werde ich offensichtlich einen Konflikt mit yacc reduzieren/reduzieren. Genauer gesagt, ich habe zwei Produktionen (FirstProduction und SecondProduction), wo beide TOKEN END
sein könnten.Lösen eines Konflikts reduzieren/reduzieren
Dann wird yacc nicht in der Lage sein zu wissen, was TOKEN END
zu (FirstProduction oder SecondProduction) zu reduzieren. Allerdings möchte ich es so machen, dass yacc FirstProduction
in dieser Situation priorisiert. Wie kann ich das erreichen?
Beachten Sie, dass sowohl FirstProduction
als auch SecondProduction
eine Menge Dinge sein können und dass Body
der einzige Ort in der Grammatik ist, wo diese Konflikte.
Auch ich weiß, dass YACC in diesen Situationen die erste Produktion auswählen wird, die in der Grammatik deklariert wurde. Ich möchte jedoch verhindern, dass Warnungen reduziert/reduziert werden.
Sie meinen 'Körper: FirstProduction | SecondProduction', oder? – rici
Ich habe es bearbeitet, um anzuzeigen, dass Body eine Liste von FirstProductions oder eine Liste von SecondProductions sein kann (eine Liste von 0 oder mehr Instanzen der ersten oder zweiten Produktion). Auf diese Weise meinte ich nicht, was du gesagt hast, sondern stattdessen, was ich gesagt habe (wenn auch bearbeitet), sicher. –