diff options
Diffstat (limited to 'src/xmlpatterns/parser/querytransformparser.ypp')
-rw-r--r-- | src/xmlpatterns/parser/querytransformparser.ypp | 836 |
1 files changed, 418 insertions, 418 deletions
diff --git a/src/xmlpatterns/parser/querytransformparser.ypp b/src/xmlpatterns/parser/querytransformparser.ypp index 6a7fa25..c40bbe5 100644 --- a/src/xmlpatterns/parser/querytransformparser.ypp +++ b/src/xmlpatterns/parser/querytransformparser.ypp @@ -1115,8 +1115,8 @@ static Expression::Ptr createReturnOrderBy(const OrderSpecTransfer::List &orderS /* Create a header file and put declarations there. */ %defines -%parse-param {ParserContext *const parseInfo} -%lex-param {ParserContext *const parseInfo} +%parse-param {QT_PREPEND_NAMESPACE(QPatternist)::ParserContext *const parseInfo} +%lex-param {QT_PREPEND_NAMESPACE(QPatternist)::ParserContext *const parseInfo} %expect 4 /* Silences the following: @@ -1147,202 +1147,202 @@ state 45 $default reduce using rule 203 (PathExpr) */ -%token <sval> STRING_LITERAL "<string literal>" +%token <sval> T_STRING_LITERAL "<string literal>" /** * This token is only used in element content and signals content that * is not Boundary whitespace. Nevertheless, the token value can be all whitespace, * but it was specified using character references or CDATA sections by the user. */ -%token <sval> NON_BOUNDARY_WS "<non-boundary text node>" +%token <sval> T_NON_BOUNDARY_WS "<non-boundary text node>" /* XPath 2.0 allows quotes and apostrophes to be escaped with "" and ''; this token is is used for XPath 2.0 literals such that we can flag syntax errors if running in 1.0 mode. */ -%token <sval> XPATH2_STRING_LITERAL "<string literal(XPath 2.0)>" -%token <sval> QNAME "QName" -%token <sval> NCNAME "NCName" +%token <sval> T_XPATH2_STRING_LITERAL "<string literal(XPath 2.0)>" +%token <sval> T_QNAME "QName" +%token <sval> T_NCNAME "NCName" /* A QName as a clark name. See QXmlName::toClarkName(). */ -%token <sval> CLARK_NAME "ClarkName" +%token <sval> T_CLARK_NAME "ClarkName" /** * Is "ncname:*". The token value does not include the colon and the star. */ -%token <sval> ANY_LOCAL_NAME +%token <sval> T_ANY_LOCAL_NAME /** * Is "*:ncname". The token value does not include the colon and the star. */ -%token <sval> ANY_PREFIX +%token <sval> T_ANY_PREFIX /** * An XPath 1.0 number literal. It is a string value because * Numeric::fromLexical() does the tokenization. */ -%token <sval> NUMBER "<number literal>" +%token <sval> T_NUMBER "<number literal>" /** * XPath 2.0 number literal. It includes the use of 'e'/'E' */ -%token <sval> XPATH2_NUMBER "<number literal(XPath 2.0)>" - -%token ANCESTOR "ancestor" -%token ANCESTOR_OR_SELF "ancestor-or-self" -%token AND "and" -%token APOS "'" -%token APPLY_TEMPLATE "apply-template" -%token AS "as" -%token ASCENDING "ascending" -%token ASSIGN ":=" -%token AT "at" -%token AT_SIGN "@" -%token ATTRIBUTE "attribute" -%token AVT /* Synthetic token. Signals an attribute value template. */ -%token BAR "|" -%token BASEURI "base-uri" -%token BEGIN_END_TAG "</" -%token BOUNDARY_SPACE "boundary-space" -%token BY "by" -%token CALL_TEMPLATE "call-template" -%token CASE "case" -%token CASTABLE "castable" -%token CAST "cast" -%token CHILD "child" -%token COLLATION "collation" -%token COLONCOLON "::" -%token COMMA "," -%token COMMENT "comment" -%token COMMENT_START "<!--" -%token CONSTRUCTION "construction" -%token COPY_NAMESPACES "copy-namespaces" -%token CURLY_LBRACE "{" -%token CURLY_RBRACE "}" -%token DECLARE "declare" -%token DEFAULT "default" -%token DESCENDANT "descendant" -%token DESCENDANT_OR_SELF "descendant-or-self" -%token DESCENDING "descending" -%token DIV "div" -%token DOCUMENT "document" -%token DOCUMENT_NODE "document-node" -%token DOLLAR "$" -%token DOT "." -%token DOTDOT ".." -%token ELEMENT "element" -%token ELSE "else" -%token EMPTY "empty" -%token EMPTY_SEQUENCE "empty-sequence" -%token ENCODING "encoding" -%token END_OF_FILE 0 "end of file" -%token END_SORT "end_sort" -%token EQ "eq" -%token ERROR "unknown keyword" /* Used by the Tokenizer. We use the phrase "keyword" instead of "token" to be less pointy. */ -%token EVERY "every" -%token EXCEPT "except" -%token EXTERNAL "external" -%token FOLLOWING "following" -%token FOLLOWING_SIBLING "following-sibling" -%token FOLLOWS ">>" -%token FOR_APPLY_TEMPLATE "for-apply-template" /* Synthetic token, used in XSL-T. */ -%token FOR "for" -%token FUNCTION "function" -%token GE "ge" -%token G_EQ "=" -%token G_GE ">=" -%token G_GT ">" -%token G_LE "<=" -%token G_LT "<" -%token G_NE "!=" -%token GREATEST "greatest" -%token GT "gt" -%token IDIV "idiv" -%token IF "if" -%token IMPORT "import" -%token INHERIT "inherit" -%token IN "in" -%token INSTANCE "instance" -%token INTERSECT "intersect" -%token IS "is" -%token ITEM "item" -%token LAX "lax" -%token LBRACKET "[" -%token LEAST "least" -%token LE "le" -%token LET "let" -%token LPAREN "(" -%token LT "lt" -%token MAP "map" /* Synthetic token, used in XSL-T. */ -%token MATCHES "matches" -%token MINUS "-" -%token MODE "mode" /* Synthetic token, used in XSL-T. */ -%token MOD "mod" -%token MODULE "module" -%token NAME "name" -%token NAMESPACE "namespace" -%token NE "ne" -%token NODE "node" -%token NO_INHERIT "no-inherit" -%token NO_PRESERVE "no-preserve" -%token OF "of" -%token OPTION "option" -%token ORDERED "ordered" -%token ORDERING "ordering" -%token ORDER "order" -%token OR "or" -%token PARENT "parent" -%token PI_START "<?" -%token PLUS "+" -%token POSITION_SET /* Synthetic token. */ -%token PRAGMA_END "#)" -%token PRAGMA_START "(#" -%token PRECEDES "<<" -%token PRECEDING "preceding" -%token PRECEDING_SIBLING "preceding-sibling" -%token PRESERVE "preserve" -%token PRIORITY "priority" -%token PROCESSING_INSTRUCTION "processing-instruction" -%token QUESTION "?" -%token QUICK_TAG_END "/>" -%token QUOTE "\"" -%token RBRACKET "]" -%token RETURN "return" -%token RPAREN ")" -%token SATISFIES "satisfies" -%token SCHEMA_ATTRIBUTE "schema-attribute" -%token SCHEMA_ELEMENT "schema-element" -%token SCHEMA "schema" -%token SELF "self" -%token SEMI_COLON ";" -%token SLASH "/" -%token SLASHSLASH "//" -%token SOME "some" -%token SORT "sort" /* Synthetic token, used in XSL-T. */ -%token STABLE "stable" -%token STAR "*" -%token STRICT "strict" -%token STRIP "strip" -%token SUCCESS /* Synthetic token, used by the Tokenizer. */ -%token <sval> COMMENT_CONTENT -%token <sval> PI_CONTENT -%token <sval> PI_TARGET -%token <sval> XSLT_VERSION /* Synthetic token, used in XSL-T. */ -%token TEMPLATE "template" -%token TEXT "text" -%token THEN "then" -%token TO "to" -%token TREAT "treat" -%token TUNNEL "tunnel" /* Synthetic token, used in XSL-T. */ -%token TYPESWITCH "typeswitch" -%token UNION "union" -%token UNORDERED "unordered" -%token VALIDATE "validate" -%token VARIABLE "variable" -%token VERSION "version" -%token WHERE "where" -%token XQUERY "xquery" -%token INTERNAL "internal" /* Synthetic token, used in XSL-T. */ -%token INTERNAL_NAME "internal-name" /* Synthetic token, used in XSL-T. */ -%token CURRENT "current" /* Synthetic token, used in XSL-T. */ +%token <sval> T_XPATH2_NUMBER "<number literal(XPath 2.0)>" + +%token T_ANCESTOR "ancestor" +%token T_ANCESTOR_OR_SELF "ancestor-or-self" +%token T_AND "and" +%token T_APOS "'" +%token T_APPLY_TEMPLATE "apply-template" +%token T_AS "as" +%token T_ASCENDING "ascending" +%token T_ASSIGN ":=" +%token T_AT "at" +%token T_AT_SIGN "@" +%token T_ATTRIBUTE "attribute" +%token T_AVT /* Synthetic token. Signals an attribute value template. */ +%token T_BAR "|" +%token T_BASEURI "base-uri" +%token T_BEGIN_END_TAG "</" +%token T_BOUNDARY_SPACE "boundary-space" +%token T_BY "by" +%token T_CALL_TEMPLATE "call-template" +%token T_CASE "case" +%token T_CASTABLE "castable" +%token T_CAST "cast" +%token T_CHILD "child" +%token T_COLLATION "collation" +%token T_COLONCOLON "::" +%token T_COMMA "," +%token T_COMMENT "comment" +%token T_COMMENT_START "<!--" +%token T_CONSTRUCTION "construction" +%token T_COPY_NAMESPACES "copy-namespaces" +%token T_CURLY_LBRACE "{" +%token T_CURLY_RBRACE "}" +%token T_DECLARE "declare" +%token T_DEFAULT "default" +%token T_DESCENDANT "descendant" +%token T_DESCENDANT_OR_SELF "descendant-or-self" +%token T_DESCENDING "descending" +%token T_DIV "div" +%token T_DOCUMENT "document" +%token T_DOCUMENT_NODE "document-node" +%token T_DOLLAR "$" +%token T_DOT "." +%token T_DOTDOT ".." +%token T_ELEMENT "element" +%token T_ELSE "else" +%token T_EMPTY "empty" +%token T_EMPTY_SEQUENCE "empty-sequence" +%token T_ENCODING "encoding" +%token T_END_OF_FILE 0 "end of file" +%token T_END_SORT "end_sort" +%token T_EQ "eq" +%token T_ERROR "unknown keyword" /* Used by the Tokenizer. We use the phrase "keyword" instead of "token" to be less pointy. */ +%token T_EVERY "every" +%token T_EXCEPT "except" +%token T_EXTERNAL "external" +%token T_FOLLOWING "following" +%token T_FOLLOWING_SIBLING "following-sibling" +%token T_FOLLOWS ">>" +%token T_FOR_APPLY_TEMPLATE "for-apply-template" /* Synthetic token, used in XSL-T. */ +%token T_FOR "for" +%token T_FUNCTION "function" +%token T_GE "ge" +%token T_G_EQ "=" +%token T_G_GE ">=" +%token T_G_GT ">" +%token T_G_LE "<=" +%token T_G_LT "<" +%token T_G_NE "!=" +%token T_GREATEST "greatest" +%token T_GT "gt" +%token T_IDIV "idiv" +%token T_IF "if" +%token T_IMPORT "import" +%token T_INHERIT "inherit" +%token T_IN "in" +%token T_INSTANCE "instance" +%token T_INTERSECT "intersect" +%token T_IS "is" +%token T_ITEM "item" +%token T_LAX "lax" +%token T_LBRACKET "[" +%token T_LEAST "least" +%token T_LE "le" +%token T_LET "let" +%token T_LPAREN "(" +%token T_LT "lt" +%token T_MAP "map" /* Synthetic token, used in XSL-T. */ +%token T_MATCHES "matches" +%token T_MINUS "-" +%token T_MODE "mode" /* Synthetic token, used in XSL-T. */ +%token T_MOD "mod" +%token T_MODULE "module" +%token T_NAME "name" +%token T_NAMESPACE "namespace" +%token T_NE "ne" +%token T_NODE "node" +%token T_NO_INHERIT "no-inherit" +%token T_NO_PRESERVE "no-preserve" +%token T_OF "of" +%token T_OPTION "option" +%token T_ORDERED "ordered" +%token T_ORDERING "ordering" +%token T_ORDER "order" +%token T_OR "or" +%token T_PARENT "parent" +%token T_PI_START "<?" +%token T_PLUS "+" +%token T_POSITION_SET /* Synthetic token. */ +%token T_PRAGMA_END "#)" +%token T_PRAGMA_START "(#" +%token T_PRECEDES "<<" +%token T_PRECEDING "preceding" +%token T_PRECEDING_SIBLING "preceding-sibling" +%token T_PRESERVE "preserve" +%token T_PRIORITY "priority" +%token T_PROCESSING_INSTRUCTION "processing-instruction" +%token T_QUESTION "?" +%token T_QUICK_TAG_END "/>" +%token T_QUOTE "\"" +%token T_RBRACKET "]" +%token T_RETURN "return" +%token T_RPAREN ")" +%token T_SATISFIES "satisfies" +%token T_SCHEMA_ATTRIBUTE "schema-attribute" +%token T_SCHEMA_ELEMENT "schema-element" +%token T_SCHEMA "schema" +%token T_SELF "self" +%token T_SEMI_COLON ";" +%token T_SLASH "/" +%token T_SLASHSLASH "//" +%token T_SOME "some" +%token T_SORT "sort" /* Synthetic token, used in XSL-T. */ +%token T_STABLE "stable" +%token T_STAR "*" +%token T_STRICT "strict" +%token T_STRIP "strip" +%token T_SUCCESS /* Synthetic token, used by the Tokenizer. */ +%token <sval> T_COMMENT_CONTENT +%token <sval> T_PI_CONTENT +%token <sval> T_PI_TARGET +%token <sval> T_XSLT_VERSION /* Synthetic token, used in XSL-T. */ +%token T_TEMPLATE "template" +%token T_TEXT "text" +%token T_THEN "then" +%token T_TO "to" +%token T_TREAT "treat" +%token T_TUNNEL "tunnel" /* Synthetic token, used in XSL-T. */ +%token T_TYPESWITCH "typeswitch" +%token T_UNION "union" +%token T_UNORDERED "unordered" +%token T_VALIDATE "validate" +%token T_VARIABLE "variable" +%token T_VERSION "version" +%token T_WHERE "where" +%token T_XQUERY "xquery" +%token T_INTERNAL "internal" /* Synthetic token, used in XSL-T. */ +%token T_INTERNAL_NAME "internal-name" /* Synthetic token, used in XSL-T. */ +%token T_CURRENT "current" /* Synthetic token, used in XSL-T. */ /* Alphabetically. */ %type <attributeHolder> Attribute @@ -1407,8 +1407,8 @@ state 45 /* Operator Precendence * See: http://www.w3.org/TR/xpath20/#parse-note-occurrence-indicators */ -%left STAR DIV -%left PLUS MINUS +%left T_STAR T_DIV +%left T_PLUS T_MINUS %% @@ -1420,7 +1420,7 @@ Module: VersionDecl LibraryModule | VersionDecl MainModule VersionDecl: /* empty */ /* [2] */ -| XQUERY VERSION StringLiteral Encoding Separator +| T_XQUERY T_VERSION StringLiteral Encoding Separator { /* Suppress more compiler warnings about unused defines. */ @@ -1452,7 +1452,7 @@ VersionDecl: /* empty */ } Encoding: /* empty */ /* [X] */ -| ENCODING StringLiteral +| T_ENCODING StringLiteral { const QRegExp encNameRegExp(QLatin1String("[A-Za-z][A-Za-z0-9._\\-]*")); @@ -1568,7 +1568,7 @@ MainModule: Prolog QueryBody LibraryModule: ModuleDecl Prolog /* [4] */ -ModuleDecl: MODULE NAMESPACE NCNAME G_EQ URILiteral Separator /* [5] */ +ModuleDecl: T_MODULE T_NAMESPACE T_NCNAME T_G_EQ URILiteral Separator /* [5] */ { // TODO add to namespace context parseInfo->moduleNamespace = parseInfo->staticContext->namePool()->allocateNamespace($3); @@ -1633,7 +1633,7 @@ Prolog: /* Empty. */ * }; * */ -TemplateDecl: DECLARE TEMPLATE TemplateName +TemplateDecl: T_DECLARE T_TEMPLATE TemplateName OptionalTemplateParameters TypeDeclaration EnclosedOptionalExpr Separator /* [X] */ @@ -1645,8 +1645,8 @@ TemplateDecl: DECLARE TEMPLATE TemplateName temp->templateParameters = parseInfo->templateParameters; parseInfo->templateParametersHandled(); } -| DECLARE TEMPLATE OptionalTemplateName - MATCHES LPAREN +| T_DECLARE T_TEMPLATE OptionalTemplateName + T_MATCHES T_LPAREN { parseInfo->isParsingPattern = true; } @@ -1654,7 +1654,7 @@ TemplateDecl: DECLARE TEMPLATE TemplateName { parseInfo->isParsingPattern = false; } - RPAREN + T_RPAREN OptionalModes OptionalPriority OptionalTemplateParameters @@ -1718,7 +1718,7 @@ OptionalPriority: /* Empty. */ $$ = std::numeric_limits<xsDouble>::quiet_NaN(); } -| PRIORITY StringLiteral +| T_PRIORITY StringLiteral { const AtomicValue::Ptr val(Decimal::fromLexical($2)); if(val->hasError()) @@ -1740,7 +1740,7 @@ OptionalTemplateName: /* Empty. */ } | TemplateName -TemplateName: NAME ElementName +TemplateName: T_NAME ElementName { $$ = $2; } @@ -1768,9 +1768,9 @@ Setter: BoundarySpaceDecl Import: SchemaImport /* [8] */ | ModuleImport -Separator: SEMI_COLON /* [9] */ +Separator: T_SEMI_COLON /* [9] */ -NamespaceDecl: DECLARE NAMESPACE NCNAME G_EQ URILiteral IsInternal Separator /* [10] */ +NamespaceDecl: T_DECLARE T_NAMESPACE T_NCNAME T_G_EQ URILiteral IsInternal Separator /* [10] */ { if(!$6) allowedIn(QXmlQuery::XQuery10, parseInfo, @$); @@ -1816,7 +1816,7 @@ NamespaceDecl: DECLARE NAMESPACE NCNAME G_EQ URILiteral IsInternal Separator } } -BoundarySpaceDecl: DECLARE BOUNDARY_SPACE BoundarySpacePolicy Separator /* [11] */ +BoundarySpaceDecl: T_DECLARE T_BOUNDARY_SPACE BoundarySpacePolicy Separator /* [11] */ { if(parseInfo->hasDeclaration(ParserContext::BoundarySpaceDecl)) { @@ -1830,12 +1830,12 @@ BoundarySpaceDecl: DECLARE BOUNDARY_SPACE BoundarySpacePolicy Separator } } -BoundarySpacePolicy: STRIP /* [X] */ +BoundarySpacePolicy: T_STRIP /* [X] */ { $$ = StaticContext::BSPStrip; } -| PRESERVE +| T_PRESERVE { $$ = StaticContext::BSPPreserve; } @@ -1843,7 +1843,7 @@ BoundarySpacePolicy: STRIP DefaultNamespaceDecl: DeclareDefaultElementNamespace /* [12] */ | DeclareDefaultFunctionNamespace -DeclareDefaultElementNamespace: DECLARE DEFAULT ELEMENT NAMESPACE +DeclareDefaultElementNamespace: T_DECLARE T_DEFAULT T_ELEMENT T_NAMESPACE URILiteral Separator /* [X] */ { if(parseInfo->hasDeclaration(ParserContext::DeclareDefaultElementNamespace)) @@ -1858,7 +1858,7 @@ DeclareDefaultElementNamespace: DECLARE DEFAULT ELEMENT NAMESPACE } } -DeclareDefaultFunctionNamespace: DECLARE DEFAULT FUNCTION NAMESPACE +DeclareDefaultFunctionNamespace: T_DECLARE T_DEFAULT T_FUNCTION T_NAMESPACE URILiteral Separator /* [X] */ { if(parseInfo->hasDeclaration(ParserContext::DeclareDefaultFunctionNamespace)) @@ -1873,7 +1873,7 @@ DeclareDefaultFunctionNamespace: DECLARE DEFAULT FUNCTION NAMESPACE } } -OptionDecl: DECLARE OPTION ElementName StringLiteral Separator /* [13] */ +OptionDecl: T_DECLARE T_OPTION ElementName StringLiteral Separator /* [13] */ { if($3.prefix() == StandardPrefixes::empty) { @@ -1883,7 +1883,7 @@ OptionDecl: DECLARE OPTION ElementName StringLiteral Separator } } -OrderingModeDecl: DECLARE ORDERING OrderingMode Separator /* [14] */ +OrderingModeDecl: T_DECLARE T_ORDERING OrderingMode Separator /* [14] */ { allowedIn(QXmlQuery::XQuery10, parseInfo, @$); if(parseInfo->hasDeclaration(ParserContext::OrderingModeDecl)) @@ -1898,16 +1898,16 @@ OrderingModeDecl: DECLARE ORDERING OrderingMode Separator } } -OrderingMode: ORDERED +OrderingMode: T_ORDERED { $$ = StaticContext::Ordered; } -| UNORDERED +| T_UNORDERED { $$ = StaticContext::Unordered; } -EmptyOrderDecl: DECLARE DEFAULT ORDER OrderingEmptySequence Separator /* [15] */ +EmptyOrderDecl: T_DECLARE T_DEFAULT T_ORDER OrderingEmptySequence Separator /* [15] */ { if(parseInfo->hasDeclaration(ParserContext::EmptyOrderDecl)) { @@ -1921,16 +1921,16 @@ EmptyOrderDecl: DECLARE DEFAULT ORDER OrderingEmptySequence Separator } } -OrderingEmptySequence: EMPTY LEAST /* [X] */ +OrderingEmptySequence: T_EMPTY T_LEAST /* [X] */ { $$ = StaticContext::Least; } -| EMPTY GREATEST +| T_EMPTY T_GREATEST { $$ = StaticContext::Greatest; } -CopyNamespacesDecl: DECLARE COPY_NAMESPACES PreserveMode COMMA +CopyNamespacesDecl: T_DECLARE T_COPY_NAMESPACES PreserveMode T_COMMA InheritMode Separator /* [16] */ { if(parseInfo->hasDeclaration(ParserContext::CopyNamespacesDecl)) @@ -1944,27 +1944,27 @@ CopyNamespacesDecl: DECLARE COPY_NAMESPACES PreserveMode COMMA } } -PreserveMode: PRESERVE /* [17] */ +PreserveMode: T_PRESERVE /* [17] */ { parseInfo->preserveNamespacesMode = true; } -| NO_PRESERVE +| T_NO_PRESERVE { parseInfo->preserveNamespacesMode = false; } -InheritMode: INHERIT /* [18] */ +InheritMode: T_INHERIT /* [18] */ { parseInfo->inheritNamespacesMode = true; } -| NO_INHERIT +| T_NO_INHERIT { parseInfo->inheritNamespacesMode = false; } -DefaultCollationDecl: DECLARE DEFAULT COLLATION StringLiteral Separator /* [19] */ +DefaultCollationDecl: T_DECLARE T_DEFAULT T_COLLATION StringLiteral Separator /* [19] */ { if(parseInfo->hasDeclaration(ParserContext::DefaultCollationDecl)) { @@ -1980,7 +1980,7 @@ DefaultCollationDecl: DECLARE DEFAULT COLLATION StringLiteral Separator } } -BaseURIDecl: DECLARE BASEURI IsInternal URILiteral Separator /* [20] */ +BaseURIDecl: T_DECLARE T_BASEURI IsInternal URILiteral Separator /* [20] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20), parseInfo, @$, $3); if(parseInfo->hasDeclaration(ParserContext::BaseURIDecl)) @@ -2003,7 +2003,7 @@ BaseURIDecl: DECLARE BASEURI IsInternal URILiteral Separator } } -SchemaImport: IMPORT SCHEMA SchemaPrefix URILiteral FileLocations Separator /* [21] */ +SchemaImport: T_IMPORT T_SCHEMA SchemaPrefix URILiteral FileLocations Separator /* [21] */ { parseInfo->staticContext->error(QtXmlPatterns::tr("The Schema Import feature is not supported, " "and therefore %1 declarations cannot occur.") @@ -2012,10 +2012,10 @@ SchemaImport: IMPORT SCHEMA SchemaPrefix URILiteral FileLocations Separator } SchemaPrefix: /* empty */ /* [22] */ -| DEFAULT ELEMENT NAMESPACE -| NAMESPACE NCNAME G_EQ +| T_DEFAULT T_ELEMENT T_NAMESPACE +| T_NAMESPACE T_NCNAME T_G_EQ -ModuleImport: IMPORT MODULE ModuleNamespaceDecl URILiteral FileLocations Separator /* [23] */ +ModuleImport: T_IMPORT T_MODULE ModuleNamespaceDecl URILiteral FileLocations Separator /* [23] */ { if($4.isEmpty()) { @@ -2033,15 +2033,15 @@ ModuleImport: IMPORT MODULE ModuleNamespaceDecl URILiteral FileLocations Separat } ModuleNamespaceDecl: /* empty */ /* [X] */ -| NAMESPACE NCNAME G_EQ +| T_NAMESPACE T_NCNAME T_G_EQ FileLocations: /* empty */ /* [X] */ -| AT FileLocation +| T_AT FileLocation FileLocation: URILiteral /* [X] */ -| FileLocation COMMA URILiteral +| FileLocation T_COMMA URILiteral -VarDecl: DECLARE VARIABLE IsInternal DOLLAR VarName TypeDeclaration +VarDecl: T_DECLARE T_VARIABLE IsInternal T_DOLLAR VarName TypeDeclaration VariableValue OptionalDefaultValue Separator /* [24] */ { allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $3); @@ -2096,11 +2096,11 @@ VarDecl: DECLARE VARIABLE IsInternal DOLLAR VarName TypeDeclaration } } -VariableValue: EXTERNAL /* [X] */ +VariableValue: T_EXTERNAL /* [X] */ { $$.reset(); } -| ASSIGN ExprSingle +| T_ASSIGN ExprSingle { $$ = $2; } @@ -2109,12 +2109,12 @@ OptionalDefaultValue: /* Empty. */ { $$.reset(); } -| ASSIGN ExprSingle +| T_ASSIGN ExprSingle { $$ = $2; } -ConstructionDecl: DECLARE CONSTRUCTION ConstructionMode Separator /* [25] */ +ConstructionDecl: T_DECLARE T_CONSTRUCTION ConstructionMode Separator /* [25] */ { if(parseInfo->hasDeclaration(ParserContext::ConstructionDecl)) { @@ -2128,16 +2128,16 @@ ConstructionDecl: DECLARE CONSTRUCTION ConstructionMode Separator } } -ConstructionMode: STRIP /* [X] */ +ConstructionMode: T_STRIP /* [X] */ { $$ = StaticContext::CMStrip; } -| PRESERVE +| T_PRESERVE { $$ = StaticContext::CMPreserve; } -FunctionDecl: DECLARE FUNCTION IsInternal FunctionName LPAREN ParamList RPAREN +FunctionDecl: T_DECLARE T_FUNCTION IsInternal FunctionName T_LPAREN ParamList T_RPAREN { $<enums.slot>$ = parseInfo->currentExpressionSlot() - $6.count(); } @@ -2255,7 +2255,7 @@ ParamList: /* empty */ l.append($1); $$ = l; } -| ParamList COMMA Param +| ParamList T_COMMA Param { FunctionArgument::List::const_iterator it($1.constBegin()); const FunctionArgument::List::const_iterator end($1.constEnd()); @@ -2276,19 +2276,19 @@ ParamList: /* empty */ $$ = $1; } -Param: DOLLAR VarName TypeDeclaration /* [28] */ +Param: T_DOLLAR VarName TypeDeclaration /* [28] */ { pushVariable($2, $3, Expression::Ptr(), VariableDeclaration::FunctionArgument, @$, parseInfo); $$ = FunctionArgument::Ptr(new FunctionArgument($2, $3)); } -FunctionBody: EXTERNAL /* [X] */ +FunctionBody: T_EXTERNAL /* [X] */ { $$.reset(); } | EnclosedExpr -EnclosedExpr: CURLY_LBRACE Expr CURLY_RBRACE /* [29] */ +EnclosedExpr: T_CURLY_LBRACE Expr T_CURLY_RBRACE /* [29] */ { $$ = $2; } @@ -2304,13 +2304,13 @@ QueryBody: Expr * (XSLT) Version 2.0, 5.5.2 Syntax of Patterns</a> */ Pattern: PathPattern /* [XSLT20-1] */ -| Pattern BAR PathPattern +| Pattern T_BAR PathPattern { $$ = create(new CombineNodes($1, CombineNodes::Union, $3), @$, parseInfo); } PathPattern: RelativePathPattern /* [XSLT20-2] */ -| SLASH +| T_SLASH { /* We write this into a node test. The spec says, 5.5.3 The Meaning of a Pattern: * "Similarly, / matches a document node, and only a document node, @@ -2319,7 +2319,7 @@ PathPattern: RelativePathPattern * document node." */ $$ = create(new AxisStep(QXmlNodeModelIndex::AxisSelf, BuiltinTypes::document), @$, parseInfo); } -| SLASH RelativePathPattern +| T_SLASH RelativePathPattern { /* /axis::node-test * => @@ -2389,7 +2389,7 @@ PathPattern: RelativePathPattern $$ = $2; } } -| SLASHSLASH RelativePathPattern +| T_SLASHSLASH RelativePathPattern { /* //axis::node-test * => @@ -2401,11 +2401,11 @@ PathPattern: RelativePathPattern parseInfo->staticContext, fromYYLTYPE(@1, parseInfo)), @1, parseInfo); } | IdKeyPattern -| IdKeyPattern SLASH RelativePathPattern +| IdKeyPattern T_SLASH RelativePathPattern { createIdPatternPath($1, $3, QXmlNodeModelIndex::AxisParent, @2, parseInfo); } -| IdKeyPattern SLASHSLASH RelativePathPattern +| IdKeyPattern T_SLASHSLASH RelativePathPattern { createIdPatternPath($1, $3, QXmlNodeModelIndex::AxisAncestor, @2, parseInfo); } @@ -2480,11 +2480,11 @@ IdKeyPattern: FunctionCallExpr } RelativePathPattern: PatternStep /* [XSLT20-3] */ -| RelativePathPattern SLASH PatternStep +| RelativePathPattern T_SLASH PatternStep { $$ = createPatternPath($1, $3, QXmlNodeModelIndex::AxisParent, @2, parseInfo); } -| RelativePathPattern SLASHSLASH PatternStep +| RelativePathPattern T_SLASHSLASH PatternStep { $$ = createPatternPath($1, $3, QXmlNodeModelIndex::AxisAncestor, @2, parseInfo); } @@ -2539,14 +2539,14 @@ Expr: ExprSingle $$ = create(new ExpressionSequence($1), @$, parseInfo); } -ExpressionSequence: ExprSingle COMMA ExprSingle /* [X] */ +ExpressionSequence: ExprSingle T_COMMA ExprSingle /* [X] */ { Expression::List l; l.append($1); l.append($3); $$ = l; } -| ExpressionSequence COMMA ExprSingle +| ExpressionSequence T_COMMA ExprSingle { $1.append($3); $$ = $1; @@ -2557,7 +2557,7 @@ ExprSingle: OrExpr | QuantifiedExpr | TypeswitchExpr | IfExpr -| AVT LPAREN AttrValueContent RPAREN +| T_AVT T_LPAREN AttrValueContent T_RPAREN { $$ = createDirAttributeValue($3, parseInfo, @$); } @@ -2568,7 +2568,7 @@ OptionalModes: /* Empty. */ result.append(QXmlName(StandardNamespaces::InternalXSLT, StandardLocalNames::Default)); $$ = result; } -| MODE Modes +| T_MODE Modes { $$ = $2; } @@ -2577,7 +2577,7 @@ OptionalMode: /* Empty. */ { $$ = QXmlName(StandardNamespaces::InternalXSLT, StandardLocalNames::Default); } -| MODE Mode +| T_MODE Mode { $$ = $2; } @@ -2588,7 +2588,7 @@ Modes: Mode result.append($1); $$ = result; } -| Modes COMMA Mode +| Modes T_COMMA Mode { $1.append($3); $$ = $1; @@ -2598,7 +2598,7 @@ Mode: QName { $$ = $1; } -| NCNAME +| T_NCNAME { if($1 == QLatin1String("#current")) $$ = QXmlName(StandardNamespaces::InternalXSLT, StandardLocalNames::current); @@ -2626,8 +2626,8 @@ Mode: QName FLWORExpr: ForClause /* [33] */ | LetClause -ForClause: FOR DOLLAR VarName TypeDeclaration - PositionalVar IN ExprSingle +ForClause: T_FOR T_DOLLAR VarName TypeDeclaration + PositionalVar T_IN ExprSingle { /* We're pushing the range variable here, not the positional. */ $<expr>$ = pushVariable($3, quantificationType($4), $7, VariableDeclaration::RangeVariable, @$, parseInfo); @@ -2671,8 +2671,8 @@ ForClause: FOR DOLLAR VarName TypeDeclaration parseInfo->finalizePushedVariable(); } -ForTail: COMMA DOLLAR VarName TypeDeclaration - PositionalVar IN ExprSingle +ForTail: T_COMMA T_DOLLAR VarName TypeDeclaration + PositionalVar T_IN ExprSingle { pushVariable($3, quantificationType($4), $7, VariableDeclaration::RangeVariable, @$, parseInfo); } @@ -2701,14 +2701,14 @@ PositionalVar: /* empty */ $$ = -1; } -| AT DOLLAR VarName +| T_AT T_DOLLAR VarName { pushVariable($3, CommonSequenceTypes::ExactlyOneInteger, Expression::Ptr(), VariableDeclaration::PositionalVariable, @$, parseInfo); $$ = parseInfo->currentPositionSlot(); } -LetClause: LET IsInternal DOLLAR VarName TypeDeclaration ASSIGN ExprSingle +LetClause: T_LET IsInternal T_DOLLAR VarName TypeDeclaration T_ASSIGN ExprSingle { $<expr>$ = pushVariable($4, quantificationType($5), $7, VariableDeclaration::ExpressionVariable, @$, parseInfo); } @@ -2721,7 +2721,7 @@ LetClause: LET IsInternal DOLLAR VarName TypeDeclaration ASSIGN ExprSingle parseInfo->finalizePushedVariable(); } -LetTail: COMMA DOLLAR VarName TypeDeclaration ASSIGN ExprSingle +LetTail: T_COMMA T_DOLLAR VarName TypeDeclaration T_ASSIGN ExprSingle { $<expr>$ = pushVariable($3, quantificationType($4), $6, VariableDeclaration::ExpressionVariable, @$, parseInfo);} LetTail /* [X] */ { @@ -2734,7 +2734,7 @@ LetTail: COMMA DOLLAR VarName TypeDeclaration ASSIGN ExprSingle | ForClause | LetClause -WhereClause: OrderByClause RETURN ExprSingle /* [37] */ +WhereClause: OrderByClause T_RETURN ExprSingle /* [37] */ { if($1.isEmpty()) $$ = $3; @@ -2742,7 +2742,7 @@ WhereClause: OrderByClause RETURN ExprSingle $$ = createReturnOrderBy($1, $3, parseInfo->orderStability.pop(), @$, parseInfo); } -| WHERE ExprSingle OrderByClause RETURN ExprSingle +| T_WHERE ExprSingle OrderByClause T_RETURN ExprSingle { if($3.isEmpty()) $$ = create(new IfThenClause($2, $5, create(new EmptySequence, @$, parseInfo)), @$, parseInfo); @@ -2763,7 +2763,7 @@ MandatoryOrderByClause: OrderByInputOrder OrderSpecList $$ = $2; } -OrderSpecList: OrderSpecList COMMA OrderSpec /* [39] */ +OrderSpecList: OrderSpecList T_COMMA OrderSpec /* [39] */ { OrderSpecTransfer::List list; list += $1; @@ -2803,12 +2803,12 @@ DirectionModifier: /* Empty. */ $$ = OrderBy::OrderSpec::Ascending; } -| ASCENDING +| T_ASCENDING { $$ = OrderBy::OrderSpec::Ascending; } -| DESCENDING +| T_DESCENDING { $$ = OrderBy::OrderSpec::Descending; } @@ -2820,24 +2820,24 @@ EmptynessModifier: /* Empty. */ | OrderingEmptySequence CollationModifier: /* Empty. */ /* [X] */ -| COLLATION URILiteral +| T_COLLATION URILiteral { if(parseInfo->isXSLT()) resolveAndCheckCollation<ReportContext::XTDE1035>($2, parseInfo, @$); else resolveAndCheckCollation<ReportContext::XQST0076>($2, parseInfo, @$); } -| INTERNAL COLLATION ExprSingle +| T_INTERNAL T_COLLATION ExprSingle { /* We do nothing. We don't use collations, and we have this non-terminal * in order to accept expressions. */ } -OrderByInputOrder: STABLE ORDER BY /* [X] */ +OrderByInputOrder: T_STABLE T_ORDER T_BY /* [X] */ { parseInfo->orderStability.push(OrderBy::StableOrder); } -| ORDER BY +| T_ORDER T_BY { parseInfo->orderStability.push(OrderBy::UnstableOrder); } @@ -2845,7 +2845,7 @@ OrderByInputOrder: STABLE ORDER BY QuantifiedExpr: SomeQuantificationExpr /* [42] */ | EveryQuantificationExpr -SomeQuantificationExpr: SOME DOLLAR VarName TypeDeclaration IN ExprSingle +SomeQuantificationExpr: T_SOME T_DOLLAR VarName TypeDeclaration T_IN ExprSingle { pushVariable($3, quantificationType($4), $6, VariableDeclaration::RangeVariable, @$, parseInfo); @@ -2859,7 +2859,7 @@ SomeQuantificationExpr: SOME DOLLAR VarName TypeDeclaration IN ExprSingle parseInfo->finalizePushedVariable(); } -SomeQuantificationTail: COMMA DOLLAR VarName TypeDeclaration IN ExprSingle +SomeQuantificationTail: T_COMMA T_DOLLAR VarName TypeDeclaration T_IN ExprSingle { $<expr>$ = pushVariable($3, quantificationType($4), $6, VariableDeclaration::RangeVariable, @$, parseInfo); @@ -2874,7 +2874,7 @@ SomeQuantificationTail: COMMA DOLLAR VarName TypeDeclaration IN ExprSingle | SatisfiesClause -EveryQuantificationExpr: EVERY DOLLAR VarName TypeDeclaration IN ExprSingle +EveryQuantificationExpr: T_EVERY T_DOLLAR VarName TypeDeclaration T_IN ExprSingle { pushVariable($3, quantificationType($4), $6, VariableDeclaration::RangeVariable, @$, parseInfo); @@ -2888,7 +2888,7 @@ EveryQuantificationExpr: EVERY DOLLAR VarName TypeDeclaration IN ExprSingle parseInfo->finalizePushedVariable(); } -EveryQuantificationTail: COMMA DOLLAR VarName TypeDeclaration IN ExprSingle +EveryQuantificationTail: T_COMMA T_DOLLAR VarName TypeDeclaration T_IN ExprSingle { $<expr>$ = pushVariable($3, quantificationType($4), $6, VariableDeclaration::RangeVariable, @$, parseInfo); @@ -2903,7 +2903,7 @@ EveryQuantificationTail: COMMA DOLLAR VarName TypeDeclaration IN ExprSingle | SatisfiesClause -SatisfiesClause: SATISFIES ExprSingle /* [X] */ +SatisfiesClause: T_SATISFIES ExprSingle /* [X] */ { $$ = $2; } @@ -2930,7 +2930,7 @@ SatisfiesClause: SATISFIES ExprSingle * @endcode */ -TypeswitchExpr: TYPESWITCH LPAREN Expr RPAREN +TypeswitchExpr: T_TYPESWITCH T_LPAREN Expr T_RPAREN { parseInfo->typeswitchSource.push($3); } @@ -2941,7 +2941,7 @@ TypeswitchExpr: TYPESWITCH LPAREN Expr RPAREN $$ = $6; } -CaseClause: CASE CaseVariable SequenceType /* [44] */ +CaseClause: T_CASE CaseVariable SequenceType /* [44] */ { if(!$2.isNull()) { @@ -2949,7 +2949,7 @@ CaseClause: CASE CaseVariable SequenceType VariableDeclaration::ExpressionVariable, @$, parseInfo, false); } } - RETURN ExprSingle + T_RETURN ExprSingle { /* The variable shouldn't be in-scope for other case branches. */ if(!$2.isNull()) @@ -2969,16 +2969,16 @@ CaseVariable: /* Empty. */ $$ = QXmlName(); } -| DOLLAR ElementName AS +| T_DOLLAR ElementName T_AS { $$ = $2; } -CaseDefault: DEFAULT RETURN ExprSingle /* [X] */ +CaseDefault: T_DEFAULT T_RETURN ExprSingle /* [X] */ { $$ = $3; } -| DEFAULT DOLLAR ElementName +| T_DEFAULT T_DOLLAR ElementName { if(!$3.isNull()) { @@ -2987,28 +2987,28 @@ CaseDefault: DEFAULT RETURN ExprSingle VariableDeclaration::ExpressionVariable, @$, parseInfo, false); } } - RETURN ExprSingle + T_RETURN ExprSingle { if(!$3.isNull()) parseInfo->finalizePushedVariable(); $$ = $6; } -IfExpr: IF LPAREN Expr RPAREN THEN ExprSingle ELSE ExprSingle /* [45] */ +IfExpr: T_IF T_LPAREN Expr T_RPAREN T_THEN ExprSingle T_ELSE ExprSingle /* [45] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new IfThenClause($3, $6, $8), @$, parseInfo); } OrExpr: AndExpr /* [46] */ -| OrExpr OR AndExpr +| OrExpr T_OR AndExpr { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new OrExpression($1, $3), @$, parseInfo); } AndExpr: ComparisonExpr /* [47] */ -| AndExpr AND ComparisonExpr +| AndExpr T_AND ComparisonExpr { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new AndExpression($1, $3), @$, parseInfo); @@ -3020,7 +3020,7 @@ ComparisonExpr: RangeExpr | NodeComp RangeExpr: AdditiveExpr /* [49] */ -| AdditiveExpr TO AdditiveExpr +| AdditiveExpr T_TO AdditiveExpr { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new RangeExpression($1, $3), @$, parseInfo); @@ -3033,8 +3033,8 @@ AdditiveExpr: MultiplicativeExpr $$ = create(new ArithmeticExpression($1, $2, $3), @$, parseInfo); } -AdditiveOperator: PLUS {$$ = AtomicMathematician::Add;} /* [X] */ -| MINUS {$$ = AtomicMathematician::Substract;} +AdditiveOperator: T_PLUS {$$ = AtomicMathematician::Add;} /* [X] */ +| T_MINUS {$$ = AtomicMathematician::Substract;} MultiplicativeExpr: UnionExpr /* [51] */ | MultiplicativeExpr MultiplyOperator UnionExpr @@ -3043,10 +3043,10 @@ MultiplicativeExpr: UnionExpr $$ = create(new ArithmeticExpression($1, $2, $3), @$, parseInfo); } -MultiplyOperator: STAR {$$ = AtomicMathematician::Multiply;} /* [X] */ -| DIV {$$ = AtomicMathematician::Div;} -| IDIV {$$ = AtomicMathematician::IDiv;} -| MOD {$$ = AtomicMathematician::Mod;} +MultiplyOperator: T_STAR {$$ = AtomicMathematician::Multiply;} /* [X] */ +| T_DIV {$$ = AtomicMathematician::Div;} +| T_IDIV {$$ = AtomicMathematician::IDiv;} +| T_MOD {$$ = AtomicMathematician::Mod;} UnionExpr: IntersectExceptExpr /* [52] */ | UnionExpr UnionOperator IntersectExceptExpr @@ -3066,20 +3066,20 @@ IntersectExceptExpr: InstanceOfExpr $$ = create(new CombineNodes($1, $2, $3), @$, parseInfo); } -UnionOperator: UNION /* [X] */ -| BAR +UnionOperator: T_UNION /* [X] */ +| T_BAR -IntersectOperator: INTERSECT /* [X] */ +IntersectOperator: T_INTERSECT /* [X] */ { $$ = CombineNodes::Intersect; } -| EXCEPT +| T_EXCEPT { $$ = CombineNodes::Except; } InstanceOfExpr: TreatExpr /* [54] */ -| TreatExpr INSTANCE OF SequenceType +| TreatExpr T_INSTANCE T_OF SequenceType { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new InstanceOf($1, @@ -3087,21 +3087,21 @@ InstanceOfExpr: TreatExpr } TreatExpr: CastableExpr /* [55] */ -| CastableExpr TREAT AS SequenceType +| CastableExpr T_TREAT T_AS SequenceType { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new TreatAs($1, $4), @$, parseInfo); } CastableExpr: CastExpr /* [56] */ -| CastExpr CASTABLE AS SingleType +| CastExpr T_CASTABLE T_AS SingleType { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new CastableAs($1, $4), @$, parseInfo); } CastExpr: UnaryExpr /* [57] */ -| UnaryExpr CAST AS SingleType +| UnaryExpr T_CAST T_AS SingleType { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new CastAs($1, $4), @$, parseInfo); @@ -3114,11 +3114,11 @@ UnaryExpr: ValueExpr $$ = create(new UnaryExpression($1, $2, parseInfo->staticContext), @$, parseInfo); } -UnaryOperator: PLUS /* [X] */ +UnaryOperator: T_PLUS /* [X] */ { $$ = AtomicMathematician::Add; } -| MINUS +| T_MINUS { $$ = AtomicMathematician::Substract; } @@ -3133,33 +3133,33 @@ GeneralComp: RangeExpr GeneralComparisonOperator RangeExpr $$ = create(new GeneralComparison($1, $2, $3, parseInfo->isBackwardsCompat.top()), @$, parseInfo); } -GeneralComparisonOperator: G_EQ {$$ = AtomicComparator::OperatorEqual;} /* [X] */ -| G_NE {$$ = AtomicComparator::OperatorNotEqual;} -| G_GE {$$ = AtomicComparator::OperatorGreaterOrEqual;} -| G_GT {$$ = AtomicComparator::OperatorGreaterThan;} -| G_LE {$$ = AtomicComparator::OperatorLessOrEqual;} -| G_LT {$$ = AtomicComparator::OperatorLessThan;} +GeneralComparisonOperator: T_G_EQ {$$ = AtomicComparator::OperatorEqual;} /* [X] */ +| T_G_NE {$$ = AtomicComparator::OperatorNotEqual;} +| T_G_GE {$$ = AtomicComparator::OperatorGreaterOrEqual;} +| T_G_GT {$$ = AtomicComparator::OperatorGreaterThan;} +| T_G_LE {$$ = AtomicComparator::OperatorLessOrEqual;} +| T_G_LT {$$ = AtomicComparator::OperatorLessThan;} ValueComp: RangeExpr ValueComparisonOperator RangeExpr /* [61] */ { $$ = create(new ValueComparison($1, $2, $3), @$, parseInfo); } -ValueComparisonOperator: EQ {$$ = AtomicComparator::OperatorEqual;} -| NE {$$ = AtomicComparator::OperatorNotEqual;} -| GE {$$ = AtomicComparator::OperatorGreaterOrEqual;} -| GT {$$ = AtomicComparator::OperatorGreaterThan;} -| LE {$$ = AtomicComparator::OperatorLessOrEqual;} -| LT {$$ = AtomicComparator::OperatorLessThan;} +ValueComparisonOperator: T_EQ {$$ = AtomicComparator::OperatorEqual;} +| T_NE {$$ = AtomicComparator::OperatorNotEqual;} +| T_GE {$$ = AtomicComparator::OperatorGreaterOrEqual;} +| T_GT {$$ = AtomicComparator::OperatorGreaterThan;} +| T_LE {$$ = AtomicComparator::OperatorLessOrEqual;} +| T_LT {$$ = AtomicComparator::OperatorLessThan;} NodeComp: RangeExpr NodeOperator RangeExpr /* [62] */ { $$ = create(new NodeComparison($1, $2, $3), @$, parseInfo); } -NodeOperator: IS {$$ = QXmlNodeModelIndex::Is;} /* [X] */ -| PRECEDES {$$ = QXmlNodeModelIndex::Precedes;} -| FOLLOWS {$$ = QXmlNodeModelIndex::Follows;} +NodeOperator: T_IS {$$ = QXmlNodeModelIndex::Is;} /* [X] */ +| T_PRECEDES {$$ = QXmlNodeModelIndex::Precedes;} +| T_FOLLOWS {$$ = QXmlNodeModelIndex::Follows;} ValidateExpr: ValidationMode EnclosedExpr /* [63] */ { @@ -3175,9 +3175,9 @@ ValidateExpr: ValidationMode EnclosedExpr /* "A validate expression may optionally specify a validation mode. The default validation mode is strict." */ -ValidationMode: VALIDATE {$$ = Validate::Strict;} /* [64] */ -| VALIDATE STRICT {$$ = Validate::Strict;} -| VALIDATE LAX {$$ = Validate::Lax;} +ValidationMode: T_VALIDATE {$$ = Validate::Strict;} /* [64] */ +| T_VALIDATE T_STRICT {$$ = Validate::Strict;} +| T_VALIDATE T_LAX {$$ = Validate::Lax;} ExtensionExpr: Pragmas EnclosedOptionalExpr /* [65] */ { @@ -3196,11 +3196,11 @@ ExtensionExpr: Pragmas EnclosedOptionalExpr } } -EnclosedOptionalExpr: CURLY_LBRACE /* empty */ CURLY_RBRACE /* [X] */ +EnclosedOptionalExpr: T_CURLY_LBRACE /* empty */ T_CURLY_RBRACE /* [X] */ { $$.reset(); } -| CURLY_LBRACE Expr CURLY_RBRACE +| T_CURLY_LBRACE Expr T_CURLY_RBRACE { $$ = $2; } @@ -3208,7 +3208,7 @@ EnclosedOptionalExpr: CURLY_LBRACE /* empty */ CURLY_RBRACE Pragmas: Pragmas Pragma /* [X] */ | Pragma -Pragma: PRAGMA_START PragmaName PragmaContents PRAGMA_END /* [66] */ +Pragma: T_PRAGMA_START PragmaName PragmaContents T_PRAGMA_END /* [66] */ { allowedIn(QXmlQuery::XQuery10, parseInfo, @$); } @@ -3216,17 +3216,17 @@ Pragma: PRAGMA_START PragmaName PragmaContents PRAGMA_END PragmaContents: /* empty */ /* [67] */ | StringLiteral -PathExpr: SLASH RelativePathExpr /* [68] */ +PathExpr: T_SLASH RelativePathExpr /* [68] */ { /* This is "/step". That is, fn:root(self::node()) treat as document-node()/RelativePathExpr. */ $$ = create(new Path(createRootExpression(parseInfo, @$), $2), @$, parseInfo); } -| SLASHSLASH RelativePathExpr +| T_SLASHSLASH RelativePathExpr { $$ = createSlashSlashPath(createRootExpression(parseInfo, @$), $2, @$, parseInfo); } -| SLASH +| T_SLASH { /* This is "/". That is, fn:root(self::node()) treat as document-node(). */ $$ = createRootExpression(parseInfo, @$); @@ -3240,7 +3240,7 @@ RelativePathExpr: StepExpr { $$ = create(new Path($1, $3, $2), @$, parseInfo); } -| RelativePathExpr MapOrSlash SORT MandatoryOrderByClause RETURN StepExpr END_SORT +| RelativePathExpr MapOrSlash T_SORT MandatoryOrderByClause T_RETURN StepExpr T_END_SORT { const Expression::Ptr orderBy(createReturnOrderBy($4, $6, parseInfo->orderStability.pop(), @$, parseInfo)); @@ -3249,7 +3249,7 @@ RelativePathExpr: StepExpr $$ = create(new OrderBy(rob->stability(), rob->orderSpecs(), path, rob), @$, parseInfo); } -| RelativePathExpr SLASHSLASH StepExpr +| RelativePathExpr T_SLASHSLASH StepExpr { $$ = createSlashSlashPath($1, $3, @$, parseInfo); } @@ -3259,11 +3259,11 @@ StepExpr: FilteredAxisStep $$ = NodeSortExpression::wrapAround($1, parseInfo->staticContext); } | FilterExpr -| CURRENT EnclosedExpr +| T_CURRENT EnclosedExpr { $$ = create(new CurrentItemStore($2), @$, parseInfo); } -| XSLT_VERSION +| T_XSLT_VERSION { const xsDouble version = $1.toDouble(); @@ -3278,14 +3278,14 @@ StepExpr: FilteredAxisStep else $$ = $3; } -| BASEURI StringLiteral CURLY_LBRACE Expr CURLY_RBRACE /* [X] */ +| T_BASEURI StringLiteral T_CURLY_LBRACE Expr T_CURLY_RBRACE /* [X] */ { allowedIn(QXmlQuery::XSLT20, parseInfo, @$); Q_ASSERT(!$2.isEmpty()); $$ = create(new StaticBaseURIStore($2, $4), @$, parseInfo); } -| DECLARE NAMESPACE NCNAME G_EQ STRING_LITERAL CURLY_LBRACE /* [X] */ +| T_DECLARE T_NAMESPACE T_NCNAME T_G_EQ T_STRING_LITERAL T_CURLY_LBRACE /* [X] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XSLT20), parseInfo, @$); parseInfo->resolvers.push(parseInfo->staticContext->namespaceBindings()); @@ -3296,12 +3296,12 @@ StepExpr: FilteredAxisStep parseInfo->staticContext->setNamespaceBindings(resolver); } Expr - CURLY_RBRACE + T_CURLY_RBRACE { parseInfo->staticContext->setNamespaceBindings(parseInfo->resolvers.pop()); $$ = $8; } -| CALL_TEMPLATE ElementName LPAREN TemplateWithParameters RPAREN +| T_CALL_TEMPLATE ElementName T_LPAREN TemplateWithParameters T_RPAREN { $$ = create(new CallTemplate($2, parseInfo->templateWithParams), @$, parseInfo); parseInfo->templateWithParametersHandled(); @@ -3323,18 +3323,18 @@ TemplateParameters: /* Empty. */ | TemplateParameter { } -| TemplateParameters COMMA TemplateParameter +| TemplateParameters T_COMMA TemplateParameter { } OptionalTemplateParameters: /* Empty. */ /* [X] */ { } -| LPAREN TemplateParameters RPAREN +| T_LPAREN TemplateParameters T_RPAREN { } -TemplateParameter: IsTunnel DOLLAR VarName TypeDeclaration OptionalAssign +TemplateParameter: IsTunnel T_DOLLAR VarName TypeDeclaration OptionalAssign { /* Note, this grammar rule is invoked for @c xsl:param @em and @c * xsl:with-param. */ @@ -3403,7 +3403,7 @@ IsTunnel: /* Empty. */ { $$ = false; } -| TUNNEL +| T_TUNNEL { $$ = true; } @@ -3412,7 +3412,7 @@ OptionalAssign: /* Empty. */ { $$ = Expression::Ptr(); } -| ASSIGN ExprSingle +| T_ASSIGN ExprSingle { $$ = $2; } @@ -3421,21 +3421,21 @@ OptionalAssign: /* Empty. */ * Controls whethers a path expression should sort its result. Used for * implementing XSL-T's for-each. */ -MapOrSlash: SLASH /* [X] */ +MapOrSlash: T_SLASH /* [X] */ { $$ = Path::RegularPath; } -| MAP +| T_MAP { $$ = Path::XSLTForEach; } -| FOR_APPLY_TEMPLATE +| T_FOR_APPLY_TEMPLATE { $$ = Path::ForApplyTemplate; } FilteredAxisStep: AxisStep /* [X] */ -| FilteredAxisStep LBRACKET Expr RBRACKET +| FilteredAxisStep T_LBRACKET Expr T_RBRACKET { $$ = create(GenericPredicate::create($1, $3, parseInfo->staticContext, fromYYLTYPE(@$, parseInfo)), @$, parseInfo); } @@ -3478,7 +3478,7 @@ ForwardStep: Axis NodeTestInAxisStep: NodeTest | AnyAttributeTest -Axis: AxisToken COLONCOLON /* [73] */ +Axis: AxisToken T_COLONCOLON /* [73] */ { if($1 == QXmlNodeModelIndex::AxisNamespace) { @@ -3522,20 +3522,20 @@ Axis: AxisToken COLONCOLON } } -AxisToken: ANCESTOR_OR_SELF {$$ = QXmlNodeModelIndex::AxisAncestorOrSelf ;} -| ANCESTOR {$$ = QXmlNodeModelIndex::AxisAncestor ;} -| ATTRIBUTE {$$ = QXmlNodeModelIndex::AxisAttribute ;} -| CHILD {$$ = QXmlNodeModelIndex::AxisChild ;} -| DESCENDANT_OR_SELF {$$ = QXmlNodeModelIndex::AxisDescendantOrSelf;} -| DESCENDANT {$$ = QXmlNodeModelIndex::AxisDescendant ;} -| FOLLOWING {$$ = QXmlNodeModelIndex::AxisFollowing ;} -| PRECEDING {$$ = QXmlNodeModelIndex::AxisPreceding ;} -| FOLLOWING_SIBLING {$$ = QXmlNodeModelIndex::AxisFollowingSibling;} -| PRECEDING_SIBLING {$$ = QXmlNodeModelIndex::AxisPrecedingSibling;} -| PARENT {$$ = QXmlNodeModelIndex::AxisParent ;} -| SELF {$$ = QXmlNodeModelIndex::AxisSelf ;} - -AbbrevForwardStep: AT_SIGN +AxisToken: T_ANCESTOR_OR_SELF {$$ = QXmlNodeModelIndex::AxisAncestorOrSelf ;} +| T_ANCESTOR {$$ = QXmlNodeModelIndex::AxisAncestor ;} +| T_ATTRIBUTE {$$ = QXmlNodeModelIndex::AxisAttribute ;} +| T_CHILD {$$ = QXmlNodeModelIndex::AxisChild ;} +| T_DESCENDANT_OR_SELF {$$ = QXmlNodeModelIndex::AxisDescendantOrSelf;} +| T_DESCENDANT {$$ = QXmlNodeModelIndex::AxisDescendant ;} +| T_FOLLOWING {$$ = QXmlNodeModelIndex::AxisFollowing ;} +| T_PRECEDING {$$ = QXmlNodeModelIndex::AxisPreceding ;} +| T_FOLLOWING_SIBLING {$$ = QXmlNodeModelIndex::AxisFollowingSibling;} +| T_PRECEDING_SIBLING {$$ = QXmlNodeModelIndex::AxisPrecedingSibling;} +| T_PARENT {$$ = QXmlNodeModelIndex::AxisParent ;} +| T_SELF {$$ = QXmlNodeModelIndex::AxisSelf ;} + +AbbrevForwardStep: T_AT_SIGN { parseInfo->nodeTestSource = BuiltinTypes::attribute; } @@ -3564,7 +3564,7 @@ AbbrevForwardStep: AT_SIGN ReverseStep: AbbrevReverseStep /* [75] */ -AbbrevReverseStep: DOTDOT /* [77] */ +AbbrevReverseStep: T_DOTDOT /* [77] */ { $$ = create(new AxisStep(QXmlNodeModelIndex::AxisParent, BuiltinTypes::node), @$, parseInfo); } @@ -3581,11 +3581,11 @@ NameTest: ElementName } | WildCard -WildCard: STAR /* [80] */ +WildCard: T_STAR /* [80] */ { $$ = parseInfo->nodeTestSource; } -| ANY_LOCAL_NAME +| T_ANY_LOCAL_NAME { const NamePool::Ptr np(parseInfo->staticContext->namePool()); const ReflectYYLTYPE ryy(@$, parseInfo); @@ -3594,7 +3594,7 @@ WildCard: STAR $$ = NamespaceNameTest::create(parseInfo->nodeTestSource, ns); } -| ANY_PREFIX +| T_ANY_PREFIX { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); const QXmlName::LocalNameCode c = parseInfo->staticContext->namePool()->allocateLocalName($1); @@ -3602,7 +3602,7 @@ WildCard: STAR } FilterExpr: PrimaryExpr /* [81] */ -| FilterExpr LBRACKET Expr RBRACKET +| FilterExpr T_LBRACKET Expr T_RBRACKET { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(GenericPredicate::create($1, $3, parseInfo->staticContext, fromYYLTYPE(@4, parseInfo)), @$, parseInfo); @@ -3615,7 +3615,7 @@ PrimaryExpr: Literal | FunctionCallExpr | OrderingExpr | Constructor -| APPLY_TEMPLATE OptionalMode LPAREN TemplateWithParameters RPAREN +| T_APPLY_TEMPLATE OptionalMode T_LPAREN TemplateWithParameters T_RPAREN { $$ = create(new ApplyTemplate(parseInfo->modeFor($2), parseInfo->templateWithParams, @@ -3631,24 +3631,24 @@ Literal: NumericLiteral $$ = create(new Literal(AtomicString::fromValue($1)), @$, parseInfo); } -NumericLiteral: XPATH2_NUMBER /* [86] */ +NumericLiteral: T_XPATH2_NUMBER /* [86] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = createNumericLiteral<Double>($1, @$, parseInfo); } -| NUMBER +| T_NUMBER { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = createNumericLiteral<Numeric>($1, @$, parseInfo); } -VarRef: DOLLAR VarName /* [87] */ +VarRef: T_DOLLAR VarName /* [87] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = resolveVariable($2, @$, parseInfo, false); } -VarName: NCNAME /* [88] */ +VarName: T_NCNAME /* [88] */ { /* See: http://www.w3.org/TR/xpath20/#id-variables */ $$ = parseInfo->staticContext->namePool()->allocateQName(QString(), $1); @@ -3658,18 +3658,18 @@ VarName: NCNAME $$ = $1; } -ParenthesizedExpr: LPAREN Expr RPAREN /* [89] */ +ParenthesizedExpr: T_LPAREN Expr T_RPAREN /* [89] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = $2; } -| LPAREN RPAREN +| T_LPAREN T_RPAREN { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); $$ = create(new EmptySequence, @$, parseInfo); } -ContextItemExpr: DOT /* [90] */ +ContextItemExpr: T_DOT /* [90] */ { $$ = create(new ContextItem(), @$, parseInfo); } @@ -3679,7 +3679,7 @@ OrderingExpr: OrderingMode EnclosedExpr $$ = $2; } -FunctionCallExpr: FunctionName LPAREN FunctionArguments RPAREN /* [93] */ +FunctionCallExpr: FunctionName T_LPAREN FunctionArguments T_RPAREN /* [93] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); if(XPathHelper::isReservedNamespace($1.namespaceURI()) || $1.namespaceURI() == StandardNamespaces::InternalXSLT) @@ -3765,7 +3765,7 @@ DirectConstructor: DirElemConstructor * * @see XQueryTokenizer::attributeAsRaw() */ -DirElemConstructor: G_LT +DirElemConstructor: T_G_LT LexicalName { $<enums.tokenizerPosition>$ = parseInfo->tokenizer->commenceScanOnly(); @@ -3919,7 +3919,7 @@ DirElemConstructor: G_LT parseInfo->tokenizer->resumeTokenizationFrom($<enums.tokenizerPosition>3); } - POSITION_SET + T_POSITION_SET DirAttributeList DirElemConstructorTail /* [96] */ { @@ -4017,11 +4017,11 @@ DirElemConstructor: G_LT --parseInfo->elementConstructorDepth; } -DirElemConstructorTail: QUICK_TAG_END +DirElemConstructorTail: T_QUICK_TAG_END { $$ = create(new EmptySequence(), @$, parseInfo); } -| G_GT DirElemContent BEGIN_END_TAG ElementName G_GT +| T_G_GT DirElemContent T_BEGIN_END_TAG ElementName T_G_GT { if(!$4.isLexicallyEqual(parseInfo->tagStack.top())) { @@ -4050,17 +4050,17 @@ DirAttributeList: /* empty */ $$ = $1; } -Attribute: LexicalName G_EQ DirAttributeValue /* [X] */ +Attribute: LexicalName T_G_EQ DirAttributeValue /* [X] */ { $$ = qMakePair($1, $3); } -DirAttributeValue: QUOTE AttrValueContent QUOTE /* [98] */ +DirAttributeValue: T_QUOTE AttrValueContent T_QUOTE /* [98] */ { $$ = createDirAttributeValue($2, parseInfo, @$); } -| APOS AttrValueContent APOS +| T_APOS AttrValueContent T_APOS { $$ = createDirAttributeValue($2, parseInfo, @$); } @@ -4110,7 +4110,7 @@ DirElemContent: /* empty */ parseInfo->isPreviousEnclosedExpr = false; } } -| DirElemContent NON_BOUNDARY_WS +| DirElemContent T_NON_BOUNDARY_WS { $1.append(create(new TextNodeConstructor(create(new Literal(AtomicString::fromValue($2)), @$, parseInfo)), @$, parseInfo)); $$ = $1; @@ -4133,12 +4133,12 @@ DirElemContent: /* empty */ $$ = $1; } -DirCommentConstructor: COMMENT_START COMMENT_CONTENT /* [103] */ +DirCommentConstructor: T_COMMENT_START T_COMMENT_CONTENT /* [103] */ { $$ = create(new CommentConstructor(create(new Literal(AtomicString::fromValue($2)), @$, parseInfo)), @$, parseInfo); } -DirPIConstructor: PI_START PI_TARGET PI_CONTENT /* [105] */ +DirPIConstructor: T_PI_START T_PI_TARGET T_PI_CONTENT /* [105] */ { const ReflectYYLTYPE ryy(@$, parseInfo); NCNameConstructor::validateTargetName<StaticContext::Ptr, @@ -4159,14 +4159,14 @@ ComputedConstructor: CompDocConstructor | CompPIConstructor | CompNamespaceConstructor -CompDocConstructor: DOCUMENT IsInternal EnclosedExpr /* [110] */ +CompDocConstructor: T_DOCUMENT IsInternal EnclosedExpr /* [110] */ { allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2); $$ = create(new DocumentConstructor($3), @$, parseInfo); } -CompElemConstructor: ELEMENT IsInternal CompElementName +CompElemConstructor: T_ELEMENT IsInternal CompElementName { /* This value is incremented before the action below is executed. */ ++parseInfo->elementConstructorDepth; @@ -4209,12 +4209,12 @@ IsInternal: /* Empty. */ { $$ = false; } -| INTERNAL +| T_INTERNAL { $$ = true; } -CompAttrConstructor: ATTRIBUTE +CompAttrConstructor: T_ATTRIBUTE IsInternal CompAttributeName EnclosedOptionalExpr /* [113] */ @@ -4229,19 +4229,19 @@ CompAttrConstructor: ATTRIBUTE $$ = create(new AttributeConstructor(name, create(new EmptySequence(), @$, parseInfo)), @$, parseInfo); } -CompTextConstructor: TEXT IsInternal EnclosedExpr /* [114] */ +CompTextConstructor: T_TEXT IsInternal EnclosedExpr /* [114] */ { $$ = create(new TextNodeConstructor(createSimpleContent($3, @$, parseInfo)), @$, parseInfo); } -CompCommentConstructor: COMMENT IsInternal EnclosedExpr /* [115] */ +CompCommentConstructor: T_COMMENT IsInternal EnclosedExpr /* [115] */ { allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2); $$ = create(new CommentConstructor(createSimpleContent($3, @$, parseInfo)), @$, parseInfo); } -CompPIConstructor: PROCESSING_INSTRUCTION CompPIName EnclosedOptionalExpr /* [116] */ +CompPIConstructor: T_PROCESSING_INSTRUCTION CompPIName EnclosedOptionalExpr /* [116] */ { allowedIn(QXmlQuery::XQuery10, parseInfo, @$, $2); @@ -4286,7 +4286,7 @@ CompNameExpr: EnclosedExpr /* * We always create an NCNameConstructor here. If will be rewritten away if not needed. */ -CompPIName: NCNAME +CompPIName: T_NCNAME { $$ = create(new NCNameConstructor(create(new Literal(AtomicString::fromValue($1)), @$, parseInfo)), @$, parseInfo); } @@ -4299,7 +4299,7 @@ CompPIName: NCNAME * This expression is used for implementing XSL-T 2.0's xsl:namespace * instruction. */ -CompNamespaceConstructor: NAMESPACE EnclosedExpr EnclosedExpr /* [X] */ +CompNamespaceConstructor: T_NAMESPACE EnclosedExpr EnclosedExpr /* [X] */ { $$ = create(new ComputedNamespaceConstructor($2, $3), @$, parseInfo); } @@ -4308,7 +4308,7 @@ SingleType: AtomicType { $$ = makeGenericSequenceType($1, Cardinality::exactlyOne()); } -| AtomicType QUESTION +| AtomicType T_QUESTION { $$ = makeGenericSequenceType($1, Cardinality::zeroOrOne()); } @@ -4317,7 +4317,7 @@ TypeDeclaration: /* empty */ { $$ = CommonSequenceTypes::ZeroOrMoreItems; } -| AS SequenceType +| T_AS SequenceType { $$ = $2; } @@ -4327,20 +4327,20 @@ SequenceType: ItemType OccurrenceIndicator $$ = makeGenericSequenceType($1, $2); } -| EMPTY_SEQUENCE EmptyParanteses +| T_EMPTY_SEQUENCE EmptyParanteses { $$ = CommonSequenceTypes::Empty; } OccurrenceIndicator: /* empty */ {$$ = Cardinality::exactlyOne();} /* [120] */ -| PLUS {$$ = Cardinality::oneOrMore();} -| STAR {$$ = Cardinality::zeroOrMore();} -| QUESTION {$$ = Cardinality::zeroOrOne();} +| T_PLUS {$$ = Cardinality::oneOrMore();} +| T_STAR {$$ = Cardinality::zeroOrMore();} +| T_QUESTION {$$ = Cardinality::zeroOrOne();} ItemType: AtomicType /* [121] */ | KindTest | AnyAttributeTest -| ITEM EmptyParanteses +| T_ITEM EmptyParanteses { $$ = BuiltinTypes::item; } @@ -4389,17 +4389,17 @@ KindTest: DocumentTest | TextTest | AnyKindTest -AnyKindTest: NODE EmptyParanteses /* [124] */ +AnyKindTest: T_NODE EmptyParanteses /* [124] */ { $$ = BuiltinTypes::node; } -DocumentTest: DOCUMENT_NODE EmptyParanteses /* [125] */ +DocumentTest: T_DOCUMENT_NODE EmptyParanteses /* [125] */ { $$ = BuiltinTypes::document; } -| DOCUMENT_NODE LPAREN AnyElementTest RPAREN +| T_DOCUMENT_NODE T_LPAREN AnyElementTest T_RPAREN { // TODO support for document element testing $$ = BuiltinTypes::document; @@ -4408,27 +4408,27 @@ DocumentTest: DOCUMENT_NODE EmptyParanteses AnyElementTest: ElementTest /* [X] */ | SchemaElementTest -TextTest: TEXT EmptyParanteses /* [126] */ +TextTest: T_TEXT EmptyParanteses /* [126] */ { $$ = BuiltinTypes::text; } -CommentTest: COMMENT EmptyParanteses /* [127] */ +CommentTest: T_COMMENT EmptyParanteses /* [127] */ { $$ = BuiltinTypes::comment; } -PITest: PROCESSING_INSTRUCTION EmptyParanteses /* [128] */ +PITest: T_PROCESSING_INSTRUCTION EmptyParanteses /* [128] */ { $$ = BuiltinTypes::pi; } -| PROCESSING_INSTRUCTION LPAREN NCNAME RPAREN +| T_PROCESSING_INSTRUCTION T_LPAREN T_NCNAME T_RPAREN { $$ = LocalNameTest::create(BuiltinTypes::pi, parseInfo->staticContext->namePool()->allocateLocalName($3)); } -| PROCESSING_INSTRUCTION LPAREN StringLiteral RPAREN +| T_PROCESSING_INSTRUCTION T_LPAREN StringLiteral T_RPAREN { if(QXmlUtils::isNCName($3)) { @@ -4447,21 +4447,21 @@ PITest: PROCESSING_INSTRUCTION EmptyParanteses AnyAttributeTest: AttributeTest | SchemaAttributeTest -AttributeTest: ATTRIBUTE EmptyParanteses /* [129] */ +AttributeTest: T_ATTRIBUTE EmptyParanteses /* [129] */ { $$ = BuiltinTypes::attribute; } -| ATTRIBUTE LPAREN STAR RPAREN +| T_ATTRIBUTE T_LPAREN T_STAR T_RPAREN { $$ = BuiltinTypes::attribute; } -| ATTRIBUTE LPAREN AttributeName RPAREN +| T_ATTRIBUTE T_LPAREN AttributeName T_RPAREN { $$ = QNameTest::create(BuiltinTypes::attribute, $3); } -| ATTRIBUTE LPAREN AttributeName COMMA TypeName RPAREN +| T_ATTRIBUTE T_LPAREN AttributeName T_COMMA TypeName T_RPAREN { const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType($5)); @@ -4473,7 +4473,7 @@ AttributeTest: ATTRIBUTE EmptyParanteses ReportContext::XPST0008, fromYYLTYPE(@$, parseInfo)); } } -| ATTRIBUTE LPAREN STAR COMMA TypeName RPAREN +| T_ATTRIBUTE T_LPAREN T_STAR T_COMMA TypeName T_RPAREN { const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType($5)); @@ -4486,7 +4486,7 @@ AttributeTest: ATTRIBUTE EmptyParanteses } } -SchemaAttributeTest: SCHEMA_ATTRIBUTE LPAREN ElementName RPAREN /* [131] */ +SchemaAttributeTest: T_SCHEMA_ATTRIBUTE T_LPAREN ElementName T_RPAREN /* [131] */ { parseInfo->staticContext->error(QtXmlPatterns::tr("%1 is not in the in-scope attribute " "declarations. Note that the schema import " @@ -4496,22 +4496,22 @@ SchemaAttributeTest: SCHEMA_ATTRIBUTE LPAREN ElementName RPAREN $$.reset(); } -ElementTest: ELEMENT EmptyParanteses /* [133] */ +ElementTest: T_ELEMENT EmptyParanteses /* [133] */ { $$ = BuiltinTypes::element; } -| ELEMENT LPAREN STAR RPAREN +| T_ELEMENT T_LPAREN T_STAR T_RPAREN { $$ = BuiltinTypes::element; } -| ELEMENT LPAREN ElementName RPAREN +| T_ELEMENT T_LPAREN ElementName T_RPAREN { $$ = QNameTest::create(BuiltinTypes::element, $3); } -| ELEMENT LPAREN ElementName COMMA TypeName OptionalQuestionMark RPAREN +| T_ELEMENT T_LPAREN ElementName T_COMMA TypeName OptionalQuestionMark T_RPAREN { const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType($5)); @@ -4525,7 +4525,7 @@ ElementTest: ELEMENT EmptyParanteses } } -| ELEMENT LPAREN STAR COMMA TypeName OptionalQuestionMark RPAREN +| T_ELEMENT T_LPAREN T_STAR T_COMMA TypeName OptionalQuestionMark T_RPAREN { const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType($5)); @@ -4540,9 +4540,9 @@ ElementTest: ELEMENT EmptyParanteses } OptionalQuestionMark: /* Empty. */ -| QUESTION +| T_QUESTION -SchemaElementTest: SCHEMA_ELEMENT LPAREN ElementName RPAREN /* [135] */ +SchemaElementTest: T_SCHEMA_ELEMENT T_LPAREN ElementName T_RPAREN /* [135] */ { parseInfo->staticContext->error(QtXmlPatterns::tr("%1 is not in the in-scope attribute " "declarations. Note that the schema import " @@ -4552,9 +4552,9 @@ SchemaElementTest: SCHEMA_ELEMENT LPAREN ElementName RPAREN $$.reset(); } -EmptyParanteses: LPAREN RPAREN /* [X] */ +EmptyParanteses: T_LPAREN T_RPAREN /* [X] */ -AttributeName: NCNAME /* [137] */ +AttributeName: T_NCNAME /* [137] */ { $$ = parseInfo->staticContext->namePool()->allocateQName(StandardNamespaces::empty, $1); } @@ -4566,7 +4566,7 @@ AttributeName: NCNAME * depending on where the QName occurs. These two rules, invoked in the appropriate * contexts, performs this distinction. */ -ElementName: NCNAME /* [138] */ +ElementName: T_NCNAME /* [138] */ { if(parseInfo->nodeTestSource == BuiltinTypes::element) $$ = parseInfo->staticContext->namePool()->allocateQName(parseInfo->staticContext->namespaceBindings()->lookupNamespaceURI(StandardPrefixes::empty), $1); @@ -4580,19 +4580,19 @@ TypeName: ElementName FunctionName: NCName /* [X] */ | QName -NCName: NCNAME +NCName: T_NCNAME { $$ = parseInfo->staticContext->namePool()->allocateQName(parseInfo->staticContext->defaultFunctionNamespace(), $1); } -| INTERNAL_NAME NCNAME +| T_INTERNAL_NAME T_NCNAME { $$ = parseInfo->staticContext->namePool()->allocateQName(StandardNamespaces::InternalXSLT, $2); } -LexicalName: NCNAME -| QNAME +LexicalName: T_NCNAME +| T_QNAME -PragmaName: NCNAME /* [X] */ +PragmaName: T_NCNAME /* [X] */ { parseInfo->staticContext->error(QtXmlPatterns::tr("The name of an extension expression must be in " "a namespace."), @@ -4602,16 +4602,16 @@ PragmaName: NCNAME URILiteral: StringLiteral /* [140] */ -StringLiteral: STRING_LITERAL /* [144] */ +StringLiteral: T_STRING_LITERAL /* [144] */ { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); } -| XPATH2_STRING_LITERAL +| T_XPATH2_STRING_LITERAL { allowedIn(QueryLanguages(QXmlQuery::XQuery10 | QXmlQuery::XPath20), parseInfo, @$); } -QName: QNAME /* [154] */ +QName: T_QNAME /* [154] */ { const ReflectYYLTYPE ryy(@$, parseInfo); @@ -4623,7 +4623,7 @@ QName: QNAME /* [154] */ parseInfo->staticContext->namespaceBindings(), &ryy); } -| CLARK_NAME +| T_CLARK_NAME { $$ = parseInfo->staticContext->namePool()->fromClarkName($1); } @@ -4634,15 +4634,15 @@ QString Tokenizer::tokenToString(const Token &token) { switch(token.type) { - case NCNAME: + case T_NCNAME: /* Fallthrough. */ - case QNAME: + case T_QNAME: /* Fallthrough. */ - case NUMBER: + case T_NUMBER: /* Fallthrough. */ - case XPATH2_NUMBER: + case T_XPATH2_NUMBER: return token.value; - case STRING_LITERAL: + case T_STRING_LITERAL: return QLatin1Char('"') + token.value + QLatin1Char('"'); default: { |