LINUX.ORG.RU

Сообщения Hammernv

 

Сравнение двух исходников

Добрый день. Имеется такая задача: допустим, есть два исходника одной и той же программы(задачи). Язык заранее известен. Один исходник выдает правильный результат, второй нет. Необходимо сравнить их и программно понять, почему первый проходит, а второй нет.

Например:

1.

 
int c;
cin >> c;
...
if (c == 1)

2.

long long c;
cin  >> c;
...
if (c != 1)

Пусть второй код будет правильный, тогда причина почему первый не проходит в типе переменной c и знака сравнения.

Мои идеи, как это все реализовать. Для начала реализовать аналог diff. Далее для полученных строк построить синтаксическое дерево(с помощью antlr, например). Чтобы была возможность определить тип переменной. И уже сравнить два дерева.

Возможно, есть другие идеи как это все реализовать. У кого какие мысли?

 , corrections programs

Hammernv
()

Логическое и физическое журналирование

Добрый вечер. Собственно вопрос, правильно ли я понимаю, что в логическом журналировании мы логируем только мета-данные, а в физическом - блоки данных? Т.е. по сути, логическое - это writeback, а физическое - journal в Ext3?

 , ,

Hammernv
()

RSS подписка на новые темы