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

Задача 11. Про парсер. Описание языка. #134

Merged
merged 4 commits into from
Apr 20, 2024

Conversation

gsvgit
Copy link
Member

@gsvgit gsvgit commented Apr 19, 2024

No description provided.

@gsvgit gsvgit requested review from WoWaster and KubEF April 19, 2024 10:08
Copy link
Collaborator

@WoWaster WoWaster left a comment

Choose a reason for hiding this comment

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

Остальное -- ок. Но надо бы подчистить остальные задачи, иначе беда с нумерацией и вообще путает всех :(

tasks/task12.md Show resolved Hide resolved
tasks/task12.md Outdated
________________________
[Smb (e)](b) => FA<int>
[Smb (e)](b) => FA
Copy link
Collaborator

Choose a reason for hiding this comment

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

Smb -- есть Symbol?

Copy link
Member Author

Choose a reason for hiding this comment

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

Да.

tasks/task12.md Outdated Show resolved Hide resolved
@gsvgit gsvgit changed the title Задача 12. Про парсер. Описание языка. Задача 11. Про парсер. Описание языка. Apr 19, 2024
tasks/task10.md Show resolved Hide resolved
tasks/task10_bonus.md Outdated Show resolved Hide resolved
tasks/task10.md Outdated Show resolved Hide resolved
tasks/task12.md Show resolved Hide resolved
tasks/task11.md Show resolved Hide resolved
@WoWaster
Copy link
Collaborator

WoWaster commented Apr 19, 2024

Видимо это решит #101, #63 и #127


range = '[' NUM '..' NUM? ']'

select = v_filter? v_filter? 'return' VAR (',' VAR)? 'where' VAR 'reachable' 'from' VAR 'in' VAR 'by' expr
Copy link
Collaborator

@KubEF KubEF Apr 19, 2024

Choose a reason for hiding this comment

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

Тут вроде второй v_filter? лишний

Copy link
Member Author

Choose a reason for hiding this comment

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

@KubEF не. Тут не больше двух фильтров: по количеству концов у путей. Например, можно написать

let r = for v in [1,2] for u in [3,4] return v,u where u reachable from v in g by q

Copy link
Collaborator

Choose a reason for hiding this comment

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

Тут считается очевидным, что не надо писать всякой фигни, типа add edge 1 to g ? Просто как будто expr определён широко и используется довольно вольно. В v_filter тоже: там из expr можно использовать только set_expr. Это так принято?

Copy link
Member Author

Choose a reason for hiding this comment

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

Да. Подразумевается, что должны быть ещё типы, которые решат такие проблемы. А чисто синтаксически написать можно много всякой ерунды. Ну и не совсем: в v_filter можно использовать всё, что вычисляется в множеству. Например, результат вычисления запроса.

@gsvgit
Copy link
Member Author

gsvgit commented Apr 20, 2024

Вроде попробовал причесать всё, что 10--12. Бонусную 10 пока не намерен давать, но пусть будет. Постараюсь сегодня ещё написать, как 12 тестировать.

@gsvgit gsvgit requested a review from WoWaster April 20, 2024 05:44
Copy link
Collaborator

@WoWaster WoWaster left a comment

Choose a reason for hiding this comment

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

Кроме одной мини-очепятки, всё ок. Все свои вопросы выше позакрывал

tasks/task12.md Outdated
@@ -6,21 +6,16 @@


## Задача
В данной задаче необходимо разработать интерпретатор языка запросов согласно спецификации, разработанной в работе 13. Интерпретатор должен быть консольной утилитой и принимать на вход файл, исполнять его, сообщать в консоль о статусе исполнения (завершилось успешно, завершилось с ошибкой). Обратите внимание, что для "публикации" результатов вычислений в языке предусмотрена функция ```print```. Также обратите внимание на адекватность сообщений об исключительных ситуациях (некорректный вход, проблемы с типизацией и т.д.)
В данной задаче необходимо разработать интерпретатор языка запросов, разработанного в предыдущей работе. Для исполнения запросов использовать алгоритмы, реализованные в предыдущих работах. КРоме реализации необходимо предоставить минимальную документацию, поясняющую принятые в процессе реализации решения (например, в readme).
Copy link
Collaborator

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.

3 participants