Package net.sourceforge.pmd.lang.jsp.ast
Class JspParser
- java.lang.Object
-
- net.sourceforge.pmd.lang.jsp.ast.JspParser
-
- All Implemented Interfaces:
JspParserConstants,JspParserTreeConstants
public class JspParser extends Object implements JspParserTreeConstants, JspParserConstants
JSP Parser for PMD.- Author:
- Pieter, Application Engineers NV/SA, http://www.ae.be
-
-
Field Summary
Fields Modifier and Type Field Description Tokenjj_ntNext token.protected JJTJspParserStatejjtreeTokentokenCurrent token.JspParserTokenManagertoken_sourceGenerated Token Manager.-
Fields inherited from interface net.sourceforge.pmd.lang.jsp.ast.JspParserConstants
AfterTagState, ALPHA_CHAR, ALPHANUM_CHAR, ATTR_EQ, ATTR_NAME, AttrValueBetweenDoubleQuotesState, AttrValueBetweenSingleQuotesState, AttrValueNoQuotesState, AttrValueState, CDATA_END, CDATA_START, CDataState, COMMENT_END, COMMENT_START, COMMENT_TEXT, CommentState, DECL_END, DECL_START, DEFAULT, DOCTYPE_DECL_END, DOCTYPE_DECL_START, DocTypeExternalIdState, DocTypeState, DOLLAR_OR_HASH, DOLLAR_OR_HASH_DOUBLE_QUOTE, DOLLAR_OR_HASH_SINGLE_QUOTE, DOUBLE_QUOTE, EL_ESCAPE, EL_EXPRESSION, EL_EXPRESSION_IN_ATTRIBUTE, ENDING_DOUBLE_QUOTE, ENDING_SINGLE_QUOTE, ENDING_WHITESPACE, ENDTAG_START, EOF, HTML_SCRIPT_CONTENT, HTML_SCRIPT_END_TAG, HTML_SCRIPT_START, HtmlScriptContentState, IDENTIFIER, IDENTIFIER_CHAR, IN_ATTR_WHITESPACE, IN_TAG_ERROR, InTagState, JSP_COMMENT_CONTENT, JSP_COMMENT_END, JSP_COMMENT_START, JSP_DECLARATION, JSP_DECLARATION_END, JSP_DECLARATION_START, JSP_DIRECTIVE_ATTRIBUTE_EQUALS, JSP_DIRECTIVE_ATTRIBUTE_NAME, JSP_DIRECTIVE_ATTRIBUTE_VALUE, JSP_DIRECTIVE_END, JSP_DIRECTIVE_NAME, JSP_DIRECTIVE_START, JSP_EXPRESSION, JSP_EXPRESSION_END, JSP_EXPRESSION_IN_ATTRIBUTE, JSP_EXPRESSION_START, JSP_SCRIPTLET, JSP_SCRIPTLET_END, JSP_SCRIPTLET_START, JspCommentState, JspDeclarationState, JspDirectiveAttributesState, JspDirectiveState, JspExpressionState, JspScriptletState, LST_ERROR, NAME, NEWLINE, NO_ENDTAG_START, NO_JSP_COMMENT_END, NO_JSP_TAG_END, NO_JSP_TAG_END_EXCEPT_QUOTED, NO_LT_OR_DOLLAR_OR_HASH, NO_OPENBRACE, NO_QUOTE_NO_WHITESPACE, NO_WHITESPACE_OR_LT_OR_DOLLAR, NUM_CHAR, PUBLIC, QUOTE, QUOTED_LITERAL, QUOTED_STRING, QUOTED_STRING_NO_BREAKS, SINGLE_QUOTE, StartTagState, SYSTEM, TAG_END, TAG_NAME, TAG_SLASHEND, TAG_START, TEXT_IN_EL, tokenImage, UNPARSED, UNPARSED_TEXT, UNPARSED_TEXT_NO_DOUBLE_QUOTES, UNPARSED_TEXT_NO_SINGLE_QUOTES, UNPARSED_TEXT_NO_WHITESPACE, VALUE_BINDING_IN_ATTRIBUTE, WHITESPACE, WHITESPACES, XMLNAME
-
Fields inherited from interface net.sourceforge.pmd.lang.jsp.ast.JspParserTreeConstants
JJTATTRIBUTE, JJTATTRIBUTEVALUE, JJTCDATA, JJTCOMMENTTAG, JJTCOMPILATIONUNIT, JJTCONTENT, JJTDECLARATION, JJTDOCTYPEDECLARATION, JJTDOCTYPEEXTERNALID, JJTELEMENT, JJTELEXPRESSION, JJTHTMLSCRIPT, JJTJSPCOMMENT, JJTJSPDECLARATION, JJTJSPDIRECTIVE, JJTJSPDIRECTIVEATTRIBUTE, JJTJSPEXPRESSION, JJTJSPEXPRESSIONINATTRIBUTE, JJTJSPSCRIPTLET, jjtNodeName, JJTTEXT, JJTUNPARSEDTEXT, JJTVALUEBINDING, JJTVOID
-
-
Constructor Summary
Constructors Constructor Description JspParser(net.sourceforge.pmd.lang.ast.CharStream stream)Constructor with user supplied CharStream.JspParser(JspParserTokenManager tm)Constructor with generated Token Manager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidAttribute()voidAttributeValue()The value of an attribute of an element.voidCData()voidCommentTag()ASTCompilationUnitCompilationUnit()The root of the AST of a JSP.voidContent()Everything between a start-tag and the corresponding end-tag of an element (if an end tag exists).voidContentElement()A single (non-text) element that can occur between a start-tag and end-tag of an element.voidDeclaration()voiddisable_tracing()Disable tracing.voidDoctypeDeclaration()voidDoctypeExternalId()voidElement()A XML element, either with a single empty tag, or with a starting and closing tag with optional contained content.StringElExpression()An EL expression, not within an attribute value.StringElExpressionInAttribute()voidenable_tracing()Enable tracing.ParseExceptiongenerateParseException()Generate ParseException.TokengetNextToken()Get the next Token.TokengetToken(int index)Get the specific Token.voidHtmlScript()voidJspComment()voidJspDeclaration()voidJspDirective()voidJspDirectiveAttribute()voidJspExpression()StringJspExpressionInAttribute()voidJspScriptlet()voidProlog()The optional prolog of a JSP, including (xml) declarations and DTD.StringQuoteIndependentAttributeValueContent()Partial content of an attribute value that can contain all quotes.voidReInit(net.sourceforge.pmd.lang.ast.CharStream stream)Reinitialise.voidReInit(JspParserTokenManager tm)Reinitialise.voidText()This production groups all characters between two tags, where tag is an xml-tag "<...>" or a jsp-page-tag "<%...%>" or CDATA "<![CDATA[...]]>".StringUnparsedText()StringUnparsedTextNoDoubleQuotes()Text that contains no double quotes, and that does not contain the start of a EL expression or value binding.StringUnparsedTextNoSingleQuotes()Text that contains no single quotes, and that does not contain the start of a EL expression or value binding.StringUnparsedTextNoWhitespace()StringValueBindingInAttribute()
-
-
-
Field Detail
-
jjtree
protected JJTJspParserState jjtree
-
token_source
public JspParserTokenManager token_source
Generated Token Manager.
-
token
public Token token
Current token.
-
jj_nt
public Token jj_nt
Next token.
-
-
Constructor Detail
-
JspParser
public JspParser(net.sourceforge.pmd.lang.ast.CharStream stream)
Constructor with user supplied CharStream.
-
JspParser
public JspParser(JspParserTokenManager tm)
Constructor with generated Token Manager.
-
-
Method Detail
-
CompilationUnit
public final ASTCompilationUnit CompilationUnit() throws ParseException
The root of the AST of a JSP.- Throws:
ParseException
-
Prolog
public final void Prolog() throws ParseExceptionThe optional prolog of a JSP, including (xml) declarations and DTD.- Throws:
ParseException
-
Content
public final void Content() throws ParseExceptionEverything between a start-tag and the corresponding end-tag of an element (if an end tag exists).- Throws:
ParseException
-
ContentElement
public final void ContentElement() throws ParseExceptionA single (non-text) element that can occur between a start-tag and end-tag of an element.- Throws:
ParseException
-
JspDirective
public final void JspDirective() throws ParseException- Throws:
ParseException
-
JspDirectiveAttribute
public final void JspDirectiveAttribute() throws ParseException- Throws:
ParseException
-
JspScriptlet
public final void JspScriptlet() throws ParseException- Throws:
ParseException
-
JspExpression
public final void JspExpression() throws ParseException- Throws:
ParseException
-
JspDeclaration
public final void JspDeclaration() throws ParseException- Throws:
ParseException
-
JspComment
public final void JspComment() throws ParseException- Throws:
ParseException
-
Text
public final void Text() throws ParseExceptionThis production groups all characters between two tags, where tag is an xml-tag "<...>" or a jsp-page-tag "<%...%>" or CDATA "<![CDATA[...]]>". Text consists of unparsed text and/or Expression Language expressions.- Throws:
ParseException
-
UnparsedText
public final String UnparsedText() throws ParseException
- Throws:
ParseException
-
UnparsedTextNoWhitespace
public final String UnparsedTextNoWhitespace() throws ParseException
- Throws:
ParseException
-
UnparsedTextNoSingleQuotes
public final String UnparsedTextNoSingleQuotes() throws ParseException
Text that contains no single quotes, and that does not contain the start of a EL expression or value binding.- Throws:
ParseException
-
UnparsedTextNoDoubleQuotes
public final String UnparsedTextNoDoubleQuotes() throws ParseException
Text that contains no double quotes, and that does not contain the start of a EL expression or value binding.- Throws:
ParseException
-
ElExpression
public final String ElExpression() throws ParseException
An EL expression, not within an attribute value.- Throws:
ParseException
-
ValueBindingInAttribute
public final String ValueBindingInAttribute() throws ParseException
- Throws:
ParseException
-
ElExpressionInAttribute
public final String ElExpressionInAttribute() throws ParseException
- Throws:
ParseException
-
CData
public final void CData() throws ParseException- Throws:
ParseException
-
Element
public final void Element() throws ParseExceptionA XML element, either with a single empty tag, or with a starting and closing tag with optional contained content.- Throws:
ParseException
-
Attribute
public final void Attribute() throws ParseException- Throws:
ParseException
-
AttributeValue
public final void AttributeValue() throws ParseExceptionThe value of an attribute of an element. EL expressions, JSF value bindings, and JSP expressions are parsed as sub-nodes of the AttributeValue node.- Throws:
ParseException
-
QuoteIndependentAttributeValueContent
public final String QuoteIndependentAttributeValueContent() throws ParseException
Partial content of an attribute value that can contain all quotes. This groups EL expressions, value bindings, and JSP expressions.- Throws:
ParseException
-
JspExpressionInAttribute
public final String JspExpressionInAttribute() throws ParseException
- Throws:
ParseException
-
CommentTag
public final void CommentTag() throws ParseException- Throws:
ParseException
-
Declaration
public final void Declaration() throws ParseException- Throws:
ParseException
-
DoctypeDeclaration
public final void DoctypeDeclaration() throws ParseException- Throws:
ParseException
-
DoctypeExternalId
public final void DoctypeExternalId() throws ParseException- Throws:
ParseException
-
HtmlScript
public final void HtmlScript() throws ParseException- Throws:
ParseException
-
ReInit
public void ReInit(net.sourceforge.pmd.lang.ast.CharStream stream)
Reinitialise.
-
ReInit
public void ReInit(JspParserTokenManager tm)
Reinitialise.
-
getNextToken
public final Token getNextToken()
Get the next Token.
-
getToken
public final Token getToken(int index)
Get the specific Token.
-
generateParseException
public ParseException generateParseException()
Generate ParseException.
-
enable_tracing
public final void enable_tracing()
Enable tracing.
-
disable_tracing
public final void disable_tracing()
Disable tracing.
-
-