Translates a BNF (Backus-Naur Form) specification of a 
             context-free language into an R grammar object
             which consists of the start symbol, the symbol table, 
             the production table, and a short production table.
             The short production table is non-recursive. 
             The grammar object contains the file name from 
             which it was generated (without a path).
             In addition, it provides functions to determine the type 
             of a symbol (isTerminal() and isNonterminal()) and functions
             to access the production table (rules() and derives()).
             For the BNF specification, see Backus, John et al. (1962)
             "Revised Report on the Algorithmic Language ALGOL 60".
             (ALGOL60 standards page <http://www.algol60.org/2standards.htm>,
              html-edition <https://www.masswerk.at/algol60/report.htm>)
             The grammar compiler is based on the APL2 implementation in 
             Geyer-Schulz, Andreas (1997, ISBN:978-3-7908-0830-X).

Derivation tree operations are needed for implementing 
            grammar-based genetic programming and grammatical evolution:  
            Generating of a random derivation trees of a context-free grammar 
            of bounded depth, decoding a derivation tree, 
            choosing a random node in a derivation tree, 
            extracting a tree whose root is a specified node, and 
            inserting a subtree into a derivation tree at a specified node.
            These operations are necessary for the initializiation and 
            for decoders of a random population of programs, 
            as well as for implementing crossover and mutation operators.
            Depth-bounds are guaranteed by switching to a grammar 
            without recursive production rules. 
            For executing the examples, the package 'BNF' is needed.
            The basic tree operations of generating, extracting, and 
            inserting of derivation trees as well as the conditions 
            for guaranteeing complete derivation trees have been 
            presented in Geyer-Schulz (1997, ISBN:978-3-7908-0830-X).
            The use of random integer vectors for the generation 
            of derivation trees has been introduced in 
            Ryan, C., Collins, J. J., and  O'Neill, M. (1998)
            <doi:10.1007/BFb0055930>.