public Production runSemanticAction_138()
        throws edu.umn.cs.melt.copper.runtime.logging.CopperParserException
        {
            @SuppressWarnings("unchecked") LinkedList<LabeledName> rhsElements = (LinkedList<LabeledName>) _children[0];
            Token code = (Token) _children[1];
            ProductionRHSFlags flags = (ProductionRHSFlags) _children[2];
            Production RESULT = null;
            
                Production bean = new Production();
                bean.setName(newName(new Token("_p" + (nextProduction++),getVirtualLocation())));
                bean.setLocation(getVirtualLocation());
                ArrayList<CopperElementReference> rhsSyms = new ArrayList<CopperElementReference>();
                ArrayList<String> rhsVarNames = new ArrayList<String>();
                for(LabeledName rhsSym : rhsElements)
                {
                	rhsSyms.add(newReference(rhsSym.name));
                	if(rhsSym.label != null) rhsVarNames.add(rhsSym.label.lexeme);
                	else rhsVarNames.add(null);
                }
                bean.setRhs(rhsSyms);
                bean.setRhsVarNames(rhsVarNames);
                if(code != null) bean.setCode(code.lexeme);
                if(flags.layout != null) bean.setLayout(new TreeSet<CopperElementReference>(flags.layout));
                if(flags.operator != null) bean.setOperator(flags.operator);
                bean.setPrecedence(nextProductionPrecedence--);
                RESULT = bean;
                
            return RESULT;
        }