Top Description Inners Fields Constructors Methods
bsh

public Class Parser

extends Object
implements ParserTreeConstants, ParserConstants
Class Inheritance
All Implemented Interfaces
bsh.ParserConstants, bsh.ParserTreeConstants
Imports
java.io.*, java.util.Vector

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)
	}

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
private static class

Field Summary

Modifier and TypeField and Description
private final Parser.JJCalls[]
private int
private Vector<E>
private int[]
private int
private int
pack-priv JavaCharStream
private int
private int
private final int[]
private static int[]
private static int[]
private static int[]
private static int[]
private static int[]
private Token
private int[]
private final Parser.LookaheadSuccess
public Token
private int
private boolean
private Token
private boolean
protected JJTParserState
public boolean
pack-priv boolean
public Token
public ParserTokenManager

Constructor Summary

AccessConstructor and Description
public
public
Parser(Reader stream)

public

Method Summary

Modifier and TypeMethod and Description
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final int
public final void
public final void
public final boolean
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
pack-priv ParseException
createParseException(String message)

Generate a ParseException with the specified message, pointing to the current token.

public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public ParseException
public final Token
public final Token
getToken(int index)

public final void
public final void
public final void
public final void
pack-priv boolean
isRegularForStatement()

Lookahead for the enhanced for statement.

private final boolean
jj_2_1(int xla)

private final boolean
jj_2_10(int xla)

private final boolean
jj_2_11(int xla)

private final boolean
jj_2_12(int xla)

private final boolean
jj_2_13(int xla)

private final boolean
jj_2_14(int xla)

private final boolean
jj_2_15(int xla)

private final boolean
jj_2_16(int xla)

private final boolean
jj_2_17(int xla)

private final boolean
jj_2_18(int xla)

private final boolean
jj_2_19(int xla)

private final boolean
jj_2_2(int xla)

private final boolean
jj_2_20(int xla)

private final boolean
jj_2_21(int xla)

private final boolean
jj_2_22(int xla)

private final boolean
jj_2_23(int xla)

private final boolean
jj_2_24(int xla)

private final boolean
jj_2_25(int xla)

private final boolean
jj_2_26(int xla)

private final boolean
jj_2_27(int xla)

private final boolean
jj_2_28(int xla)

private final boolean
jj_2_29(int xla)

private final boolean
jj_2_3(int xla)

private final boolean
jj_2_30(int xla)

private final boolean
jj_2_31(int xla)

private final boolean
jj_2_4(int xla)

private final boolean
jj_2_5(int xla)

private final boolean
jj_2_6(int xla)

private final boolean
jj_2_7(int xla)

private final boolean
jj_2_8(int xla)

private final boolean
jj_2_9(int xla)

private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private void
jj_add_error_token(int kind, int pos)

private final Token
jj_consume_token(int kind)

private static void
private static void
private static void
private static void
private static void
private final int
private final void
private final void
jj_save(int index, int xla)

private final boolean
jj_scan_token(int kind)

pack-priv void
pack-priv void
public final void
public final boolean
Line()

public final void
public static void
main(String[] args)

public final void
public final void
public final Modifiers
Modifiers(int context, boolean lookahead)

THE JAVA LANGUAGE GRAMMAR STARTS HERE *

public final void
public final int
public final void
public final void
public SimpleNode
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public void
public void
ReInit(Reader stream)

public void
pack-priv void
reInitInput(Reader in)

Re-initialize the input stream and token source.

pack-priv void
reInitTokenInput(Reader in)

Explicitly re-initialize just the token reader.

public final void
public final void
public final void
public void
setRetainComments(boolean b)

public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
Type()

public final void
TypedVariableDeclaration()

Declared a typed variable.

public final void
public final void
public final void
public final void
public final void
public final void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait