"use strict";
/** @fileOverview Implements `class page.BNF.Lit extends page.BNF.T`.
* @author Axel T. Schreiner <ats@cs.rit.edu>
* @version 1.5.0
*/
/** Creates a new literal for BNF.
* @class Represents a (unique!) literal for BNF.
* @extends page.BNF.T
* @private
*
* @param {string} _literal a value for the literal.
*
* @property {string} literal value for the literal.
*/
page.BNF.Lit = function (_literal) {
page.BNF.T.call(this);
this.literal = _literal;
};
page.subclass(page.BNF.Lit, 'page.BNF.Lit', page.BNF.T);
/** Displays string value of a literal.
* @override
* @variation BNF
* @returns {string}
*/
page.BNF.Lit.prototype.toString = function () {
return this.literal.length ? page.escape(this.literal) : '$eof';
};