src/elements/Symbol.js
function Symbol(value, parameters) {
    abstractions.Element.call(this, utilities.types.SYMBOL, parameters);
    if (!value || !/^[a-zA-Z][0-9a-zA-Z]*$/g.test(value)) {
        throw new utilities.Exception({
            $module: '/bali/elements/Symbol',
            $procedure: '$Symbol',
            $exception: '$invalidParameter',
            $parameter: value.toString(),
            $text: '"An invalid symbol value was passed to the constructor."'
        });
    }

    // since this element is immutable the value must be read-only
    this.getValue = function() { return value; };

    return this;
}
function Symbol(value, parameters) {
    abstractions.Element.call(this, utilities.types.SYMBOL, parameters);
    if (!value || !/^[a-zA-Z][0-9a-zA-Z]*$/g.test(value)) {
        throw new utilities.Exception({
            $module: '/bali/elements/Symbol',
            $procedure: '$Symbol',
            $exception: '$invalidParameter',
            $parameter: value.toString(),
            $text: '"An invalid symbol value was passed to the constructor."'
        });
    }

    // since this element is immutable the value must be read-only
    this.getValue = function() { return value; };

    return this;
}
function Symbol ( value , parameters ) { abstractions . Element . call ( this , utilities . types . SYMBOL , parameters ) ; if ( ! value || ! / ^[a-zA-Z][0-9a-zA-Z]*$ / g . test ( value ) ) { throw new utilities . Exception ( { $module : '/bali/elements/Symbol' , $procedure : '$Symbol' , $exception : '$invalidParameter' , $parameter : value . toString ( ) , $text : '"An invalid symbol value was passed to the constructor."' } ) ; } // since this element is immutable the value must be read-only this . getValue = function ( ) { return value ; } ; return this ; }
PUBLIC CONSTRUCTOR 
This constructor creates a new symbol element using the specified value.

@param {String} value The value of the symbol.
@param {Parameters} parameters Optional parameters used to parameterize this element.
@returns {Symbol} The new symbol element.
PUBLIC CONSTRUCTOR This constructor creates a new symbol element using the specified value .