Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Реализована выдача предупреждений об экранируемых предложениях #297

Merged
merged 9 commits into from
Jun 25, 2020

Conversation

nexterot
Copy link
Contributor

@nexterot nexterot commented Jun 24, 2020

Как использовать

Флаг компилятора -Wscreening (или -Wall).

Осторожно: при достаточно больших входных данных время компиляции может значительно увеличиться (протестировано на исходниках Рефала-5λ и суперкомпилятора SCP4 — примерно в 2 раза).

Также алгоритм замедляется при наличии в теле функции большого числа предложений (около 100) ввиду квадратичной зависимости времени генерации пар от числа предложений.

Принцип работы

  1. Образцы в телах предложений попарно проверяются с помощью алгоритма обобщенного сопоставления GenericMatch.
  2. Если соответствие обнаружено не было, запускается второй алгоритм, основанный на теории языков образцов.

Copy link
Member

@Mazdaywik Mazdaywik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Положите, пожалуйста, в папку doc финальные версии записки и презентации к защите.

@nexterot nexterot changed the title Реализована выдача экранируемых предложений #256 Реализована выдача экранируемых предложений Jun 24, 2020
@nexterot
Copy link
Contributor Author

Добавил записку и презентацию

@Mazdaywik
Copy link
Member

Добавьте, пожалуйста, к последнему коммиту номер задачи.

@Mazdaywik Mazdaywik self-assigned this Jun 25, 2020
@nexterot nexterot force-pushed the nexterot-screening branch from 353d95d to cd8debf Compare June 25, 2020 07:01
@nexterot
Copy link
Contributor Author

Готово

@Mazdaywik Mazdaywik changed the title Реализована выдача экранируемых предложений Реализована выдача предупреждений об экранируемых предложениях Jun 25, 2020
F {
e.X t.Y (t.Z e.K) = 1;
A e.Q (B C D) = 2;
}
Copy link
Member

@Mazdaywik Mazdaywik Jun 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кружочек с минусом означает, что файл не заканчивается на \n.

UPD: он отображается только на вкладке «Files changed».

Copy link
Member

@Mazdaywik Mazdaywik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Всецело одобряю!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Предупреждать об экранируемых предложениях
2 participants