'use strict'; const types = require('../tokenizer/types.cjs'); function readSequence(recognizer) { const children = this.createList(); let space = false; const context = { recognizer }; while (!this.eof) { switch (this.tokenType) { case types.Comment: this.next(); continue; case types.WhiteSpace: space = true; this.next(); continue; } let child = recognizer.getNode.call(this, context); if (child === undefined) { break; } if (space) { if (recognizer.onWhiteSpace) { recognizer.onWhiteSpace.call(this, child, children, context); } space = false; } children.push(child); } if (space && recognizer.onWhiteSpace) { recognizer.onWhiteSpace.call(this, null, children, context); } return children; } exports.readSequence = readSequence;