module stratego/rtg/simplify imports stratego/rtg/determinize stratego/rtg/normalize stratego/rtg/reduce stratego/rtg/util strategies /** * Convert an RTG to a normalized, deterministic RTG (DFTA) * * @type RTG -> RTG */ rtg2dfta = id ; rtg-normalize ; rtg-determinize /** * Normalizes an RTG to TATA's normalized regular tree grammar. * * @type RTG -> RTG */ rtg-normalize = id ; rtg-upgrade-string-int ; rtg-reduce ; rtg-ungroup-productions ; rtg-remove-nested-trees ; rtg-remove-injection-rules ; rtg-reduce ; rtg-ungroup-productions /** * Normalizes an RTG to deprecated rtg-nf format. * * @type RTG -> RTG */ rtg-normalize-deprecated = id ; rtg-reduce ; rtg-group-productions /** * Upgrade legacy features */ strategies rtg-upgrade-string-int = topdown(try( \ Ref(String()) -> Appl(StringTerm(), []) \ + \ Ref(Int()) -> Appl(IntTerm(), []) \ ))