... | ... | @@ -306,10 +306,10 @@ namespace SimpleCompiler |
|
|
### Индивидуальные задания (раздел в разработке)
|
|
|
|
|
|
- Дополнить грамматику языка конструкций function(arglist) [varlist] begin statement end; включая оператор return expr
|
|
|
где varlist имеет вид var a,b,c; и agrlit имеет вид a,b,c **(20 баллов)**
|
|
|
- Дополнить грамматику языка конструкцией лямбда-функции (arglist) => do statement где arglist имеет вид a,b,c. **(20 баллов)**
|
|
|
- Дополнить грамматику языка типизированными объявлениями переменных, например int a,b; float c; Допустимые типы- int, char, double, float, bool, string; Реализовать оператор приведения типа (<имя типа>) **(20 баллов)**
|
|
|
- Дополнить грамматику языка описаниями классов вида class <имя класса> begin <список полей> end поля могут быть переменными или методами, каждое поле должно предваряться квалификаторами public, private или protected **(20 баллов)**
|
|
|
где varlist имеет вид var a,b,c; и agrlit имеет вид a,b,c **(10 баллов)**
|
|
|
- Дополнить грамматику языка конструкцией лямбда-функции (arglist) => do statement где arglist имеет вид a,b,c. **(10 баллов)**
|
|
|
- Дополнить грамматику языка типизированными объявлениями переменных, например int a,b; float c; Допустимые типы- int, char, double, float, bool, string; Реализовать оператор приведения типа (<имя типа>) **(10 баллов)**
|
|
|
- Дополнить грамматику языка описаниями классов вида class <имя класса> begin <список полей> end поля могут быть переменными или методами, каждое поле должно предваряться квалификаторами public, private или protected **(10 баллов)**
|
|
|
- Реализовать синтаксический анализатор языка DOT: https://en.wikipedia.org/wiki/DOT_(graph_description_language) включая метки вершин, разные типы дуг и т.п. **(40 баллов)**
|
|
|
- Реализовать синтаксический анализатор языка EasyFlow. **(40 баллов)**
|
|
|
|