'use strict'; const name = 'Selector'; const structure = { children: [[ 'TypeSelector', 'IdSelector', 'ClassSelector', 'AttributeSelector', 'PseudoClassSelector', 'PseudoElementSelector', 'Combinator', 'WhiteSpace' ]] }; function parse() { const children = this.readSequence(this.scope.Selector); // nothing were consumed if (this.getFirstListNode(children) === null) { this.error('Selector is expected'); } return { type: 'Selector', loc: this.getLocationFromList(children), children }; } function generate(node) { this.children(node); } exports.generate = generate; exports.name = name; exports.parse = parse; exports.structure = structure;