Generating and Manipulating Derivation Trees
Overview
Derivation tree operations are needed for implementing grammar-based genetic programming and grammatical evolution: Generating 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 initialization 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 for generating, extracting, and inserting 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 for grammatical evolution.
- printDerivations and treeToDataFrames work with complete and incomplete derivation trees.
From NEWS in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-08
- WARNING12 OK, 1 WARNING2026-06-07
- OK14 OK2026-03-10
Documentation
- Help pages
- 40includes a package overview page
- Examples that run
- 100%39 run in a plain check
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 3%
Downloads
Repository
Checks run against github.com/ageyerschulz/xegaderivationtrees on 2026-10-11.
No development-tooling practices detected in the upstream repository.
Dependencies
Installing xegaDerivationTrees adds 1 package (0 with compiled code, 24 KB of source tarballs). Heaviest: xegaBNF 24 KB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- 1.0.0.6Latest2025-04-16 · current release · diff ↗ ·
added 10 exports
addE, addV, decodeAndFixDT, decodeSymVec, generateCDT, newE, newV, printDerivations, treeProbability, treeToDataFrames - RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- 1.0.0.02024-02-13
- RR 4.3.0 released · 2023-04-21
Package metadata
- First published
- 2024-02-13
- Total releases
- 2 / 2 yrs
- License
- MIT + file LICENSE OSI
- Download size
- 25 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("xegaDerivationTrees")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.