/*-----------------------------------------------------------*/
        /*--- Constructor(s) ----------------------------------------*/
        /*-----------------------------------------------------------*/
        /** Full constructor.
         * @param on_sym  symbol we are transitioning on.
         * @param to_st   state we transition to.
         * @param nxt     next transition in linked list.
         */
        public lalr_transition(symbol on_sym, lalr_state to_st, lalr_transition nxt)
        {
            /* sanity checks */
                if (on_sym == null)
            throw new internal_error("Attempt to create transition on null symbol");
            if (to_st == null)
            throw new internal_error("Attempt to create transition to null state");

            /* initialize */
            _on_symbol = on_sym;
            _to_state  = to_st;
            _next      = nxt;
        }
        /*-----------------------------------------------------------*/
        /*--- Constructor(s) ----------------------------------------*/
        /*-----------------------------------------------------------*/

        /** Full constructor.
         * @param on_sym  symbol we are transitioning on.
         * @param to_st   state we transition to.
         * @param nxt     next transition in linked list.
         */
        public lalr_transition(symbol on_sym, lalr_state to_st, lalr_transition nxt)

        {
            /* sanity checks */
            if (on_sym == null)
            {
                throw new internal_error("Attempt to create transition on null symbol");
            }
            if (to_st == null)
            {
                throw new internal_error("Attempt to create transition to null state");
            }

            /* initialize */
            _on_symbol = on_sym;
            _to_state  = to_st;
            _next      = nxt;
        }