Информация об изменениях

Сообщение Re[3]: Решил делать на основе регулярок от 10.12.2016 21:15

Изменено 10.12.2016 21:15 Went

Здравствуйте, night beast, Вы писали:

NB>Здравствуйте, Went, Вы писали:


W>>
W>>  size <widget> : .category {
W>>    y_snap top y 64
W>>    '/8|16|24|32|64/' <widget> : .option}
W>>

W>>эквивалентно:
W>>
W>>  size <widget> : .category 
W>>  {
W>>    y_snap top y 64
W>>    8 <widget> : .option
W>>    16 <widget> : .option
W>>    24 <widget> : .option
W>>    32 <widget> : .option
W>>    64 <widget> : .option
W>>  }
W>>


NB>а почему '/8|16|24|32|64/' дублирует именно <widget> : .option

NB>а не только <widget> или <widget> : .option}
Ну, это синтаксис языка такой.
'/8|16|24|32|64/' — это имя узла (как y_snap или top, их можно "в полной форме" писать как 'y_snap', 'top'), но так как оно ограничено слешами, то это мультиимя — отвечает на все перечисленные варианты.
<widget> — это признак узла, пометка для перечислений.
: .option — указание на то, что узел наследован от узла option, размещенного рядом (в нашем случае, у предка корневого узла size, отнаследованного в свою очередь от узла category).

То есть это не макрос, который при парсинге разворачивается в множество, а особое имя узла.
Здравствуйте, night beast, Вы писали:

NB>Здравствуйте, Went, Вы писали:


W>>
W>>  size <widget> : .category {
W>>    y_snap top y 64
W>>    '/8|16|24|32|64/' <widget> : .option}
W>>

W>>эквивалентно:
W>>
W>>  size <widget> : .category 
W>>  {
W>>    y_snap top y 64
W>>    8 <widget> : .option
W>>    16 <widget> : .option
W>>    24 <widget> : .option
W>>    32 <widget> : .option
W>>    64 <widget> : .option
W>>  }
W>>


NB>а почему '/8|16|24|32|64/' дублирует именно <widget> : .option

NB>а не только <widget> или <widget> : .option}
Ну, это синтаксис языка такой.
'/8|16|24|32|64/' — это имя узла (как y_snap или top, их можно "в полной форме" писать как 'y_snap', 'y'), но так как оно ограничено слешами, то это мультиимя — отвечает на все перечисленные варианты.
<widget> — это признак узла, пометка для перечислений.
: .option — указание на то, что узел наследован от узла option, размещенного рядом (в нашем случае, у предка корневого узла size, отнаследованного в свою очередь от узла category).

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