Context-sensitive languages are a type of formal language in computer science that require more complex rules than context-free languages. In these languages, the meaning of a word or phrase can change depending on the surrounding words, or "context." This allows for more expressive grammar, enabling the representation of languages that cannot be captured by simpler models.
These languages are defined by context-sensitive grammars, which use production rules that can replace a string of symbols with another string, provided the length of the replacement is at least as long as the original. Linear-bounded automata are the computational models that recognize context-sensitive languages, making them more powerful than their context-free counterparts.