Задать вопрос
syxme
@syxme

Как правильно описать кс грамматику к моему синтаксису?

Вот пример моего синтаксиса:
@style default {
    colors{
        baseColor:#00FF00;
        exColor:#00AA00;
    }
    dims{
        blockPadding:5dp
    }
}
@style dark:default {
    colors{
        baseColor:#0000FF;
    }

}

block {
    color:@colors.baseColor;
    padding:@dims.blockPadding;
}

newblock:block{
    width:100%;
    height:100%;
    padding:@colors.exColor;
}

Вот что я смог составить (EBNF):
<style>  ::= "@style" " " <word> <block>
<extend> ::= <word> ":" <word> 
<class>  ::= (<word> | <extend>) <block>
<block>  ::= "{" <assign>* "}"
<number> ::= <digit> | <number> <digit>

<assign> ::= <word> ":" <word> ";"
<word>	 ::= <symb> | <word> <symb>
<symb>   ::= ([0-9] | [a-z])+ 
<digit>  ::=  [0-9]

Правильно ли я всё описал ? Нужно ли что-то исправить ?
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Сложный 1 комментарий
Помогут разобраться в теме Все курсы
  • Stepik
    4в1—Парсинг, Асинхронность, Многопоточность, Многопроцессорность
    2 месяца
    Далее
  • Хекслет
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик PRO
    12 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Неправильно. Если пройтись вашей грамматикой по примеру, то практически во всех строках будут ошибки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы