test_class.declarator: builder
test_class.modifier: protected
test_class.original_string: protected ParserBuilder<Object, Object> builder;
test_class.type: ParserBuilder<Object, Object>
test_class.var_name: builder
test_class.declarator: lastEval = null
test_class.modifier: public static
test_class.original_string: public static RuleEval lastEval = null;
test_class.type: RuleEval
test_class.var_name: lastEval
test_class.file: parser-lib/src/test/java/org/cthul/parser/rule/grammar/RuleProductionBuilderTest.java
test_class.identifier: RuleProductionBuilderTest
test_case.body: @Test
      public void test_look_ahead() {
          Rule rule0 = new LookAheadRule(keyMatch("b"), keyMatch("c"));
          Rule rule = new ProductionRule(keyMatch("a"), rule0, keyMatch("b"), keyMatch("c"));
          new TestRPB().buildRule(rule, builder.productionBuilder("rule", 0));
          AmbiguousParser<List<String>> p = (AmbiguousParser) builder.createParser(AmbiguousParser.factory());
          List<String> result = p.parse(Context.forString("abc"), "rule").iterator().next();
          assertThat(result, contains("a", "b", "c", "b", "c"));
      }
test_case.class_method_signature: RuleProductionBuilderTest.test_look_ahead()
test_case.full_signature: @Test public void test_look_ahead()
test_case.identifier: test_look_ahead
test_case.invocations: keyMatch keyMatch keyMatch keyMatch keyMatch buildRule productionBuilder createParser factory next iterator parse forString assertThat contains
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test_look_ahead()
focal_class.declarator: keys = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<RuleKey> keys = new ArrayList<>();
focal_class.type: List<RuleKey>
focal_class.var_name: keys
focal_class.declarator: matchCounter = -1
focal_class.modifier: protected
focal_class.original_string: protected int matchCounter = -1;
focal_class.type: int
focal_class.var_name: matchCounter
focal_class.declarator: baseRule
focal_class.modifier: protected
focal_class.original_string: protected ProductionBuilder baseRule;
focal_class.type: ProductionBuilder
focal_class.var_name: baseRule
focal_class.declarator: noResultsDepth = 0
focal_class.modifier: protected
focal_class.original_string: protected int noResultsDepth = 0;
focal_class.type: int
focal_class.var_name: noResultsDepth
focal_class.declarator: PUT_MATCHES = new PutMatchesEval[32]
focal_class.modifier: private static final
focal_class.original_string: private static final PutMatchesEval[] PUT_MATCHES = new PutMatchesEval[32];
focal_class.type: PutMatchesEval[]
focal_class.var_name: PUT_MATCHES
focal_class.declarator: NO_EVAL = new RuleEval() {
          @Override
          public Object eval(Context<?> context, ProductionMatch match, Object arg) {
              throw new UnsupportedOperationException();
          }
      }
focal_class.modifier: protected static final
focal_class.original_string: protected static final RuleEval NO_EVAL = new RuleEval() {
          @Override
          public Object eval(Context<?> context, ProductionMatch match, Object arg) {
              throw new UnsupportedOperationException();
          }
      };
focal_class.type: RuleEval
focal_class.var_name: NO_EVAL
focal_class.file: parser-lib/src/main/java/org/cthul/parser/rule/grammar/RuleProductionBuilder.java
focal_class.identifier: RuleProductionBuilder
focal_class.class_method_signature: RuleProductionBuilder.buildRule(Rule rule, ProductionBuilder pb)
focal_class.full_signature: public RuleKey buildRule(Rule rule, ProductionBuilder pb)
focal_class.identifier: buildRule
focal_class.modifiers: public
focal_class.parameters: (Rule rule, ProductionBuilder pb)
focal_class.return: RuleKey
focal_class.signature: RuleKey buildRule(Rule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.buildSubrule(Rule rule, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey buildSubrule(Rule rule, ProductionBuilder pb)
focal_class.identifier: buildSubrule
focal_class.modifiers: protected
focal_class.parameters: (Rule rule, ProductionBuilder pb)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey buildSubrule(Rule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.build(Rule rule, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey build(Rule rule, ProductionBuilder pb)
focal_class.identifier: build
focal_class.modifiers: protected
focal_class.parameters: (Rule rule, ProductionBuilder pb)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey build(Rule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.build(KeyMatchRule rule, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey build(KeyMatchRule rule, ProductionBuilder pb)
focal_class.identifier: build
focal_class.modifiers: protected
focal_class.parameters: (KeyMatchRule rule, ProductionBuilder pb)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey build(KeyMatchRule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.build(ProductionRule rule, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey build(ProductionRule rule, ProductionBuilder pb)
focal_class.identifier: build
focal_class.modifiers: protected
focal_class.parameters: (ProductionRule rule, ProductionBuilder pb)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey build(ProductionRule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.build(LookAheadRule rule, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey build(LookAheadRule rule, ProductionBuilder pb)
focal_class.identifier: build
focal_class.modifiers: protected
focal_class.parameters: (LookAheadRule rule, ProductionBuilder pb)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey build(LookAheadRule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.build(AntiMatchRule rule, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey build(AntiMatchRule rule, ProductionBuilder pb)
focal_class.identifier: build
focal_class.modifiers: protected
focal_class.parameters: (AntiMatchRule rule, ProductionBuilder pb)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey build(AntiMatchRule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.build(NoResultRule rule, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey build(NoResultRule rule, ProductionBuilder pb)
focal_class.identifier: build
focal_class.modifiers: protected
focal_class.parameters: (NoResultRule rule, ProductionBuilder pb)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey build(NoResultRule rule, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.addSubrules(Iterable<Rule> rules, ProductionBuilder pb)
focal_class.full_signature: protected InternRuleKey[] addSubrules(Iterable<Rule> rules, ProductionBuilder pb)
focal_class.identifier: addSubrules
focal_class.modifiers: protected
focal_class.parameters: (Iterable<Rule> rules, ProductionBuilder pb)
focal_class.return: InternRuleKey[]
focal_class.signature: InternRuleKey[] addSubrules(Iterable<Rule> rules, ProductionBuilder pb)
focal_class.class_method_signature: RuleProductionBuilder.setEval(ProductionBuilder pb, RuleEval eval)
focal_class.full_signature: protected void setEval(ProductionBuilder pb, RuleEval eval)
focal_class.identifier: setEval
focal_class.modifiers: protected
focal_class.parameters: (ProductionBuilder pb, RuleEval eval)
focal_class.return: void
focal_class.signature: void setEval(ProductionBuilder pb, RuleEval eval)
focal_class.class_method_signature: RuleProductionBuilder.getKeys()
focal_class.full_signature: protected List<RuleKey> getKeys()
focal_class.identifier: getKeys
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: List<RuleKey>
focal_class.signature: List<RuleKey> getKeys()
focal_class.class_method_signature: RuleProductionBuilder.baseEval(RuleProductionEval root)
focal_class.full_signature: protected abstract RuleEval baseEval(RuleProductionEval root)
focal_class.identifier: baseEval
focal_class.modifiers: protected abstract
focal_class.parameters: (RuleProductionEval root)
focal_class.return: RuleEval
focal_class.signature: RuleEval baseEval(RuleProductionEval root)
focal_class.class_method_signature: RuleProductionBuilder.irk(RuleKey rk)
focal_class.full_signature: protected InternRuleKey irk(RuleKey rk)
focal_class.identifier: irk
focal_class.modifiers: protected
focal_class.parameters: (RuleKey rk)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey irk(RuleKey rk)
focal_class.class_method_signature: RuleProductionBuilder.irk(RuleKey rk, int c)
focal_class.full_signature: protected InternRuleKey irk(RuleKey rk, int c)
focal_class.identifier: irk
focal_class.modifiers: protected
focal_class.parameters: (RuleKey rk, int c)
focal_class.return: InternRuleKey
focal_class.signature: InternRuleKey irk(RuleKey rk, int c)
focal_class.class_method_signature: RuleProductionBuilder.COLLECT_NESTED(int initialIndex, InternRuleKey[] irks)
focal_class.full_signature: protected static CollectNestedMatchesEval COLLECT_NESTED(int initialIndex, InternRuleKey[] irks)
focal_class.identifier: COLLECT_NESTED
focal_class.modifiers: protected static
focal_class.parameters: (int initialIndex, InternRuleKey[] irks)
focal_class.return: CollectNestedMatchesEval
focal_class.signature: CollectNestedMatchesEval COLLECT_NESTED(int initialIndex, InternRuleKey[] irks)
focal_class.class_method_signature: RuleProductionBuilder.PUT_MATCHES(int index)
focal_class.full_signature: protected static PutMatchesEval PUT_MATCHES(int index)
focal_class.identifier: PUT_MATCHES
focal_class.modifiers: protected static
focal_class.parameters: (int index)
focal_class.return: PutMatchesEval
focal_class.signature: PutMatchesEval PUT_MATCHES(int index)
focal_method.body: public RuleKey buildRule(Rule rule, ProductionBuilder pb) {
          keys.clear();
          matchCounter = 0;
          baseRule = pb;
          return build(rule, pb).getOriginal();
      }
focal_method.class_method_signature: RuleProductionBuilder.buildRule(Rule rule, ProductionBuilder pb)
focal_method.full_signature: public RuleKey buildRule(Rule rule, ProductionBuilder pb)
focal_method.identifier: buildRule
focal_method.invocations: clear getOriginal build
focal_method.modifiers: public
focal_method.parameters: (Rule rule, ProductionBuilder pb)
focal_method.return: RuleKey
focal_method.signature: RuleKey buildRule(Rule rule, ProductionBuilder pb)