bundles/org.apache.jasper.glassfish/src/org/apache/jasper/compiler/Parser.java
private void parseElements(Node parent) 
        throws JasperException 
    {
        if( scriptlessCount > 0 ) {
            // vc: ScriptlessBody
            // We must follow the ScriptlessBody production if one of
            // our parents is ScriptlessBody.
            parseElementsScriptless( parent );
            return;
        }
        
	start = reader.mark();
	if (reader.matches("<%--")) {
	    parseComment(parent);
	} else if (reader.matches("<%@")) {
	    parseDirective(parent);
        } else if (reader.matches("<jsp:directive.")) {
            parseXMLDirective(parent);
	} else if (reader.matches("<%!")) {
	    parseDeclaration(parent);
        } else if (reader.matches("<jsp:declaration")) {
            parseXMLDeclaration(parent);
        } else if (reader.matches("<%=")) {
            parseExpression(parent);
        } else if (reader.matches("<jsp:expression")) {
            parseXMLExpression(parent);
	} else if (reader.matches("<%")) {
	    parseScriptlet(parent);
        } else if (reader.matches("<jsp:scriptlet")) {
            parseXMLScriptlet(parent);
        } else if (reader.matches("<jsp:text")) {
            parseXMLTemplateText(parent);
        } else if (reader.matches("${")) {
            parseELExpression(parent, "${");
        } else if (reader.matches("#{")) {
            parseELExpression(parent, "#{");
	} else if (reader.matches("<jsp:")) {
	    parseStandardAction(parent);
	} else if (!parseCustomTag(parent)) {
            checkUnbalancedEndTag();
            parseTemplateText(parent);
	}
    }
private void parseElements(Node parent) 
        throws JasperException 
    {
        if( scriptlessCount > 0 ) {
            // vc: ScriptlessBody
            // We must follow the ScriptlessBody production if one of
            // our parents is ScriptlessBody.
            parseElementsScriptless( parent );
            return;
        }
        
	start = reader.mark();
	if (reader.matches("<%--")) {
	    parseComment(parent);
	} else if (reader.matches("<%@")) {
	    parseDirective(parent);
        } else if (reader.matches("<jsp:directive.")) {
            parseXMLDirective(parent);
	} else if (reader.matches("<%!")) {
	    parseDeclaration(parent);
        } else if (reader.matches("<jsp:declaration")) {
            parseXMLDeclaration(parent);
        } else if (reader.matches("<%=")) {
            parseExpression(parent);
        } else if (reader.matches("<jsp:expression")) {
            parseXMLExpression(parent);
	} else if (reader.matches("<%")) {
	    parseScriptlet(parent);
        } else if (reader.matches("<jsp:scriptlet")) {
            parseXMLScriptlet(parent);
        } else if (reader.matches("<jsp:text")) {
            parseXMLTemplateText(parent);
        } else if (reader.matches("${")) {
            parseELExpression(parent, "${");
        } else if (reader.matches("#{")) {
            parseELExpression(parent, "#{");
	} else if (reader.matches("<jsp:")) {
	    parseStandardAction(parent);
	} else if (!parseCustomTag(parent)) {
            checkUnbalancedEndTag();
            parseTemplateText(parent);
	}
    }
private void parseElements ( Node parent ) throws JasperException { if ( scriptlessCount > 0 ) { // vc: ScriptlessBody // We must follow the ScriptlessBody production if one of // our parents is ScriptlessBody. parseElementsScriptless ( parent ) ; return ; } start = reader . mark ( ) ; if ( reader . matches ( "<%--" ) ) { parseComment ( parent ) ; } else if ( reader . matches ( "<%@" ) ) { parseDirective ( parent ) ; } else if ( reader . matches ( "<jsp:directive." ) ) { parseXMLDirective ( parent ) ; } else if ( reader . matches ( "<%!" ) ) { parseDeclaration ( parent ) ; } else if ( reader . matches ( "<jsp:declaration" ) ) { parseXMLDeclaration ( parent ) ; } else if ( reader . matches ( "<%=" ) ) { parseExpression ( parent ) ; } else if ( reader . matches ( "<jsp:expression" ) ) { parseXMLExpression ( parent ) ; } else if ( reader . matches ( "<%" ) ) { parseScriptlet ( parent ) ; } else if ( reader . matches ( "<jsp:scriptlet" ) ) { parseXMLScriptlet ( parent ) ; } else if ( reader . matches ( "<jsp:text" ) ) { parseXMLTemplateText ( parent ) ; } else if ( reader . matches ( "${" ) ) { parseELExpression ( parent , "${" ) ; } else if ( reader . matches ( "#{" ) ) { parseELExpression ( parent , "#{" ) ; } else if ( reader . matches ( "<jsp:" ) ) { parseStandardAction ( parent ) ; } else if ( ! parseCustomTag ( parent ) ) { checkUnbalancedEndTag ( ) ; parseTemplateText ( parent ) ; } }
/*
AllBody ::=       ( '<%--'              JSPCommentBody     )
| ( '<%@'               DirectiveBody      )
| ( '<jsp:directive.'   XMLDirectiveBody   )
| ( '<%!'               DeclarationBody    )
| ( '<jsp:declaration'  XMLDeclarationBody )
| ( '<%='               ExpressionBody     )
| ( '<jsp:expression'   XMLExpressionBody  )
| ( '${'                ELExpressionBody   )
| ( '<%'                ScriptletBody      )
| ( '<jsp:scriptlet'    XMLScriptletBody   )
| ( '<jsp:text'         XMLTemplateText    )
| ( '<jsp:'             StandardAction     )
| ( '<'                 CustomAction
CustomActionBody   )
| TemplateText
/ * AllBody :: = ( <% -- JSPCommentBody ) | ( <%