/** Constructor.
                                        * @param base       the production we are being factored out of.
                                        * @param lhs_sym    the LHS symbol for this production.
                                        * @param rhs_parts  array of production parts for the RHS.
                                        * @param rhs_len    how much of the rhs_parts array is valid.
                                        * @param action_str the trailing reduce action for this production.
                                        */
        public action_production(
		production      cbase,
		non_terminal    lhs_sym, 
			production_part[] rhs_parts,
		int             rhs_len,
			string          action_str)
            : base(lhs_sym, rhs_parts, rhs_len, action_str)
        {
            _base_production = cbase;
        }
        /** Constructor.
         * @param base       the production we are being factored out of.
         * @param lhs_sym    the LHS symbol for this production.
         * @param rhs_parts  array of production parts for the RHS.
         * @param rhs_len    how much of the rhs_parts array is valid.
         * @param action_str the trailing reduce action for this production.
         */
        public action_production(
            production cbase,
            non_terminal lhs_sym,
            production_part[] rhs_parts,
            int rhs_len,
            string action_str) : base(lhs_sym, rhs_parts, rhs_len, action_str)

        {
            _base_production = cbase;
        }