def p_empty_or_comment(line, comment='#'):
    """Predicate matching strings that are not empty and don't start
    with a comment character. For best results, the line should no
    longer contain whitespace at the start."""
    return len(line) and not line.startswith(comment)