def build_grammar(&aBlock)
      builder = Rley::Syntax::GrammarBuilder.new(&aBlock)
      @grammar = builder.grammar
    end
def build_grammar(&aBlock)
      builder = Rley::Syntax::GrammarBuilder.new(&aBlock)
      @grammar = builder.grammar
    end
Constructor.
 @example Produce a parse forest
   Engine.new do |config|
     config.parse_repr = :parse_forest
   end
 Factory method.
 @param aBlock [Proc, Lambda] Code block for creating the grammar.
 @return [Rley::Syntax::Grammar] the grammar of the language to parse.
 @example Grammar for array of integers
   instance = Engine.new
   instance.build_grammar do
     add_terminals('LBRACKET', 'RBRACKET', 'COMMA', 'INTEGER')
     add_production('start' => 'array')
     add_production('array' => 'LBRACKET elements RBRACKET')
     add_production('array' => 'LBRACKET RBRACKET')
     add_production('elements' => 'elements COMMA INTEGER')
     add_production('elements' => 'INTEGER')
   end