In a compiler LL parser is a top-down parser, which processes the input from left to right to charge a leftmost derivation of the input.

An LL parser is called LL (k ) parser, if he can look ahead during parsing k tokens, and in contrast to the LF- parser uses the stack contents. k is referred to as lookahead. This Parsertyp are the LL (k ) grammars as a basis.

Although the LL (k ) grammars are relatively limited, LL (k ) parsers are often used. The decision is expanded according to which rule may be made only by analysis of the lookahead. A simple way to implement this Parsertechnik provides the method of recursive descent.


The starting point is a grammar. The parser uses a set of states, where a state is composed as follows:

  • Is the current content of a term basement that is used to store the current symbols. may include both terminal and non- terminal symbols.
  • Is the part of the input, which has not been read.
  • Is the output of a sequence of natural numbers, including the number of the rules of the leftmost derivation.

The non-deterministic automaton for the LL (k ) analysis is then:

  • ( Initial state)
  • ( Final state )

This is the start symbol of the underlying grammar and the analysis of the input links.

The transitions consist of the following:

  • ( Shift or shifting step )
  • (Expansion or exhaust step ), the rule in the rule set needs to be contained and the number of the rule.

LL (1) parser

This Parsertyp uses a lookahead of one character. Due to this restriction can simply be a deterministic parser can be created.

The above non-deterministic steps are thereby determined by the lookahead.