importFrom("stats", "dnorm", "runif")
importFrom("utils", "tail")
export(
    "grule",
    "gsrule",
    "gvrule",
    "CreateGrammar",
    "GrammarMap",
    "GrammarGenotypeToPhenotype",
    "GrammarRandomExpression",
    "EvalExpressions",
    "GeneticAlg.int",
    "EvolutionStrategy.int",
    "GrammaticalEvolution",
    "GetGrammarDepth",
    "GetGrammarMaxRuleSize",
    "GetGrammarMaxSequenceLen",
    "GetGrammarNumOfExpressions",
    "GrammarStartSymbol",
    "GrammarIsRecursive",
    "GrammarIsTerminal",
    "GrammarGetDepth",
    "GrammarMaxRuleSize",
    "GrammarMaxSequenceLen",
    "GrammarMaxSequenceRange",
    "GrammarNumOfExpressions",
    "c.GERule",
    "as.character.GEPhenotype",
    "as.expression.GEPhenotype",
    "print.GEPhenotype",
    "print.grammar",
    "print.GERule",
    "print.GrammarOverflow",
    "print.GESearch",
    "print.GeneticAlg.int",
    "print.EvolutionStrategy.int",
    "print.GrammaticalEvolution",
    "summary.grammar",
    "print.summary.grammar",
    "is.GrammarOverflow",
    "GrammarGetFirstSequence",
    "GrammarGetNextSequence",
    "GrammaticalExhaustiveSearch",
    "GrammaticalRandomSearch",
    "ReplaceInExpression"
    )

S3method(c, GERule)
S3method(summary, grammar)
S3method(print, grammar)
S3method(print, summary.grammar)
S3method(print, GEPhenotype)
S3method(print, GERule)
S3method(print, GESearch)
S3method(print, GrammarOverflow)
S3method(print, GeneticAlg.int)
S3method(print, EvolutionStrategy.int)
S3method(print, GrammaticalEvolution)
S3method(as.character, GEPhenotype)
S3method(as.expression, GEPhenotype)
S3method(as.expression, GEPhenotype)
