Alexander_KS
  • Joined on 2023-09-14
Alexander_KS approved Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

я бы начал смотреть комментарии снизу вверх - от самой нижней функции и выше.

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

ошибка при слиянии, cmake не строится

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

вот так просто поменять тип? главное, чтобы он был правильный, то что ниже делается через new - не правильно. Нужно либо через copyPtr или просто сохранять тот тип, что там выдается.

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

скобки лишние, и у if выше тоже

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

про глобальные переменные комментарий ниже

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

зачем создавать новый тип? его нельзя разве использовать? это тут явно лишнее

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

не нужно использовать глобальные переменные без надобности

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

выход из этого цикла можно сделать как только встретился исполняемый оператор? еще если не сделать выход

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

а зачем еще раз проверяет, что он не объявлен, если это делается выше?

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

тут происходит что то странное, надо бы это по нормальному сделать. А почему берется второй символ (letter[1]), а не первый? Как размер строки, которая выдается через sunparse, можно покрыть все случаи?

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

что здесь имеется в виду? kind можно получить и без анпарсинга, так как помимо этого ключевого слова, есть или и другой способ задания. Подробности можно посмотреть в LoopAnalyzer/loop_analyzer.cpp:2567 в функции getSizeOfType.

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

аналогично, зачем создавать новый тип? вообще наверно можно было бы его скопировать, так как это явно правильнее, чем создавать по варианту, так как тут не учтен еще kind/len.

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

зачем пустой блок? лучше тогда != NULL

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

родитель оператора для вставки есть сама функция, поэтому в данном случае получать ср нет смысла, так как это равно function. Логично бы было использовать insertAfter для вставки нового оператора первым. Вопрос - всегда ли implicit должен быть первым ?

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

тут наверно лишняя пустая строка между intType и realType и не нужные { }

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

через printInernal, см комментарии ниже

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

лучше эту переменную все же заполнить, или удалить

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

не лучший вариант прохода по всем операторам функции, так как скорее всего функция взятия конкретного оператора будет проходит по всем оператора функции с начала и до этого номера, что не эффективно. Лучше это делать так, как показано в инструкции - начиная с первого и перемещаясь через lexNext.

Alexander_KS commented on pull request Alexander_KS/SAPFOR#19 2023-12-12 08:25:49 +00:00
task-create-implicit-pass

в проход передавать проект в целом не разрешается, поэтому нужно перевести этот проход на проход по файлам, так как ему не зачем что то выполнять над проектом.

Alexander_KS pushed to master at Alexander_KS/SAPFOR 2023-12-11 17:49:55 +00:00
d360bf5a43 Merge pull request 'Обновление прохода удаления приватных переменных' (#18) from private_removing into master
962b89f502 private_removing: fix bug in expression substitution
f42ed16096 add checking for iteration vars in index expressions
b35886bf0e private_removing: add support for indexes like 2*i + 1
Compare 4 commits »