程序包 bsh
类 Parser
java.lang.Object
bsh.Parser
- 所有已实现的接口:
ParserConstants
,ParserTreeConstants
This is the BeanShell parser. It is used internally by the Interpreter
class (which is probably what you are looking for). The parser knows
only how to parse the structure of the language, it does not understand
names, commands, etc.
You can use the Parser from the command line to do basic structural
validation of BeanShell files without actually executing them. e.g.
java bsh.Parser [ -p ] file [ file ] [ ... ]
The -p option causes the abstract syntax to be printed.
From code you'd use the Parser like this:
<p
Parser parser = new Parser(in);
while( !(eof=parser.Line()) ) {
SimpleNode node = parser.popNode();
// use the node, etc. (See bsh.BSH* classes)
}
-
字段概要
字段修饰符和类型字段说明protected bsh.JJTParserState
boolean
从接口继承的字段 bsh.ParserConstants
_DEFAULT, ABSTRACT, ANDASSIGN, ANDASSIGNX, ASSIGN, BANG, BIT_AND, BIT_ANDX, BIT_OR, BIT_ORX, BOOL_AND, BOOL_ANDX, BOOL_OR, BOOL_ORX, BOOLEAN, BREAK, BYTE, CASE, CATCH, CHAR, CHARACTER_LITERAL, CLASS, COLON, COMMA, CONST, CONTINUE, DECIMAL_LITERAL, DECR, DEFAULT, DIGIT, DO, DOT, DOUBLE, ELSE, ENUM, EOF, EQ, EXPONENT, EXTENDS, FALSE, FINAL, FINALLY, FLOAT, FLOATING_POINT_LITERAL, FOR, FORMAL_COMMENT, GE, GEX, GOTO, GT, GTX, HASH_BANG_COMMENT, HEX_LITERAL, HOOK, IDENTIFIER, IF, IMPLEMENTS, IMPORT, INCR, INSTANCEOF, INT, INTEGER_LITERAL, INTERFACE, LBRACE, LBRACKET, LE, LETTER, LEX, LONG, LPAREN, LSHIFT, LSHIFTASSIGN, LSHIFTASSIGNX, LSHIFTX, LT, LTX, MINUS, MINUSASSIGN, MOD, MODASSIGN, MULTI_LINE_COMMENT, NATIVE, NE, NEW, NONPRINTABLE, NULL, OCTAL_LITERAL, ORASSIGN, ORASSIGNX, PACKAGE, PLUS, PLUSASSIGN, PRIVATE, PROTECTED, PUBLIC, RBRACE, RBRACKET, RETURN, RPAREN, RSIGNEDSHIFT, RSIGNEDSHIFTASSIGN, RSIGNEDSHIFTASSIGNX, RSIGNEDSHIFTX, RUNSIGNEDSHIFT, RUNSIGNEDSHIFTASSIGN, RUNSIGNEDSHIFTASSIGNX, RUNSIGNEDSHIFTX, SEMICOLON, SHORT, SINGLE_LINE_COMMENT, SLASH, SLASHASSIGN, STAR, STARASSIGN, STATIC, STRICTFP, STRING_LITERAL, SWITCH, SYNCHRONIZED, THROW, THROWS, TILDE, tokenImage, TRANSIENT, TRUE, TRY, VOID, VOLATILE, WHILE, XOR, XORASSIGN
从接口继承的字段 bsh.ParserTreeConstants
JJTALLOCATIONEXPRESSION, JJTAMBIGUOUSNAME, JJTARGUMENTS, JJTARRAYDIMENSIONS, JJTARRAYINITIALIZER, JJTASSIGNMENT, JJTBINARYEXPRESSION, JJTBLOCK, JJTCASTEXPRESSION, JJTCLASSDECLARATION, JJTENHANCEDFORSTATEMENT, JJTFORMALCOMMENT, JJTFORMALPARAMETER, JJTFORMALPARAMETERS, JJTFORSTATEMENT, JJTIFSTATEMENT, JJTIMPORTDECLARATION, JJTLITERAL, JJTMETHODDECLARATION, JJTMETHODINVOCATION, jjtNodeName, JJTPACKAGEDECLARATION, JJTPRIMARYEXPRESSION, JJTPRIMARYSUFFIX, JJTPRIMITIVETYPE, JJTRETURNSTATEMENT, JJTRETURNTYPE, JJTSTATEMENTEXPRESSIONLIST, JJTSWITCHLABEL, JJTSWITCHSTATEMENT, JJTTERNARYEXPRESSION, JJTTHROWSTATEMENT, JJTTRYSTATEMENT, JJTTYPE, JJTTYPEDVARIABLEDECLARATION, JJTUNARYEXPRESSION, JJTVARIABLEDECLARATOR, JJTVOID, JJTWHILESTATEMENT
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明final void
final void
final void
final void
final void
final void
final void
final void
final void
final int
final void
Block()
final void
final boolean
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
ForInit()
final void
final void
final void
final void
final void
final Token
final Token
getToken
(int index) final void
final void
final void
final void
final void
final boolean
Line()
final void
Literal()
static void
final void
final void
final Modifiers
Modifiers
(int context, boolean lookahead) THE JAVA LANGUAGE GRAMMAR STARTS HERE *final void
final int
NameList()
final void
final void
bsh.SimpleNode
popNode()
final void
final void
final void
final void
final void
final void
final void
void
void
ReInit
(InputStream stream) void
final void
final void
final void
void
setRetainComments
(boolean b) final void
final void
final void
final void
final void
final void
final void
final void
final void
final void
Type()
final void
Declared a typed variable.final void
final void
final void
final void
final void
final void
-
字段详细资料
-
jjtree
protected bsh.JJTParserState jjtree -
token_source
-
token
-
jj_nt
-
lookingAhead
public boolean lookingAhead
-
-
构造器详细资料
-
Parser
-
Parser
-
Parser
-
-
方法详细资料
-
setRetainComments
public void setRetainComments(boolean b) -
popNode
public bsh.SimpleNode popNode() -
main
-
Line
- 抛出:
ParseException
-
Modifiers
THE JAVA LANGUAGE GRAMMAR STARTS HERE *- 抛出:
ParseException
-
ClassDeclaration
- 抛出:
ParseException
-
MethodDeclaration
- 抛出:
ParseException
-
PackageDeclaration
- 抛出:
ParseException
-
ImportDeclaration
- 抛出:
ParseException
-
VariableDeclarator
- 抛出:
ParseException
-
VariableInitializer
- 抛出:
ParseException
-
ArrayInitializer
- 抛出:
ParseException
-
FormalParameters
- 抛出:
ParseException
-
FormalParameter
- 抛出:
ParseException
-
Type
- 抛出:
ParseException
-
ReturnType
- 抛出:
ParseException
-
PrimitiveType
- 抛出:
ParseException
-
AmbiguousName
- 抛出:
ParseException
-
NameList
- 抛出:
ParseException
-
Expression
- 抛出:
ParseException
-
Assignment
- 抛出:
ParseException
-
AssignmentOperator
- 抛出:
ParseException
-
ConditionalExpression
- 抛出:
ParseException
-
ConditionalOrExpression
- 抛出:
ParseException
-
ConditionalAndExpression
- 抛出:
ParseException
-
InclusiveOrExpression
- 抛出:
ParseException
-
ExclusiveOrExpression
- 抛出:
ParseException
-
AndExpression
- 抛出:
ParseException
-
EqualityExpression
- 抛出:
ParseException
-
InstanceOfExpression
- 抛出:
ParseException
-
RelationalExpression
- 抛出:
ParseException
-
ShiftExpression
- 抛出:
ParseException
-
AdditiveExpression
- 抛出:
ParseException
-
MultiplicativeExpression
- 抛出:
ParseException
-
UnaryExpression
- 抛出:
ParseException
-
PreIncrementExpression
- 抛出:
ParseException
-
PreDecrementExpression
- 抛出:
ParseException
-
UnaryExpressionNotPlusMinus
- 抛出:
ParseException
-
CastLookahead
- 抛出:
ParseException
-
PostfixExpression
- 抛出:
ParseException
-
CastExpression
- 抛出:
ParseException
-
PrimaryExpression
- 抛出:
ParseException
-
MethodInvocation
- 抛出:
ParseException
-
PrimaryPrefix
- 抛出:
ParseException
-
PrimarySuffix
- 抛出:
ParseException
-
Literal
- 抛出:
ParseException
-
BooleanLiteral
- 抛出:
ParseException
-
NullLiteral
- 抛出:
ParseException
-
VoidLiteral
- 抛出:
ParseException
-
Arguments
- 抛出:
ParseException
-
ArgumentList
- 抛出:
ParseException
-
AllocationExpression
- 抛出:
ParseException
-
ArrayDimensions
- 抛出:
ParseException
-
Statement
- 抛出:
ParseException
-
LabeledStatement
- 抛出:
ParseException
-
Block
- 抛出:
ParseException
-
BlockStatement
- 抛出:
ParseException
-
FormalComment
- 抛出:
ParseException
-
EmptyStatement
- 抛出:
ParseException
-
StatementExpression
- 抛出:
ParseException
-
SwitchStatement
- 抛出:
ParseException
-
SwitchLabel
- 抛出:
ParseException
-
IfStatement
- 抛出:
ParseException
-
WhileStatement
- 抛出:
ParseException
-
DoStatement
- 抛出:
ParseException
-
ForStatement
- 抛出:
ParseException
-
EnhancedForStatement
- 抛出:
ParseException
-
ForInit
- 抛出:
ParseException
-
TypedVariableDeclaration
Declared a typed variable. Untyped variables are not declared per-se but are handled by the part of the grammar that deals with assignments.- 抛出:
ParseException
-
StatementExpressionList
- 抛出:
ParseException
-
ForUpdate
- 抛出:
ParseException
-
BreakStatement
- 抛出:
ParseException
-
ContinueStatement
- 抛出:
ParseException
-
ReturnStatement
- 抛出:
ParseException
-
SynchronizedStatement
- 抛出:
ParseException
-
ThrowStatement
- 抛出:
ParseException
-
TryStatement
- 抛出:
ParseException
-
ReInit
-
ReInit
-
ReInit
-
getNextToken
-
getToken
-
generateParseException
-
enable_tracing
public final void enable_tracing() -
disable_tracing
public final void disable_tracing()
-