question: private boolean isAbstract ( String source ) { int nonterminalCount = 0 ; for ( String t : source . split ( "\\s+" ) ) { if ( ! t . matches ( NT_REGEX ) ) return false ; nonterminalCount ++ ; } return nonterminalCount != 0 ; }
target:  Determines whether a rule is an abstract rule. An abstract rule is one that has no terminals on its source side. If the rule is abstract, the rule's arity is returned. Otherwise, 0 is returned.