Miscellaneous functions used for x-engineering (feature engineering) or 
  for supporting in other packages maintained by 'Shichen Xie'.

Implementation of a scalable, highly configurable, and 
        e(x)tended architecture for (e)volutionary and (g)enetic (a)lgorithms.
        Multiple representations (binary, real-coded, permutation, and 
        derivation-tree), a rich collection of genetic operators, 
        as well as an extended processing pipeline are provided 
        for genetic algorithms (Goldberg, D. E. (1989, ISBN:0-201-15767-5)),
        differential evolution (Price, Kenneth V., Storn, Rainer M. and Lampinen, Jouni A. (2005)
        <doi:10.1007/3-540-31306-0>), simulated annealing (Aarts, E., and Korst, J.
        (1989, ISBN:0-471-92146-7)), grammar-based genetic programming 
        (Geyer-Schulz (1997, ISBN:978-3-7908-0830-X)), grammatical evolution 
        (Ryan, C., O'Neill, M., and Collins, J. J. (2018) <doi:10.1007/978-3-319-78717-6>), 
        and grammatical differential evolution (O'Neill, M. and Brabazon, A. (2006) in  
        Arabinia, H. (2006, ISBN:978-193-241596-3).
        All algorithms reuse basic adaptive mechanisms for performance optimization.
        For xega's architecture, see Geyer-Schulz, A. (2025) <doi:10.5445/IR/1000187255>.
        Sequential or parallel execution (on multi-core machines, 
        local clusters, and high-performance computing environments) 
        is available for all algorithms. See 
        <https://github.com/ageyerschulz/xega/tree/main/examples/executionModel>.

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>)
             A preprocessor for macros which expand to standard BNF 
             is included. 
             The grammar compiler is an extension of the APL2 implementation in 
             Geyer-Schulz, Andreas (1997, ISBN:978-3-7908-0830-X).