Какой стиль многострочных комментариев используется в Dart?Какой стиль многострочных комментариев используется на Dart?
Я знаю C-style
многострочных комментариев. Этот стиль не позволяет многострочные комментарии внутри многострочных комментариев (nested comments
).
Это 'C' style
комментарии заканчиваются на первом */
, встречающемся в многострочных комментариях.
Примеры:
законн пользов-ли C-стиль комментарий:
/*
*/
Не действует C-стиль комментарий:
/*
/**/
*/
В Dart оба стиль действителен, но, как я знаю, что в самом популярном Языки использовали только комментарии C-style
.
Вот мой вопрос.
Откуда этот стиль на языке дартов? From a historical point of view and practical
.
P.S.
Я пишу парсер PEG для Дарта и был удивлен, когда нашел его в грамматике. Это правило не разрешает автору распознавания в моем терминале multilne comment
, поскольку он рекурсивно называет себя.
MULTI_LINE_COMMENT <- '/*' (MULTI_LINE_COMMENT/!'*/' .)* '*/' ;
Кроме того, как этот многострочный комментарий может быть описана в Bison/Flex
терминологии?
Этот вопрос приходит, потому что в терминологии парсера PEG комментарии являются частью white spaces
. И в большинстве случаев white spaces
можно считать терминалами, потому что они не изменяют поведение (они не ветвятся и не рекурсивны по человеческой логике, т.е. производятся непосредственно в токенах с помощью лексических сканеров).
Я знаю, что в PEG анализаторах там нет разделения на терминалах и не-терминалах, но для лучшей ошибки отчетности некоторых эври- стического анализа правил грамматики никогда не препятствует
Хорошо. Я нашел решение, как распознать его как «терминал» в парсере, но главный вопрос (о стиле) все еще остается. – mezoni