コード例 #1
0
 private static void PrintSequenceMultiBacktrack(SequenceMultiBacktrack seqBack, Sequence parent, PrintSequenceContext context)
 {
     Console.Write("<<");
     PrintSequence(seqBack.Rules, seqBack, context);
     Console.Write(";;");
     PrintSequence(seqBack.Seq, seqBack, context);
     Console.Write(">>");
 }
        public SequenceMultiBacktrackRuleRewritingGenerator(SequenceMultiBacktrack seqMulti, SequenceRuleCall seqRule, SequenceExpressionGenerator seqExprGen, SequenceGeneratorHelper seqHelper)
        {
            this.seqMulti   = seqMulti;
            this.seqExprGen = seqExprGen;
            this.seqHelper  = seqHelper;

            this.seqRule = seqRule;

            ReturnVars = seqRule.ReturnVars;
            specialStr = seqRule.Special ? "true" : "false";
            matchingPatternClassName = "GRGEN_ACTIONS." + TypesHelper.GetPackagePrefixDot(seqRule.Package) + "Rule_" + seqRule.Name;
            patternName   = seqRule.Name;
            plainRuleName = TypesHelper.PackagePrefixedNameDoubleColon(seqRule.Package, seqRule.Name);
            ruleName      = "rule_" + TypesHelper.PackagePrefixedNameUnderscore(seqRule.Package, seqRule.Name);
            matchType     = matchingPatternClassName + "." + NamesOfEntities.MatchInterfaceName(patternName);
            matchName     = "match_" + seqRule.Id;
            matchesType   = "GRGEN_LIBGR.IMatchesExact<" + matchType + ">";
            matchesName   = "matches_" + seqRule.Id;
        }
コード例 #3
0
 public SequenceMultiBacktrackGenerator(SequenceMultiBacktrack seqMulti, SequenceExpressionGenerator seqExprGen, SequenceGeneratorHelper seqHelper)
 {
     this.seqMulti   = seqMulti;
     this.seqExprGen = seqExprGen;
     this.seqHelper  = seqHelper;
 }