def _analyze_line(self, linenum):
        # Get rid of any tags that were previously on the line.
        self._clear_tags(linenum)

        # Get the line line's text string.
        line = self._textwidget.get(repr(linenum)+'.0', repr(linenum)+'.end')

        # If it's a valid production, then colorize each token.
        if CFGEditor._PRODUCTION_RE.match(line):
            # It's valid; Use _TOKEN_RE to tokenize the production,
            # and call analyze_token on each token.
            def analyze_token(match, self=self, linenum=linenum):
                self._analyze_token(match, linenum)
                return ''
            CFGEditor._TOKEN_RE.sub(analyze_token, line)
        elif line.strip() != '':
            # It's invalid; show the user where the error is.
            self._mark_error(linenum, line)
Return sql for condition.
dataset/ETHPy150Open nltk/nltk/nltk/draw/cfg.py/CFGEditor._analyze_line--crossover with--dataset/ETHPy150Open henriquebastos/django-aggregate-if/aggregate_if.py/SqlAggregate._condition_as_sql