gnu.xquery.lang

Class XQParser

public class XQParser extends Lexer

A class to read xquery forms.
Field Summary
static String[]axisNames
static CastableAscastableAs
Namespace[]functionNamespacePath
static QuoteExpgetExternalFunction
static InstanceOfinstanceOf
static QuoteExpmakeChildAxisStep
static QuoteExpmakeDescendantAxisStep
static ConverttreatAs
static booleanwarnHidePreviousDeclaration
static booleanwarnOldVersion
Constructor Summary
XQParser(InPort port, SourceMessages messages, XQuery interp)
Method Summary
voidappendNamedEntity(String name)
static ExpressionbooleanValue(Expression exp)
Coerce the value of an expresison to a boolean value.
ExpressiondeclError(String message)
voideofError(String msg)
voiderror(char severity, String message, String code)
voiderror(char severity, String message)
voidfatal(String msg, String code)
voidgetDelimited(String delimiter)
Scan until a given delimiter.
StringgetStaticBaseUri()
voidhandleOption(Symbol name, String value)
static ExpressionmakeFunctionExp(String className, String name)
static ExpressionmakeFunctionExp(String className, String fieldName, String name)
voidmark()
booleanmatch(String word)
voidmaybeSetLine(Expression exp, int line, int column)
voidmaybeSetLine(Declaration decl, int line, int column)
protected SymbolnamespaceResolve(String name, boolean function)
Expressionparse(Compilation comp)
Parse an expression.
ExpressionparseDataType()
ExpressionparseFLWRExpression(boolean isFor)
ExpressionparseFLWRInner(boolean isFor)
Parse a let- or a for-expression.
ExpressionparseFunctionDefinition(int declLine, int declColumn)
ExpressionparseIfExpr()
ExpressionparseItemType()
ExpressionparseMaybeKindTest()
ExpressionparseNamedNodeType(boolean attribute)
ExpressionparseOptionalTypeDeclaration()
Parse: ["as" SequenceType]
ExpressionparseQuantifiedExpr(boolean isEvery)
Parse a some- or an every-expression.
ObjectparseVariable()
Parse a Variable.
DeclarationparseVariableDeclaration()
ObjectreadObject()
voidreset()
StringresolveAgainstBaseUri(String uri)
voidsetInteractive(boolean v)
voidsetStaticBaseUri(String uri)
ExpressionsyntaxError(String message, String code)
Handle syntax errors (at rewrite time).
ExpressionsyntaxError(String message)

Field Detail

axisNames

public static final String[] axisNames

castableAs

public static final CastableAs castableAs

functionNamespacePath

public Namespace[] functionNamespacePath

getExternalFunction

public static final QuoteExp getExternalFunction

instanceOf

public static final InstanceOf instanceOf

makeChildAxisStep

public static QuoteExp makeChildAxisStep

makeDescendantAxisStep

public static QuoteExp makeDescendantAxisStep

treatAs

public static final Convert treatAs

warnHidePreviousDeclaration

public static boolean warnHidePreviousDeclaration

warnOldVersion

public static boolean warnOldVersion

Constructor Detail

XQParser

public XQParser(InPort port, SourceMessages messages, XQuery interp)

Method Detail

appendNamedEntity

public void appendNamedEntity(String name)

booleanValue

public static Expression booleanValue(Expression exp)
Coerce the value of an expresison to a boolean value.

declError

public Expression declError(String message)

eofError

public void eofError(String msg)

error

public void error(char severity, String message, String code)

error

public void error(char severity, String message)

fatal

public void fatal(String msg, String code)

getDelimited

public void getDelimited(String delimiter)
Scan until a given delimiter. On success, text upto the delimiter is in then tokenBuffer (with tokenBufferLength marking its length); the delimiter is not included.

getStaticBaseUri

public String getStaticBaseUri()

handleOption

public void handleOption(Symbol name, String value)

makeFunctionExp

public static Expression makeFunctionExp(String className, String name)

makeFunctionExp

public static Expression makeFunctionExp(String className, String fieldName, String name)

mark

public void mark()

match

public boolean match(String word)

maybeSetLine

public void maybeSetLine(Expression exp, int line, int column)

maybeSetLine

public void maybeSetLine(Declaration decl, int line, int column)

namespaceResolve

protected Symbol namespaceResolve(String name, boolean function)

parse

public Expression parse(Compilation comp)
Parse an expression. Return null on EOF.

parseDataType

public Expression parseDataType()

parseFLWRExpression

public Expression parseFLWRExpression(boolean isFor)

parseFLWRInner

public Expression parseFLWRInner(boolean isFor)
Parse a let- or a for-expression. Assume the 'let'/'for'-token has been seen, and we've read '$'. If we see the 'order' keyword of an 'order by' clause then we stop parsing, and return a result as if we instead saw a 'return make-tuple($x, ...)'. The 'order by' clause will get parsed by the outer-most 'for' or 'let'.

parseFunctionDefinition

public Expression parseFunctionDefinition(int declLine, int declColumn)

parseIfExpr

public Expression parseIfExpr()

parseItemType

public Expression parseItemType()

parseMaybeKindTest

public Expression parseMaybeKindTest()

parseNamedNodeType

public Expression parseNamedNodeType(boolean attribute)

parseOptionalTypeDeclaration

public Expression parseOptionalTypeDeclaration()
Parse: ["as" SequenceType]

parseQuantifiedExpr

public Expression parseQuantifiedExpr(boolean isEvery)
Parse a some- or an every-expression. Assume the 'some'/'every'-token has been seen, and we've read '$'.

parseVariable

public Object parseVariable()
Parse a Variable.

parseVariableDeclaration

public Declaration parseVariableDeclaration()

readObject

public Object readObject()

reset

public void reset()

resolveAgainstBaseUri

public String resolveAgainstBaseUri(String uri)

setInteractive

public void setInteractive(boolean v)

setStaticBaseUri

public void setStaticBaseUri(String uri)

syntaxError

public Expression syntaxError(String message, String code)
Handle syntax errors (at rewrite time).

Parameters: message an error message to print out

Returns: an ErrorExp

syntaxError

public Expression syntaxError(String message)