/** Build a subrule matching ^(. .*) (any tree or node). Let's use * (^(. .+) | .) to be safe. */ public StateCluster build_WildcardTree(GrammarAST associatedAST) { StateCluster wildRoot = build_Wildcard(associatedAST); StateCluster down = build_Atom(Label.DOWN, associatedAST); wildRoot = build_AB(wildRoot,down); // hook in; . DOWN // make .+ StateCluster wildChildren = build_Wildcard(associatedAST); wildChildren = build_Aplus(wildChildren); wildRoot = build_AB(wildRoot,wildChildren); // hook in; . DOWN .+ StateCluster up = build_Atom(Label.UP, associatedAST); wildRoot = build_AB(wildRoot,up); // hook in; . DOWN .+ UP // make optional . alt StateCluster optionalNodeAlt = build_Wildcard(associatedAST); List<StateCluster> alts = new ArrayList<StateCluster>(); alts.add(wildRoot); alts.add(optionalNodeAlt); StateCluster blk = build_AlternativeBlock(alts); return blk; }
/** Build a subrule matching ^(. .*) (any tree or node). Let's use * (^(. .+) | .) to be safe. */ public StateCluster build_WildcardTree(GrammarAST associatedAST) { StateCluster wildRoot = build_Wildcard(associatedAST); StateCluster down = build_Atom(Label.DOWN, associatedAST); wildRoot = build_AB(wildRoot,down); // hook in; . DOWN // make .+ StateCluster wildChildren = build_Wildcard(associatedAST); wildChildren = build_Aplus(wildChildren); wildRoot = build_AB(wildRoot,wildChildren); // hook in; . DOWN .+ StateCluster up = build_Atom(Label.UP, associatedAST); wildRoot = build_AB(wildRoot,up); // hook in; . DOWN .+ UP // make optional . alt StateCluster optionalNodeAlt = build_Wildcard(associatedAST); List alts = new ArrayList(); alts.add(wildRoot); alts.add(optionalNodeAlt); StateCluster blk = build_AlternativeBlock(alts); return blk; }
/** Build a subrule matching ^(. .*) (any tree or node). Let's use * (^(. .+) | .) to be safe. */ public StateCluster build_WildcardTree(GrammarAST associatedAST) { StateCluster wildRoot = build_Wildcard(associatedAST); StateCluster down = build_Atom(Label.DOWN, associatedAST); wildRoot = build_AB(wildRoot,down); // hook in; . DOWN // make .+ StateCluster wildChildren = build_Wildcard(associatedAST); wildChildren = build_Aplus(wildChildren); wildRoot = build_AB(wildRoot,wildChildren); // hook in; . DOWN .+ StateCluster up = build_Atom(Label.UP, associatedAST); wildRoot = build_AB(wildRoot,up); // hook in; . DOWN .+ UP // make optional . alt StateCluster optionalNodeAlt = build_Wildcard(associatedAST); List<StateCluster> alts = new ArrayList<StateCluster>(); alts.add(wildRoot); alts.add(optionalNodeAlt); StateCluster blk = build_AlternativeBlock(alts); return blk; }
/** Build a subrule matching ^(. .*) (any tree or node). Let's use * (^(. .+) | .) to be safe. */ public StateCluster build_WildcardTree(GrammarAST associatedAST) { StateCluster wildRoot = build_Wildcard(associatedAST); StateCluster down = build_Atom(Label.DOWN, associatedAST); wildRoot = build_AB(wildRoot,down); // hook in; . DOWN // make .+ StateCluster wildChildren = build_Wildcard(associatedAST); wildChildren = build_Aplus(wildChildren); wildRoot = build_AB(wildRoot,wildChildren); // hook in; . DOWN .+ StateCluster up = build_Atom(Label.UP, associatedAST); wildRoot = build_AB(wildRoot,up); // hook in; . DOWN .+ UP // make optional . alt StateCluster optionalNodeAlt = build_Wildcard(associatedAST); List alts = new ArrayList(); alts.add(wildRoot); alts.add(optionalNodeAlt); StateCluster blk = build_AlternativeBlock(alts); return blk; }
retval.g = factory.build_Aplus(bg);
retval.g = factory.build_Aplus(bg);
b = factory.build_AlternativeBlockFromSet(b); g = factory.build_Aplus(b);