context clash

(grammar)   When a parser cannot tell which alternative production of a syntax applies by looking at the next input token ("lexeme"). For example, given syntax

	C -> A | b c
	A -> d | b e
If you're parsing non-terminal C and the next token is 'b', you don't know whether it's the first or second alternative of C since they both can start with b.

If a grammar can generate the same sentence in multiple different ways (with different parse tress) then it is ambiguous. An ambiguity must start with a context clash (but not all context clashes imply ambiguity). To see if a context clash is also a case of ambiguity you would need to follow the alternatives involved in each context clash to see if they can generate the same complete sequence of tokens.

Last updated: 1995-04-05