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:
Parser parser = new Parser(in);
while( !(eof=parser.Line()) ) {
SimpleNode node = parser.popNode();
// use the node, etc. (See bsh.BSH* classes)
}
AdditiveExpression
public final void AdditiveExpression()
throws ParseException
AllocationExpression
public final void AllocationExpression()
throws ParseException
ArrayDimensions
public final void ArrayDimensions()
throws ParseException
ArrayInitializer
public final void ArrayInitializer()
throws ParseException
AssignmentOperator
public final int AssignmentOperator()
throws ParseException
BlockStatement
public final void BlockStatement()
throws ParseException
BooleanLiteral
public final boolean BooleanLiteral()
throws ParseException
BreakStatement
public final void BreakStatement()
throws ParseException
CastExpression
public final void CastExpression()
throws ParseException
ClassDeclaration
public final void ClassDeclaration()
throws ParseException
ConditionalAndExpression
public final void ConditionalAndExpression()
throws ParseException
ConditionalExpression
public final void ConditionalExpression()
throws ParseException
ConditionalOrExpression
public final void ConditionalOrExpression()
throws ParseException
ContinueStatement
public final void ContinueStatement()
throws ParseException
EmptyStatement
public final void EmptyStatement()
throws ParseException
EnhancedForStatement
public final void EnhancedForStatement()
throws ParseException
EqualityExpression
public final void EqualityExpression()
throws ParseException
ExclusiveOrExpression
public final void ExclusiveOrExpression()
throws ParseException
FormalParameter
public final void FormalParameter()
throws ParseException
FormalParameters
public final void FormalParameters()
throws ParseException
ImportDeclaration
public final void ImportDeclaration()
throws ParseException
InclusiveOrExpression
public final void InclusiveOrExpression()
throws ParseException
InstanceOfExpression
public final void InstanceOfExpression()
throws ParseException
LabeledStatement
public final void LabeledStatement()
throws ParseException
MethodDeclaration
public final void MethodDeclaration()
throws ParseException
MethodInvocation
public final void MethodInvocation()
throws ParseException
Modifiers
public final Modifiers Modifiers(int context,
boolean lookahead)
throws ParseException
THE JAVA LANGUAGE GRAMMAR STARTS HERE *
MultiplicativeExpression
public final void MultiplicativeExpression()
throws ParseException
PackageDeclaration
public final void PackageDeclaration()
throws ParseException
PostfixExpression
public final void PostfixExpression()
throws ParseException
PreDecrementExpression
public final void PreDecrementExpression()
throws ParseException
PreIncrementExpression
public final void PreIncrementExpression()
throws ParseException
PrimaryExpression
public final void PrimaryExpression()
throws ParseException
ReInit
public void ReInit(java.io.InputStream stream)
ReInit
public void ReInit(java.io.Reader stream)
RelationalExpression
public final void RelationalExpression()
throws ParseException
ReturnStatement
public final void ReturnStatement()
throws ParseException
ShiftExpression
public final void ShiftExpression()
throws ParseException
StatementExpression
public final void StatementExpression()
throws ParseException
StatementExpressionList
public final void StatementExpressionList()
throws ParseException
SwitchStatement
public final void SwitchStatement()
throws ParseException
SynchronizedStatement
public final void SynchronizedStatement()
throws ParseException
ThrowStatement
public final void ThrowStatement()
throws ParseException
TypedVariableDeclaration
public final void TypedVariableDeclaration()
throws ParseException
Declared a typed variable.
Untyped variables are not declared per-se but are handled by the part
of the grammar that deals with assignments.
UnaryExpression
public final void UnaryExpression()
throws ParseException
UnaryExpressionNotPlusMinus
public final void UnaryExpressionNotPlusMinus()
throws ParseException
VariableDeclarator
public final void VariableDeclarator()
throws ParseException
VariableInitializer
public final void VariableInitializer()
throws ParseException
WhileStatement
public final void WhileStatement()
throws ParseException
disable_tracing
public final void disable_tracing()
enable_tracing
public final void enable_tracing()
getNextToken
public final Token getNextToken()
getToken
public final Token getToken(int index)
main
public static void main(String[] args)
throws IOException,
ParseException
popNode
public bsh.SimpleNode popNode()
setRetainComments
public void setRetainComments(boolean b)