org.globus.rsl
Class RSLParser
java.lang.Object
org.globus.rsl.RSLParser
- All Implemented Interfaces:
- RSLParserConstants
public class RSLParser
- extends Object
- implements RSLParserConstants
Parser for the
Globus Resource Specification Language RSL v1.0.
Things that are not supported:
(1) User-specified delimiter for quoted literals.
(2) RSLs that only contain relations outside of 'spec-list'.
Other notes:
(1) Implicit concatenation is not part of the 'simple value' relation
and is implemented by inspecting the white space between individual
values.
Fields inherited from interface org.globus.rsl.RSLParserConstants |
AND, CHARACTER, DEFAULT, DIGIT, DOUBLE_QUOTED_LITERAL, EOF, EQUAL, GREATER_THAN, GREATER_THAN_EQUAL, LESS_THAN, LESS_THAN_EQUAL, LPAREN, MULTI, NOT_EQUAL, OR, OTHER_CHAR, RPAREN, SINGLE_QUOTED_LITERAL, tokenImage, UNQUOTED_LITERAL, VARIABLES, VARIABLES_DQUOTE, VARIABLES_SQUOTE, VARSTART |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
token_source
public RSLParserTokenManager token_source
token
public Token token
jj_nt
public Token jj_nt
RSLParser
public RSLParser(String rsl)
throws ParseException
- Throws:
ParseException
RSLParser
public RSLParser(InputStream stream)
RSLParser
public RSLParser(Reader stream)
RSLParser
public RSLParser(RSLParserTokenManager tm)
main
public static void main(String[] argv)
throws ParseException
- Throws:
ParseException
parse
public static RslNode parse(String rsl)
throws ParseException
- Throws:
ParseException
parse
public static AbstractRslNode parse(Class rslNodeClass,
String rsl)
throws ParseException
- Throws:
ParseException
setRslNodeClass
public void setRslNodeClass(Class rslNodeClass)
parse
public final AbstractRslNode parse()
throws ParseException
- Throws:
ParseException
specification
public final void specification(AbstractRslNode parentNode)
throws ParseException
- Throws:
ParseException
subSpecification
public final AbstractRslNode subSpecification()
throws ParseException
- Throws:
ParseException
relation
public final void relation(AbstractRslNode node)
throws ParseException
- Throws:
ParseException
specList
public final void specList(AbstractRslNode node)
throws ParseException
- Throws:
ParseException
op
public final int op()
throws ParseException
- Throws:
ParseException
attribute
public final String attribute()
throws ParseException
- Throws:
ParseException
valueSequence
public final LinkedList valueSequence()
throws ParseException
- Throws:
ParseException
bindingSequence
public final LinkedList bindingSequence()
throws ParseException
- Throws:
ParseException
binding
public final void binding(LinkedList list)
throws ParseException
- Throws:
ParseException
value
public final void value(LinkedList list,
LinkedList tokenList)
throws ParseException
- Throws:
ParseException
SimpleValue
public final Value SimpleValue(LinkedList valueList,
LinkedList tokenList)
throws ParseException
- Throws:
ParseException
variableReference
public final Value variableReference(LinkedList valueList,
LinkedList tokenList)
throws ParseException
- Throws:
ParseException
explicitConcat
public final Value explicitConcat(LinkedList valueList,
LinkedList tokenList)
throws ParseException
- Throws:
ParseException
stringToken
public final Token stringToken()
throws ParseException
- Throws:
ParseException
stringLiteral
public final String stringLiteral()
throws ParseException
- Throws:
ParseException
concatSimpleValue
public final Value concatSimpleValue()
throws ParseException
- Throws:
ParseException
concatSimpleValueSub
public final void concatSimpleValueSub(LinkedList list,
LinkedList tokenList)
throws ParseException
- Throws:
ParseException
ReInit
public void ReInit(InputStream stream)
ReInit
public void ReInit(Reader stream)
ReInit
public void ReInit(RSLParserTokenManager tm)
getNextToken
public final Token getNextToken()
getToken
public final Token getToken(int index)
generateParseException
public final ParseException generateParseException()
enable_tracing
public final void enable_tracing()
disable_tracing
public final void disable_tracing()