| /* |
| * Copyright 2005 Sascha Weinreuter |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.intellij.lang.xpath; |
| |
| import com.intellij.psi.tree.IElementType; |
| import com.intellij.psi.tree.TokenSet; |
| |
| public final class XPath2TokenTypes { |
| public static final IElementType COMMENT = new XPathElementType("COMMENT"); |
| public static final IElementType END_COMMENT = new XPathElementType("END_COMMENT"); |
| |
| public static final IElementType SOME = new XPathElementType("SOME"); |
| public static final IElementType EVERY = new XPathElementType("EVERY"); |
| public static final TokenSet QUANTIFIERS = TokenSet.create(SOME, EVERY); |
| |
| public static final IElementType IF = new XPathElementType("IF"); |
| public static final IElementType THEN = new XPathElementType("THEN"); |
| public static final IElementType ELSE = new XPathElementType("ELSE"); |
| |
| public static final IElementType FOR = new XPathElementType("FOR"); |
| public static final IElementType RETURN = new XPathElementType("RETURN"); |
| public static final IElementType IN = new XPathElementType("IN"); |
| public static final IElementType SATISFIES = new XPathElementType("SATISFIES"); |
| public static final IElementType TO = new XPathElementType("TO"); |
| |
| public static final IElementType IS = new XPathElementType("IS"); |
| |
| public static final IElementType BEFORE = new XPathElementType("BEFORE"); |
| public static final IElementType AFTER = new XPathElementType("AFTER"); |
| |
| |
| public static final IElementType IDIV = new XPathElementType("IDIV"); |
| public static final IElementType UNION = new XPathElementType("UNION"); |
| public static final IElementType QUEST = new XPathElementType("QUEST"); |
| |
| public static final IElementType INTERSECT = new XPathElementType("INTERSECT"); |
| public static final IElementType EXCEPT = new XPathElementType("EXCEPT"); |
| public static final TokenSet INTERSECT_EXCEPT = TokenSet.create(INTERSECT, EXCEPT); |
| |
| public static final IElementType INSTANCE = new XPathElementType("INSTANCE"); |
| public static final IElementType OF = new XPathElementType("OF"); |
| public static final IElementType TREAT = new XPathElementType("TREAT"); |
| public static final IElementType AS = new XPathElementType("AS"); |
| public static final IElementType CAST = new XPathElementType("CAST"); |
| public static final IElementType CASTABLE = new XPathElementType("CASTABLE"); |
| |
| public static final IElementType ITEM = new XPathElementType("ITEM"); |
| public static final IElementType EMPTY_SEQUENCE = new XPathElementType("EMPTY_SEQUENCE"); |
| |
| public static final IElementType WEQ = new XPathElementType("WEQ"); // = |
| public static final IElementType WLE = new XPathElementType("WLE"); // <= |
| public static final IElementType WLT = new XPathElementType("WLT"); // < |
| public static final IElementType WGT = new XPathElementType("WGT"); // > |
| public static final IElementType WGE = new XPathElementType("WGE"); // >= |
| public static final IElementType WNE = new XPathElementType("WNE"); // != |
| private static final TokenSet WORD_COMP_OPS = TokenSet.create(WEQ, WLE, WLT, WGT, WGE, WNE); |
| |
| public static final TokenSet NODE_COMP_OPS = TokenSet.create(IS, BEFORE, AFTER); |
| public static final TokenSet COMP_OPS = TokenSet.orSet(XPathTokenTypes.REL_OPS, XPathTokenTypes.EQUALITY_OPS, WORD_COMP_OPS, NODE_COMP_OPS); |
| public static final TokenSet MULT_OPS = TokenSet.orSet(XPathTokenTypes.MUL_OPS, TokenSet.create(IDIV)); |
| public static final TokenSet UNION_OPS = TokenSet.create(XPathTokenTypes.UNION, UNION); |
| public static final TokenSet OCCURRENCE_OPS = TokenSet.create(XPathTokenTypes.PLUS, XPathTokenTypes.STAR, QUEST); |
| |
| public static final TokenSet BOOLEAN_OPERATIONS = TokenSet.orSet(XPathTokenTypes.BOOLEAN_OPERATIONS, COMP_OPS); |
| public static final TokenSet NUMBER_OPERATIONS = TokenSet.orSet(XPathTokenTypes.NUMBER_OPERATIONS, TokenSet.create(IDIV)); |
| |
| |
| public static final TokenSet KEYWORDS = TokenSet.orSet( |
| WORD_COMP_OPS, |
| QUANTIFIERS, |
| INTERSECT_EXCEPT, |
| TokenSet.create(IF, THEN, ELSE, FOR, RETURN, IN, SATISFIES, TO, IDIV, UNION, IS, INSTANCE, OF, TREAT, AS, CAST, CASTABLE), |
| XPathTokenTypes.KEYWORDS); |
| |
| private XPath2TokenTypes() { |
| } |
| } |