Enum lalr::LR1Conflict [] [src]

pub enum LR1Conflict<'a, T: 'a, N: 'a, A: 'a> {
    ReduceReduce {
        state: ItemSet<'a, T, N, A>,
        token: Option<&'a T>,
        r1: (&'a N, &'a Rhs<T, N, A>),
        r2: (&'a N, &'a Rhs<T, N, A>),
    },
    ShiftReduce {
        state: ItemSet<'a, T, N, A>,
        token: Option<&'a T>,
        rule: (&'a N, &'a Rhs<T, N, A>),
    },
}

A conflict detected while trying to construct an LR(1) parse table.

Variants

A reduce-reduce conflict.

Fields of ReduceReduce

The LR(0) state in which the conflict occurs.

The token leading to the conflict, or None if the token is EOF.

The first conflicting rule.

The second conflicting rule.

A shift-reduce conflict.

Fields of ShiftReduce

The LR(0) state in which the conflict appears.

The token leading to the conflict, or None if the token is EOF.

The reduce rule involved in the conflict.

Trait Implementations

impl<'a, T: Debug + 'a, N: Debug + 'a, A: Debug + 'a> Debug for LR1Conflict<'a, T, N, A>
[src]

Formats the value using the given formatter.