 Context-free languages—or rather its subset of deterministic context-free language—are the theoretical basis for the phrase structure of most programming languages, though their syntax also includes context-sensitive name resolution due to declarations and scope.Often a subset of grammars is used to make parsing easier, such as by an LL parser.Type-3 grammars generate the regular languages.