A context-sensitive language is a type of formal language in computer science and linguistics where the rules for forming valid strings depend on the context of the symbols. This means that the production rules can change based on the surrounding symbols, allowing for more complex structures than those found in simpler languages like regular languages.
These languages are defined by context-sensitive grammars, which can generate strings that require more information about their context to be understood. They are more powerful than context-free languages and can describe certain computational problems that cannot be solved by simpler language types.