Хочу заметить, что мне нужен ИСКЛЮЧИТЕЛЬНО КОД
Необходимо написать генератора графов DOT используя созданный компилятор написанный на языке scala ( синтаксисический анализ, парсинг, семантический анализ, оптимизация, генерация). Сгенерированные графы должны выводиться на экран, а исходный текст графа должен быть загружен из файла.
Также надо привести примеры с ошибками, например, не закрыта скобка, компилятор должен будет указать на эту ошибку
Грамматика языка графов DOT:
graph:[ strict ] (graph | digraph) [ ID ] '{' stmt_list '}'
stmt_list:[ stmt [ ';' ] stmt_list ]
stmt:node_stmt
|edge_stmt
|attr_stmt|ID '=' ID
|subgraph
attr_stmt:(graph | node | edge) attr_list
attr_list:'[' [ a_list ] ']' [ attr_list ]
a_list:ID '=' ID [ (';' | ',') ] [ a_list ]
edge_stmt:(node_id | subgraph) edgeRHS [ attr_list ]
edgeRHS:edgeop (node_id | subgraph) [ edgeRHS ]
node_stmt:node_id [ attr_list ]
node_id:ID [ port ]
port:':' ID [ ':' compass_pt ]
|':' compass_pt
subgraph:[ subgraph [ ID ] ] '{' stmt_list '}'
compass_pt:(n | ne | e | se | s | sw | w | nw | c | _)
| Гарантия на работу | 1 год |
| Средний балл | 4.54 |
| Стоимость | Назначаете сами |
| Эксперт | Выбираете сами |
| Уникальность работы | от 70% |