"use strict";
/** @fileOverview Implements `class page.Tuple`.
* @author Axel T. Schreiner <ats@cs.rit.edu>
* @version 1.5.0
*/
/** Creates a new element of a tokenized input stream.
* @class Represents an element of a tokenized input stream.
*
* @param {number} _lineno input position.
* @param {page.BNF.T} _t terminal.
* @param {string} _value terminal's representation in the input.
*
* @property {number} lineno input position.
* @property {page.BNF.T} t terminal.
* @property {string} value terminal's representation in the input.
*
* @see page.BNF.tokenizer
*/
page.Tuple = function (_lineno, _t, _value) {
this.assert('Tuple-1', _t instanceof page.BNF.T);
this.lineno = _lineno;
this.t = _t;
this.value = _value;
};
page.baseclass(page.Tuple, 'page.Tuple');
/** Displays position, terminal, and associated value.
* @returns {string}.
*/
page.Tuple.prototype.toString = function () {
return '(' + this.lineno + ') ' + this.t +
(this.t instanceof page.BNF.Lit ? '' : ' ' + page.escape(this.value));
};