-
Notifications
You must be signed in to change notification settings - Fork 140
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
Conversation
There was a problem hiding this 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
________________________ | ||
[Smb (e)](b) => FA<int> | ||
[Smb (e)](b) => FA |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Smb
-- есть Symbol?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Да.
|
||
range = '[' NUM '..' NUM? ']' | ||
|
||
select = v_filter? v_filter? 'return' VAR (',' VAR)? 'where' VAR 'reachable' 'from' VAR 'in' VAR 'by' expr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тут вроде второй v_filter?
лишний
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
. Это так принято?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Да. Подразумевается, что должны быть ещё типы, которые решат такие проблемы. А чисто синтаксически написать можно много всякой ерунды. Ну и не совсем: в v_filter можно использовать всё, что вычисляется в множеству. Например, результат вычисления запроса.
Вроде попробовал причесать всё, что 10--12. Бонусную 10 пока не намерен давать, но пусть будет. Постараюсь сегодня ещё написать, как 12 тестировать. |
There was a problem hiding this 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). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
КРоме
No description provided.