I want to implement indexing for multiple expressions like this
X[ (i-n):i ], X[ (i-n):i ]
expressions should look like this
X[ (5-7):5 ], X[ (5-7):5 ]
X[ (15-2):15 ], X[ (15-2):15 ]
Here is what I have at the moment
library(gramEvol)
ruleDef <- list(
xx = grule(c(x,x)),
x = gsrule("X[<ii>]"),
ii = gsrule("(<i>-<n>):<i>"),
i = gvrule(1:20),
n = gvrule(1:100)
)
grammarDef <- CreateGrammar(ruleDef)
GrammarRandomExpression(grammarDef)
expression(c(X[(1 - 78):19], X[(15 - 34):2]))
how do i make the grammar generate the same indexes for multiple expressions, like
X[ (5-7):5 ], X[ (5-7):5 ]
X[ (15-2):15 ], X[ (15-2):15 ]