public void parse(String line) {
        // Ищем символы "<-"
        Matcher matcher = arrowPattern.matcher(line);
        // Если нашли, то в строке должно быть правило
        // иначе там должен быть факт
        if (matcher.find()) {
            Rule rule = parseRule(line);
            if (rule != null) {
                rules.add(rule);
            }
            else {
                System.out.println("Error: line \"" + line + "\" hasn't been parsed");
            }
        }
        else {
            Predicate fact = parseFact(line);
            if (fact != null) {
                facts.add(fact);
            }
            else {
                System.out.println("Error: line \"" + line + "\" hasn't been parsed");
            }
        }
    }