зачем SyntaxTrivia входит в состав токенов?
От: Arsen.Shnurkov  
Дата: 17.07.17 10:00
Оценка:
Почему было принято именно такое проектное решение? Как это можно использовать? В каких языках программирования такое применяется и несёт смысловую нагрузку?

Для меня все пробелы одинаковы, и они могли бы разбираться на отдельном этапе в отдельные узлы-списки в синтаксическом дереве.

Абстрактно можено представить себе язык типа Python, в котором количество пробелов перед словом может влиять на его свойства,
но там ведь не одно слово в строке — как поступать с остальными?

Я бы создал два синтаксических узла "ведущие пробелы" и "остальные пробелы строки" и повключал бы всю тривию туда,
а не к смежным узлам.

В WhitePaper по Roslyn написано:

In general, a token owns any trivia after it on the same line up to the next token. Any trivia after that line is associated with the following token. The first token in the source file gets all the initial trivia, and the last sequence of trivia in the file is tacked onto the end-of-file token, which otherwise has zero width.

Спрашивается, почему нельзя (неудобно) было сделать Trivia доступными из обоих смежных токенов (раз уж она между ними находится)?

Чего я не понимаю?
Отредактировано 17.07.2017 10:45 Arsen.Shnurkov . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.